OpendTect-6_4  6.4
emsurface.h
Go to the documentation of this file.
1 #ifndef emsurface_h
2 #define emsurface_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 4-11-2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "earthmodelmod.h"
17 #include "emobject.h"
18 
19 class IOObj;
20 namespace Pos { class Filter; }
21 
22 namespace EM
23 {
24 
25 class EMManager;
26 class SurfaceGeometry;
27 
33 mExpClass(EarthModel) Surface : public EMObject
34 {
35 public:
36  int nrSections() const;
37  EM::SectionID sectionID(int) const;
38  BufferString sectionName(const SectionID&) const;
39  bool canSetSectionName() const;
40  bool setSectionName(const SectionID&,const char*,
41  bool addtohistory);
42  bool removeSection(SectionID,bool hist);
43 
44  virtual void removeAll();
45 
46  bool isAtEdge(const EM::PosID&) const;
47  bool isLoaded() const;
48  virtual Executor* saver();
49  virtual Executor* saver(IOObj*) { return 0;}
50  virtual Executor* loader();
51 
52  const char* dbInfo() const { return dbinfo.buf();}
53  void setDBInfo(const char* s) { dbinfo = s; }
54 
55  virtual bool usePar(const IOPar&);
56  virtual void fillPar(IOPar&) const;
57 
58  virtual EMObjectIterator* createIterator(const SectionID&,
59  const TrcKeyZSampling* =0) const;
60 
61  bool enableGeometryChecks(bool);
62  bool isGeometryChecksEnabled() const;
63 
64  virtual SurfaceGeometry& geometry() = 0;
65  virtual const SurfaceGeometry& geometry() const;
66 
67  static BufferString getParFileName(const IOObj&);
68  static BufferString getSetupFileName(const IOObj&);
69  static BufferString getParentChildFileName(const IOObj&);
70 
71  virtual void apply(const Pos::Filter&);
72 
73 protected:
74 
75  friend class SurfaceGeometry;
76  friend class EMObject;
77 
79  ~Surface();
80  virtual Geometry::Element* sectionGeometryInternal(const SectionID&);
81 
83 };
84 
85 
86 } // namespace EM
87 
88 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
Definition: ioobj.h:58
FixedString Filter()
Definition: keystrs.h:67
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
Decides whether a given position should be included.
Definition: posfilter.h:45
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:122
const char * dbInfo() const
Definition: emsurface.h:52
void removeAll()
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Position.
Definition: commontypes.h:42
Surface geometry.
Definition: emsurfacegeometry.h:41
virtual Executor * saver(IOObj *)
Definition: emsurface.h:49
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
Definition: geomelement.h:37
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
FixedString Surface()
Definition: keystrs.h:126
Base class for all EarthModel objects.
Definition: emobject.h:158
BufferString dbinfo
Definition: emsurface.h:82
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
void setDBInfo(const char *s)
Definition: emsurface.h:53
Specification to enable chunkwise execution of a process.
Definition: executor.h:39

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