OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "emsurface.h"
17 #include "emsurfacegeometry.h"
18 #include "keystrs.h"
19 #include "iopar.h"
20 #include "trckey.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  virtual HorizonGeometry& geometry() = 0;
50  virtual const HorizonGeometry& geometry() const
51  { return const_cast<Horizon*>(this)
52  ->geometry(); }
53 
54  virtual float getZ(const TrcKey&) const = 0;
55  virtual bool setZ(const TrcKey&,float z,bool addtohist) = 0;
56  virtual bool setZAndNodeSourceType(const TrcKey&,float z,
57  bool addtohist, NodeSourceType type=Auto) = 0;
58  virtual bool hasZ(const TrcKey&) const = 0;
59  virtual Coord3 getCoord(const TrcKey&) const = 0;
60 
61  virtual float getZValue(const Coord&,bool allow_udf=true,
62  int nr=0) const = 0;
63  virtual void setAttrib(const TrcKey&,int attr,int yn,bool undo) = 0;
64  virtual bool isAttrib(const TrcKey&,int attr) const = 0;
65 
66  void setStratLevelID( int lvlid )
67  { stratlevelid_ = lvlid; }
68  int stratLevelID() const
69  { return stratlevelid_; }
70 
71  virtual void fillPar( IOPar& par ) const
72  {
73  Surface::fillPar( par );
74  par.set( sKey::StratRef(), stratlevelid_ );
75  }
76 
77  virtual bool usePar( const IOPar& par )
78  {
79  par.get( sKey::StratRef(), stratlevelid_ );
80  return Surface::usePar( par );
81  }
82 
83  virtual TrcKey::SurvID getSurveyID() const = 0;
84 
85 protected:
87  : Surface(emm), stratlevelid_(-1) {}
88 
89  virtual const IOObjContext& getIOObjContext() const = 0;
90 
92 };
93 
94 } // namespace EM
95 
EM::Surface::fillPar
virtual void fillPar(IOPar &) const
IOPar::set
void set(const char *ky, const char *val)
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
EM::Horizon::isAttrib
virtual bool isAttrib(const TrcKey &, int attr) const =0
EM::HorizonGeometry
Horizon RowColSurfaceGeometry.
Definition: emhorizon.h:32
IOPar::get
bool get(const char *, short &) const
keystrs.h
trckey.h
EM::Horizon::getIOObjContext
virtual const IOObjContext & getIOObjContext() const =0
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::Horizon::getZ
virtual float getZ(const TrcKey &) const =0
EM::HorizonGeometry::getPosID
virtual PosID getPosID(const TrcKey &) const =0
EM::Horizon::stratlevelid_
int stratlevelid_
Definition: emhorizon.h:91
sKey::Horizon
FixedString Horizon()
Definition: keystrs.h:77
emsurface.h
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::Surface
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
EM::HorizonGeometry::HorizonGeometry
HorizonGeometry(Surface &surf)
Definition: emhorizon.h:34
EM::EMObject::NodeSourceType
NodeSourceType
Definition: emobject.h:161
EM::Horizon::setZAndNodeSourceType
virtual bool setZAndNodeSourceType(const TrcKey &, float z, bool addtohist, NodeSourceType type=Auto)=0
EM::Horizon::geometry
virtual const HorizonGeometry & geometry() const
Definition: emhorizon.h:50
EM::Horizon::hasZ
virtual bool hasZ(const TrcKey &) const =0
EM::Horizon::getSurveyID
virtual TrcKey::SurvID getSurveyID() const =0
EM::Horizon
Horizon Surface.
Definition: emhorizon.h:47
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
sKey::StratRef
FixedString StratRef()
Definition: keystrs.h:151
EM::Horizon::getCoord
virtual Coord3 getCoord(const TrcKey &) const =0
EM::Horizon::setZ
virtual bool setZ(const TrcKey &, float z, bool addtohist)=0
EM::Horizon::usePar
virtual bool usePar(const IOPar &par)
Definition: emhorizon.h:77
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
emsurfacegeometry.h
TrcKey::SurvID
Pos::SurvID SurvID
Definition: trckey.h:31
EM::EMManager
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
EM::Horizon::stratLevelID
int stratLevelID() const
Definition: emhorizon.h:68
EM::HorizonGeometry::getTrcKey
virtual TrcKey getTrcKey(const PosID &) const =0
EM::Horizon::Horizon
Horizon(EMManager &emm)
Definition: emhorizon.h:86
EM::Horizon::geometry
virtual HorizonGeometry & geometry()=0
EM::Horizon::fillPar
virtual void fillPar(IOPar &par) const
Definition: emhorizon.h:71
EM::Surface::usePar
virtual bool usePar(const IOPar &)
EM::Horizon::getZValue
virtual float getZValue(const Coord &, bool allow_udf=true, int nr=0) const =0
iopar.h
EM::Horizon::setStratLevelID
void setStratLevelID(int lvlid)
Definition: emhorizon.h:66
EM::RowColSurfaceGeometry
RowCol SurfaceGeometry.
Definition: emsurfacegeometry.h:124
EM::Horizon::setAttrib
virtual void setAttrib(const TrcKey &, int attr, int yn, bool undo)=0
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
EM::PosID
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37

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