OpendTect-6_4  6.4
emioobjinfo.h
Go to the documentation of this file.
1 #ifndef emioobjinfo_h
2 #define emioobjinfo_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Satyaki Maitra
9  Date: April 2010
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 
17 #include "emobject.h"
18 #include "ranges.h"
19 #include "typeset.h"
20 #include "uistring.h"
21 
22 class BufferStringSet;
23 class TrcKeyZSampling;
24 class IOObj;
25 
26 namespace EM
27 {
28 
29 class dgbSurfaceReader;
30 class SurfaceIOData;
31 
36 mExpClass(EarthModel) IOObjInfo
37 { mODTextTranslationClass(IOObjInfo);
38 public:
39 
40  IOObjInfo(const IOObj*);
41  IOObjInfo(const IOObj&);
42  IOObjInfo(const MultiID&);
43  IOObjInfo(const IOObjInfo&);
44  ~IOObjInfo();
45  IOObjInfo& operator =(const IOObjInfo&);
46 
50 
51  static void getIDs(ObjectType,TypeSet<MultiID>&);
53 
54  bool isOK() const;
55  inline const IOObj* ioObj() const { return ioobj_; }
56  const char* name() const;
57  inline ObjectType type() const { return type_; }
58 
59  bool getSectionIDs(TypeSet<SectionID>&) const;
60  bool getSectionNames(BufferStringSet&) const;
61  bool getAttribNames(BufferStringSet&) const;
62  Interval<float> getZRange() const;
63  StepInterval<int> getInlRange() const;
64  StepInterval<int> getCrlRange() const;
65  IOPar* getPars() const;
66  int getParsOffsetInFile() const;
67  uiString getMessage() const;
68  const char* timeLastModified() const;
69  const char* timeLastModified(bool iso) const;
70 
71  // Surface
72  inline bool isSurface() const { return type_ != Body; }
73  bool getSurfaceData(SurfaceIOData&,uiString& err) const;
74 
75  // Horizon
76  inline bool isHorizon() const { return type_ < FaultStickSet;}
77  inline bool is2DHorizon() const { return type_ == Horizon2D; }
78  int levelID() const;
79  static void getTiedToLevelID(int lvlid,TypeSet<MultiID>&,bool is2d);
80  static bool sortHorizonsOnZValues(const TypeSet<MultiID>&,
82 
83  // 2D Horizons
84  bool getLineNames(BufferStringSet&) const;
85  bool getGeomIDs(TypeSet<Pos::GeomID>&) const;
86  bool getTrcRanges(TypeSet< StepInterval<int> >&) const;
87  bool hasGeomIDs() const;
88 
89  // Body
90  bool getBodyRange(TrcKeyZSampling&) const;
91 
92  // FaultStickSet
93  int nrSticks() const;
94 
95  // Helpful stuff
96  static ObjectType objectTypeOfIOObjGroup(const char*);
97 
98 protected:
99 
103 
104  void setType();
105 };
106 
107 } // namespace EM
108 
109 #endif
Info on IOObj for earthmodel.
Definition: emioobjinfo.h:36
#define mExpClass(module)
Definition: commondefs.h:160
Definition: ioobj.h:58
const char * timeLastModified(const char *filenm, const char *fmt=Time::defDateTimeFmt())
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Data interesting for Surface I/O.
Definition: emsurfaceiodata.h:30
dgbSurfaceReader * reader_
Definition: emioobjinfo.h:102
bool is2DHorizon() const
Definition: emioobjinfo.h:77
bool isHorizon() const
Definition: emioobjinfo.h:76
Definition: uistring.h:89
Set of BufferString objects.
Definition: bufstringset.h:28
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:258
ObjectType
Definition: emioobjinfo.h:47
2D Horizon. The Horizon is only present along 2d lines, set by addLine. Each position&#39;s subid is form...
Definition: emhorizon2d.h:108
ObjectType type_
Definition: emioobjinfo.h:100
ObjectType type() const
Definition: emioobjinfo.h:57
Set of (small) copyable elements.
Definition: commontypes.h:30
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Fault stick set.
Definition: emfaultstickset.h:100
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Definition: emioobjinfo.h:48
Surface Reader.
Definition: emsurfaceio.h:46
FixedString Fault()
Definition: keystrs.h:65
A body that can deliver an implicit body.
Definition: embody.h:50
FixedString Body()
Definition: keystrs.h:43
IOObj * ioobj_
Definition: emioobjinfo.h:101
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
bool isSurface() const
Definition: emioobjinfo.h:72
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:96
Definition: emioobjinfo.h:47
Compound key consisting of ints.
Definition: multiid.h:25

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