OpendTect  6.3
emsurface.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 "emobject.h"
16 
17 class IOObj;
18 namespace Pos { class Filter; }
19 
20 namespace EM
21 {
22 
23 class EMManager;
24 class SurfaceGeometry;
25 
31 mExpClass(EarthModel) Surface : public EMObject
32 {
33 public:
34  int nrSections() const;
35  EM::SectionID sectionID(int) const;
36  BufferString sectionName(const SectionID&) const;
37  bool canSetSectionName() const;
38  bool setSectionName(const SectionID&,const char*,
39  bool addtohistory);
40  bool removeSection(SectionID,bool hist);
41 
42  virtual void removeAll();
43 
44  bool isAtEdge(const EM::PosID&) const;
45  bool isLoaded() const;
46  virtual Executor* saver();
47  virtual Executor* saver(IOObj*) { return 0;}
48  virtual Executor* loader();
49 
50  const char* dbInfo() const { return dbinfo.buf();}
51  void setDBInfo(const char* s) { dbinfo = s; }
52 
53  virtual bool usePar(const IOPar&);
54  virtual void fillPar(IOPar&) const;
55 
56  virtual EMObjectIterator* createIterator(const SectionID&,
57  const TrcKeyZSampling* =0) const;
58 
59  bool enableGeometryChecks(bool);
60  bool isGeometryChecksEnabled() const;
61 
62  virtual SurfaceGeometry& geometry() = 0;
63  virtual const SurfaceGeometry& geometry() const;
64 
65  static BufferString getParFileName(const IOObj&);
66  static BufferString getSetupFileName(const IOObj&);
67  static BufferString getParentChildFileName(const IOObj&);
68 
69  virtual void apply(const Pos::Filter&);
70 
71 protected:
72 
73  friend class SurfaceGeometry;
74  friend class EMObject;
75 
77  ~Surface();
78  virtual Geometry::Element* sectionGeometryInternal(const SectionID&);
79 
81 };
82 
83 
84 } // namespace EM
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
Definition: ioobj.h:57
FixedString Filter()
Definition: keystrs.h:66
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
Decides whether a given position should be included.
Definition: posfilter.h:43
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:81
const char * dbInfo() const
Definition: emsurface.h:50
void removeAll()
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:42
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
Position.
Definition: commontypes.h:38
Surface geometry.
Definition: emsurfacegeometry.h:39
virtual Executor * saver(IOObj *)
Definition: emsurface.h:47
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Definition: geomelement.h:35
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
FixedString Surface()
Definition: keystrs.h:124
Base class for all EarthModel objects.
Definition: emobject.h:117
BufferString dbinfo
Definition: emsurface.h:80
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:31
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
void setDBInfo(const char *s)
Definition: emsurface.h:51
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