OpendTect  6.3
emsurfaceauxdata.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: Kristofer Tingdahl
8  Date: 4-11-2002
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "typeset.h"
16 #include "bufstringset.h"
17 #include "emposid.h"
18 #include "uistring.h"
19 
20 class Executor;
21 class IOObj;
22 class BinIDValueSet;
23 
24 template <class T> class Array2D;
25 
26 namespace EM
27 {
28 
29 class Horizon3D;
30 class PosID;
31 
32 
38 { mODTextTranslationClass(SurfaceAuxData);
39 public:
40  SurfaceAuxData(Horizon3D&);
41  virtual ~SurfaceAuxData();
42  Executor* auxDataLoader(int selidx=-1);
43  Executor* auxDataLoader(const char* nm);
44  Executor* auxDataSaver(int dataidx=0,bool overwrite=false);
45 
46  void removeAll();
47  void removeSection(const SectionID&);
48 
49  int nrAuxData() const;
59  bool hasAuxDataName(const char*) const;
60  const char* auxDataName(int dataidx) const;
63  int auxDataIndex(const char*) const;
65  int addAuxData(const char* name);
69  void setAuxDataName(int dataidx,const char*);
70  void removeAuxData(int dataidx);
71  float getAuxDataVal(int dataidx,const PosID& posid) const;
72  float getAuxDataVal(int dataidx,const TrcKey&) const;
73  void setAuxDataVal(int dataidx,const PosID& posid,float val,
74  bool onlynewpos=false);
75  void setAuxDataVal(int dataidx,const TrcKey&,float val);
76 
77  enum AuxDataType { NoType=0, AutoShow, Tracking };
78  void setAuxDataType(int dataidx,AuxDataType);
79  AuxDataType getAuxDataType(int dataidx) const;
80 
81  void setAuxDataShift(int,float);
82  float auxDataShift(int) const;
83 
84  bool isChanged(int) const;
85  void resetChangedFlag();
86 
87  static bool hasAttribute(const IOObj&,const char* attrnm);
88  static BufferString getFileName(const IOObj&,const char* attrnm);
89  static BufferString getFileName(const char* fullexp,const char* attrnm);
90  static BufferString getFreeFileName(const IOObj&);
91  static bool removeFile(const IOObj&,const char* attrnm);
92  BufferString getFileName(const char* attrnm) const;
93  bool removeFile(const char* attrnm) const;
94 
95  void init(int dataidx,bool onlynewpos=false,
96  float val=mUdf(float));
99  Array2D<float>* createArray2D(int dataidx,SectionID) const;
100  void setArray2D(int dataidx,SectionID,const Array2D<float>&);
101 
102  const ObjectSet<BinIDValueSet>& getData() const { return auxdata_; }
103 
104  bool usePar( const IOPar& );
105  void fillPar( IOPar& ) const;
106 
107 protected:
109 
110  //One entry per auxdata
115  //One entry per section
117  bool changed_;
118 };
119 
120 } // namespace EM
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
Definition: ioobj.h:57
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
bool init()
BufferStringSet auxdatanames_
Definition: emsurfaceauxdata.h:111
const ObjectSet< BinIDValueSet > & getData() const
Definition: emsurfaceauxdata.h:102
BufferStringSet auxdatainfo_
Definition: emsurfaceauxdata.h:112
Set of BufferString objects.
Definition: bufstringset.h:25
Surface data.
Definition: emsurfaceauxdata.h:37
void removeAll()
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:127
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
TypeSet< float > auxdatashift_
Definition: emsurfaceauxdata.h:113
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
bool changed_
Definition: emsurfaceauxdata.h:117
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
TypeSet< AuxDataType > auxdatatypes_
Definition: emsurfaceauxdata.h:114
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
AuxDataType
Definition: emsurfaceauxdata.h:77
ObjectSet< BinIDValueSet > auxdata_
Definition: emsurfaceauxdata.h:116
Horizon3D & horizon_
Definition: emsurfaceauxdata.h:108
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:94
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

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