OpendTect-6_4  6.4
emhorizon.h
Go to the documentation of this file.
1 #ifndef emhorizon_h
2 #define emhorizon_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: May 2007
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "earthmodelmod.h"
17 #include "emsurface.h"
18 #include "emsurfacegeometry.h"
19 #include "keystrs.h"
20 #include "iopar.h"
21 #include "trckey.h"
22 
23 
24 namespace EM
25 {
26 class EMManager;
27 
33 {
34 protected:
36  : RowColSurfaceGeometry(surf) {}
37 public:
38  virtual PosID getPosID(const TrcKey&) const = 0;
39  virtual TrcKey getTrcKey(const PosID&) const = 0;
40 };
41 
42 
47 mExpClass(EarthModel) Horizon : public Surface
48 {
49 public:
50  virtual HorizonGeometry& geometry() = 0;
51  virtual const HorizonGeometry& geometry() const
52  { return const_cast<Horizon*>(this)
53  ->geometry(); }
54 
55  virtual float getZ(const TrcKey&) const = 0;
56  virtual bool setZ(const TrcKey&,float z,bool addtohist) = 0;
57  virtual bool setZAndNodeSourceType(const TrcKey&,float z,
58  bool addtohist, NodeSourceType type=Auto) = 0;
59  virtual bool hasZ(const TrcKey&) const = 0;
60  virtual Coord3 getCoord(const TrcKey&) const = 0;
61 
62  virtual float getZValue(const Coord&,bool allow_udf=true,
63  int nr=0) const = 0;
64  virtual void setAttrib(const TrcKey&,int attr,int yn,bool undo) = 0;
65  virtual bool isAttrib(const TrcKey&,int attr) const = 0;
66 
67  void setStratLevelID( int lvlid )
68  { stratlevelid_ = lvlid; }
69  int stratLevelID() const
70  { return stratlevelid_; }
71 
72  virtual void fillPar( IOPar& par ) const
73  {
74  Surface::fillPar( par );
75  par.set( sKey::StratRef(), stratlevelid_ );
76  }
77 
78  virtual bool usePar( const IOPar& par )
79  {
80  par.get( sKey::StratRef(), stratlevelid_ );
81  return Surface::usePar( par );
82  }
83 
84  virtual TrcKey::SurvID getSurveyID() const = 0;
85 
86 protected:
88  : Surface(emm), stratlevelid_(-1) {}
89 
90  virtual const IOObjContext& getIOObjContext() const = 0;
91 
93 };
94 
95 } // namespace EM
96 
97 #endif
#define mExpClass(module)
Definition: commondefs.h:160
virtual bool usePar(const IOPar &)
virtual void fillPar(IOPar &) const
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
int stratlevelid_
Definition: emhorizon.h:92
FixedString StratRef()
Definition: keystrs.h:124
Pos::SurvID SurvID
Definition: trckey.h:32
void setStratLevelID(int lvlid)
Definition: emhorizon.h:67
A cartesian coordinate in 2D space.
Definition: coord.h:25
bool get(const char *, int &) const
Horizon RowColSurfaceGeometry.
Definition: emhorizon.h:32
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
virtual void fillPar(IOPar &par) const
Definition: emhorizon.h:72
Horizon(EMManager &emm)
Definition: emhorizon.h:87
A cartesian coordinate in 3D space.
Definition: coord.h:72
virtual const HorizonGeometry & geometry() const
Definition: emhorizon.h:51
RowCol SurfaceGeometry.
Definition: emsurfacegeometry.h:124
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
NodeSourceType
Definition: emobject.h:163
virtual bool usePar(const IOPar &par)
Definition: emhorizon.h:78
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
int stratLevelID() const
Definition: emhorizon.h:69
void set(const char *ky, const char *val)
HorizonGeometry(Surface &surf)
Definition: emhorizon.h:35
IOObjContext * getIOObjContext(Seis::GeomType, bool forread)
Horizon Surface.
Definition: emhorizon.h:47
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62

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