OpendTect  6.3
emioobjinfo.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: Satyaki Maitra
8  Date: April 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "earthmodelmod.h"
14 
15 #include "emobject.h"
16 #include "ranges.h"
17 #include "stratlevel.h"
18 #include "typeset.h"
19 #include "uistring.h"
20 
21 class BufferStringSet;
22 class TrcKeyZSampling;
23 class IOObj;
24 
25 namespace EM
26 {
27 
28 class dgbSurfaceReader;
29 class SurfaceIOData;
30 
35 mExpClass(EarthModel) IOObjInfo
36 { mODTextTranslationClass(IOObjInfo);
37 public:
38 
40 
41  IOObjInfo(const IOObj*);
42  IOObjInfo(const IOObj&);
43  IOObjInfo(const DBKey&);
44  IOObjInfo(const IOObjInfo&);
45  ~IOObjInfo();
46  IOObjInfo& operator =(const IOObjInfo&);
47 
51 
52  static void getIDs(ObjectType,DBKeySet&);
54 
55  bool isOK() const;
56  inline const IOObj* ioObj() const { return ioobj_; }
57  const char* name() const;
58  inline ObjectType type() const { return type_; }
59 
60  bool getSectionIDs(TypeSet<SectionID>&) const;
61  bool getSectionNames(BufferStringSet&) const;
62  bool getAttribNames(BufferStringSet&) const;
63  Interval<float> getZRange() const;
64  StepInterval<int> getInlRange() const;
65  StepInterval<int> getCrlRange() const;
66  IOPar* getPars() const;
67  int getParsOffsetInFile() const;
68  uiString getMessage() const;
69  const char* timeLastModified() 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  LevelID levelID() const;
79  static void getTiedToLevelID(LevelID lvlid,DBKeySet&,
80  bool is2d);
81  static bool sortHorizonsOnZValues(const DBKeySet&,
82  DBKeySet&);
83 
84  // 2D Horizons
85  bool getLineNames(BufferStringSet&) const;
86  bool getGeomIDs(TypeSet<Pos::GeomID>&) const;
87  bool getTrcRanges(TypeSet< StepInterval<int> >&) const;
88  bool hasGeomIDs() const;
89 
90  // Body
91  bool getBodyRange(TrcKeyZSampling&) const;
92 
93  // FaultStickSet
94  int nrSticks() const;
95 
96  // Helpful stuff
97  static ObjectType objectTypeOfIOObjGroup(const char*);
98 
99 protected:
100 
104 
105  void setType();
106 };
107 
108 } // namespace EM
Info on IOObj for earthmodel.
Definition: emioobjinfo.h:35
#define mExpClass(module)
Definition: commondefs.h:157
Definition: ioobj.h:57
const char * timeLastModified(const char *filenm, const char *fmt=Time::defDateTimeFmt())
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Data interesting for Surface I/O.
Definition: emsurfaceiodata.h:28
dgbSurfaceReader * reader_
Definition: emioobjinfo.h:103
Definition: dbkey.h:98
bool is2DHorizon() const
Definition: emioobjinfo.h:77
bool isHorizon() const
Definition: emioobjinfo.h:76
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
Strat::Level::ID LevelID
Definition: emioobjinfo.h:39
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
ObjectType
Definition: emioobjinfo.h:48
2D Horizon. The Horizon is only present along 2d lines, set by addLine. Each position&#39;s subid is form...
Definition: emhorizon2d.h:106
ObjectType type_
Definition: emioobjinfo.h:101
ObjectType type() const
Definition: emioobjinfo.h:58
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Fault stick set.
Definition: emfaultstickset.h:98
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
Definition: emioobjinfo.h:49
Surface Reader.
Definition: emsurfaceio.h:45
FixedString Fault()
Definition: keystrs.h:64
A body that can deliver an implicit body.
Definition: embody.h:48
FixedString Body()
Definition: keystrs.h:41
IOObj * ioobj_
Definition: emioobjinfo.h:102
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
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:94
FixedString ID()
Definition: keystrs.h:71
Definition: emioobjinfo.h:48

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