OpendTect  6.3
posvecdataset.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H.Bril
8  Date: Jan 2005
9  Contents: Set with data vectors on positions
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "binidvalset.h"
16 #include "bufstringset.h"
17 #include "uistrings.h"
18 class DataColDef;
19 
20 
21 
30 { mODTextTranslationClass(PosVecDataSet)
31 public:
32  PosVecDataSet(const char* nm=0);
33  PosVecDataSet(const PosVecDataSet&);
34  virtual ~PosVecDataSet();
35  PosVecDataSet& operator =(const PosVecDataSet&);
36  void copyStructureFrom(const PosVecDataSet&);
37 
38  bool isEmpty() const { return data_.isEmpty(); }
39  void setEmpty();
40  int add(DataColDef*);
41  bool insert(int idx,DataColDef*);
43  void removeColumn(int);
44  enum OvwPolicy { Keep, OvwIfUdf, Ovw };
46  enum ColMatchPol { NameExact, RefExact, NameStart, RefStart };
47  void merge(const PosVecDataSet&,OvwPolicy pol=OvwIfUdf,
48  ColMatchPol cmp=NameExact);
50 
51  BinIDValueSet& data() { return data_; }
52  const BinIDValueSet& data() const { return data_; }
53 
54  int nrCols() const { return coldefs_.size(); }
55  DataColDef& colDef( int idx ) { return *coldefs_[idx]; }
56  const DataColDef& colDef( int idx ) const { return *coldefs_[idx]; }
57  int findColDef(const DataColDef&,
58  ColMatchPol p=RefExact) const;
60 
61  const char* name() const { return name_.buf(); }
62  void setName( const char* nm ) { name_ = nm; }
63 
64  IOPar& pars() { return pars_; }
65  const IOPar& pars() const { return pars_; }
66 
67  bool getFrom(const char*,BufferString& errmsg);
68  bool getFrom(const char*,uiString& errmsg);
69  bool putTo(const char*,BufferString& errmsg,
70  bool tabstyle) const;
71  bool putTo(const char*,uiString& errmsg,bool tabstyle) const;
74  static bool getColNames(const char*,BufferStringSet& bss,
75  BufferString& errmsg,bool refs=false);
76  static bool getIOPar(const char*,IOPar& iop,BufferString& errmsg);
77 
78 protected:
79 
84 
85  void mergeColDefs(const PosVecDataSet&,ColMatchPol,int*);
86  friend class DataPointSet;
87 
88 };
89 
90 #define mPosVecDataSetFileType "Positioned Vector Data"
#define mExpClass(module)
Definition: commondefs.h:157
BinIDValueSet data_
Definition: posvecdataset.h:80
ColMatchPol
Definition: posvecdataset.h:46
void setName(const char *nm)
Definition: posvecdataset.h:62
Set of data points with group selection.
Definition: datapointset.h:47
bool isEmpty() const
Definition: posvecdataset.h:38
IOPar & pars()
Definition: posvecdataset.h:64
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
const char * name() const
Definition: posvecdataset.h:61
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
ObjectSet< DataColDef > coldefs_
Definition: posvecdataset.h:81
BufferString name_
Definition: posvecdataset.h:82
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
void putTo(BufferString &) const
void getFrom(const char *)
BufferString name_
Definition: datacoldef.h:38
const char * buf() const
Definition: odstring.h:45
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BinIDValueSet & data()
Definition: posvecdataset.h:51
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
Column definition in tabular data sets.
Definition: datacoldef.h:27
const IOPar & pars() const
Definition: posvecdataset.h:65
OvwPolicy
Definition: posvecdataset.h:44
const BinIDValueSet & data() const
Definition: posvecdataset.h:52
Data set consisting of data vectors.
Definition: posvecdataset.h:29
DataColDef & colDef(int idx)
Definition: posvecdataset.h:55
IOPar & pars_
Definition: posvecdataset.h:83
const DataColDef & colDef(int idx) const
Definition: posvecdataset.h:56
int nrCols() const
Definition: posvecdataset.h:54

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017