OpendTect  6.3
emhorizon.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: Nanne Hemstra
8  Date: May 2007
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "emsurface.h"
16 #include "emsurfacegeometry.h"
17 #include "keystrs.h"
18 #include "iopar.h"
19 #include "trckey.h"
20 #include "stratlevel.h"
21 
22 
23 namespace EM
24 {
25 class EMManager;
26 
32 {
33 protected:
35  : RowColSurfaceGeometry(surf) {}
36 public:
37  virtual PosID getPosID(const TrcKey&) const = 0;
38  virtual TrcKey getTrcKey(const PosID&) const = 0;
39 };
40 
41 
46 mExpClass(EarthModel) Horizon : public Surface
47 {
48 public:
49 
51 
52  virtual HorizonGeometry& geometry() = 0;
53  virtual const HorizonGeometry& geometry() const
54  { return const_cast<Horizon*>(this)
55  ->geometry(); }
56 
57  virtual float getZ(const TrcKey&) const = 0;
58  virtual bool setZ(const TrcKey&,float z,bool addtohist,
59  NodeSourceType type=Auto) = 0;
60  virtual bool hasZ(const TrcKey&) const = 0;
61  virtual Coord3 getCoord(const TrcKey&) const = 0;
62 
63  virtual float getZValue(const Coord&,bool allow_udf=true,
64  int nr=0) const = 0;
65  virtual void setAttrib(const TrcKey&,int attr,bool yn,bool undo) = 0;
66  virtual bool isAttrib(const TrcKey&,int attr) const = 0;
67 
68  void setStratLevelID( LevelID lvlid )
69  { stratlevelid_ = lvlid; }
70  LevelID stratLevelID() const
71  { return stratlevelid_; }
72 
73  virtual void fillPar( IOPar& par ) const
74  {
75  Surface::fillPar( par );
76  par.set( sKey::StratRef(), stratlevelid_ );
77  }
78 
79  virtual bool usePar( const IOPar& par )
80  {
81  par.get( sKey::StratRef(), stratlevelid_ );
82  return Surface::usePar( par );
83  }
84 
85  virtual TrcKey::SurvID getSurveyID() const = 0;
86 
87 protected:
89  : Surface(emm) {}
90 
91  virtual const IOObjContext& getIOObjContext() const = 0;
92 
93  LevelID stratlevelid_;
94 };
95 
96 } // namespace EM
#define mExpClass(module)
Definition: commondefs.h:157
virtual bool usePar(const IOPar &)
virtual void fillPar(IOPar &) const
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
FixedString StratRef()
Definition: keystrs.h:122
Pos::SurvID SurvID
Definition: trckey.h:30
bool get(const char *, int &) const
Horizon RowColSurfaceGeometry.
Definition: emhorizon.h:31
3D point or vector
Definition: commontypes.h:57
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
Strat::Level::ID LevelID
Definition: emhorizon.h:50
virtual void fillPar(IOPar &par) const
Definition: emhorizon.h:73
Horizon(EMManager &emm)
Definition: emhorizon.h:88
virtual const HorizonGeometry & geometry() const
Definition: emhorizon.h:53
LevelID stratlevelid_
Definition: emhorizon.h:93
RowCol SurfaceGeometry.
Definition: emsurfacegeometry.h:122
LevelID stratLevelID() const
Definition: emhorizon.h:70
void setStratLevelID(LevelID lvlid)
Definition: emhorizon.h:68
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
NodeSourceType
Definition: emobject.h:122
virtual bool usePar(const IOPar &par)
Definition: emhorizon.h:79
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
2D point or vector class.
Definition: commontypes.h:58
FixedString ID()
Definition: keystrs.h:71
void set(const char *ky, const char *val)
HorizonGeometry(Surface &surf)
Definition: emhorizon.h:34
IOObjContext * getIOObjContext(Seis::GeomType, bool forread)
Horizon Surface.
Definition: emhorizon.h:46
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59

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