OpendTect  6.3
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
EM::Horizon3D Class Reference

3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots. More...

Inheritance diagram for EM::Horizon3D:
[legend]

Public Member Functions

 Horizon3D (EM::EMManager &)
 
const char * getTypeStr () const
 
void setNewName ()
 
virtual float getZ (const TrcKey &) const
 Fast: reads from the first section. More...
 
virtual bool setZ (const TrcKey &, float z, bool addtohist, NodeSourceType type=Auto)
 Fast: writes to the first section. More...
 
virtual void setNodeSourceType (const TrcKey &, NodeSourceType)
 
virtual void setNodeSourceType (const PosID &, NodeSourceType)
 
virtual bool isNodeSourceType (const PosID &, NodeSourceType) const
 
virtual bool isNodeSourceType (const TrcKey &, NodeSourceType) const
 
bool hasNodeSourceType (const PosID &) const
 
virtual void setNodeLocked (const TrcKey &, bool locked)
 
virtual bool isNodeLocked (const TrcKey &) const
 
virtual bool isNodeLocked (const PosID &) const
 
virtual void lockAll ()
 
virtual void unlockAll ()
 
virtual const Array2D< char > * getLockedNodes () const
 
virtual void setLockColor (const Color &)
 
virtual const Color getLockColor () const
 
virtual bool hasLockedNodes () const
 
virtual bool hasZ (const TrcKey &) const
 Fast: checks only the first section. More...
 
virtual Coord3 getCoord (const TrcKey &) const
 
virtual void setAttrib (const TrcKey &, int attr, bool yn, bool addtohist)
 
virtual bool isAttrib (const TrcKey &, int attr) const
 
virtual float getZValue (const Coord &, bool allow_udf=true, int nr=0) const
 Slow: if you need the choices. More...
 
TrcKeySampling range () const
 
Interval< float > getZRange () const
 
void removeAll ()
 
Horizon3DGeometrygeometry ()
 
const Horizon3DGeometrygeometry () const
 
virtual void setArray (const SectionID &, const BinID &start, const BinID &step, Array2D< float > *arr, bool takeover)
 
Array2D< float > * createArray2D (SectionID, const ZAxisTransform *zt=0) const
 
bool setArray2D (const Array2D< float > &, SectionID, bool onlyfillundefs, const char *histdesc, bool trimundef)
 
bool setArray2D (Array2D< float > *, const BinID &origin, const BinID &step, bool takeoverarr=true)
 
Executorimporter (const ObjectSet< BinIDValueSet > &, const TrcKeySampling &hs)
 
ExecutorauxDataImporter (const ObjectSet< BinIDValueSet > &, const BufferStringSet &attribnms, int, const TrcKeySampling &hs)
 
Pos::GeomID getSurveyGeomID () const
 
void setSurveyGeomID (Pos::GeomID)
 
uiString getUserTypeStr () const
 
void initAllAuxData (float val=mUdf(float))
 
void initTrackingAuxData (float val=mUdf(float))
 
void initTrackingArrays ()
 
void updateTrackingSampling ()
 
bool saveParentArray ()
 
bool readParentArray ()
 
bool saveNodeArrays ()
 
bool readNodeArrays ()
 
TrcKeySampling getTrackingSampling () const
 
void setParent (const TrcKey &, const TrcKey &parent)
 
TrcKey getParent (const TrcKey &) const
 
void getParents (const TrcKey &, TypeSet< TrcKey > &) const
 
bool selectChildren (const TrcKey &)
 
Array2D< char > * getChildren () const
 
void deleteChildren ()
 
void resetChildren ()
 
void setParentColor (const Color &)
 
const ColorgetParentColor () const
 
float getZ (const BinID &) const
 Fast: reads from the first section. More...
 
bool setZ (const BinID &, float z, bool addtohist)
 Fast: writes to the first section. More...
 
TrcKey::SurvID getSurveyID () const
 
- Public Member Functions inherited from EM::Horizon
void setStratLevelID (LevelID lvlid)
 
LevelID stratLevelID () const
 
- Public Member Functions inherited from EM::Surface
int nrSections () const
 
EM::SectionID sectionID (int) const
 
BufferString sectionName (const SectionID &) const
 
bool canSetSectionName () const
 
bool setSectionName (const SectionID &, const char *, bool addtohistory)
 
bool removeSection (SectionID, bool hist)
 
bool isAtEdge (const EM::PosID &) const
 
bool isLoaded () const
 
virtual Executorsaver ()
 
virtual Executorsaver (IOObj *)
 
virtual Executorloader ()
 
const char * dbInfo () const
 
void setDBInfo (const char *s)
 
virtual EMObjectIteratorcreateIterator (const SectionID &, const TrcKeyZSampling *=0) const
 
bool enableGeometryChecks (bool)
 
bool isGeometryChecksEnabled () const
 
virtual void apply (const Pos::Filter &)
 
- Public Member Functions inherited from EM::EMObject
const ObjectIDid () const
 
const DBKeydbKey () const
 
void setDBKey (const DBKey &)
 
virtual bool isOK () const
 
void setName (const char *nm)
 
BufferString name () const
 
uiString uiName () const
 
virtual int sectionIndex (const SectionID &) const
 
void removeSelected (const TypeSet< EM::SubID > &)
 
const Geometry::ElementsectionGeometry (const SectionID &) const
 
Geometry::ElementsectionGeometry (const SectionID &)
 
const ColorpreferredColor () const
 
void setPreferredColor (const Color &, bool addtohistory=false)
 
const OD::LineStylepreferredLineStyle () const
 
void setPreferredLineStyle (const OD::LineStyle &)
 
const OD::MarkerStyle3DpreferredMarkerStyle3D () const
 
void setPreferredMarkerStyle3D (const OD::MarkerStyle3D &)
 
void setBurstAlert (bool yn)
 
bool hasBurstAlert () const
 
virtual Coord3 getPos (const EM::PosID &) const
 
virtual Coord3 getPos (const EM::SectionID &, const EM::SubID &) const
 
virtual bool isDefined (const EM::PosID &) const
 
virtual bool isDefined (const EM::SectionID &, const EM::SubID &) const
 
bool setPos (const EM::PosID &, const Coord3 &, bool addtohistory, NodeSourceType type=Auto)
 
bool setPos (const EM::SectionID &, const EM::SubID &, const Coord3 &, bool addtohistory, NodeSourceType type=Auto)
 
virtual bool unSetPos (const EM::PosID &, bool addtohistory)
 
virtual bool unSetPos (const EM::SectionID &, const EM::SubID &, bool addtohistory)
 
void changePosID (const EM::PosID &from, const EM::PosID &to, bool addtohistory)
 
virtual void getLinkedPos (const EM::PosID &posid, TypeSet< EM::PosID > &) const
 
virtual int nrPosAttribs () const
 
virtual int posAttrib (int idx) const
 
virtual void addPosAttrib (int attr)
 
virtual void removePosAttribList (int attr, bool addtohistory=true)
 
virtual void setPosAttrib (const EM::PosID &, int attr, bool yn, bool addtohistory=true)
 Sets/unsets the posattrib depending on yn. More...
 
virtual bool isPosAttrib (const EM::PosID &, int attr) const
 
virtual const char * posAttribName (int) const
 
virtual int addPosAttribName (const char *)
 
const TypeSet< PosID > * getPosAttribList (int attr) const
 
const OD::MarkerStyle3DgetPosAttrMarkerStyle (int attr)
 
void setPosAttrMarkerStyle (int attr, const OD::MarkerStyle3D &)
 
virtual void lockPosAttrib (int attr, bool yn)
 
virtual bool isPosAttribLocked (int attr) const
 
virtual void removeSelected (const Selector< Coord3 > &, TaskRunner *)
 
void removeListOfSubIDs (const TypeSet< EM::SubID > &, const EM::SectionID &)
 
void removeAllUnSeedPos ()
 
const TrcKeyZSampling getRemovedPolySelectedPosBox ()
 
void emptyRemovedPolySelectedPosBox ()
 
virtual bool isChanged () const
 
virtual bool isEmpty () const
 
virtual void setChangedFlag ()
 
virtual void resetChangedFlag ()
 
bool isFullyLoaded () const
 
void setFullyLoaded (bool yn)
 
virtual bool isLocked () const
 
virtual void lock (bool yn)
 
bool isInsideSelRemoval () const
 
bool isSelRemoving () const
 
uiString errMsg () const
 
void setErrMsg (const uiString &m)
 
void setSelectionColor (const Color &)
 
const ColorgetSelectionColor () const
 
void saveDisplayPars () const
 
mDeprecated const DBKeymultiID () const
 
mDeprecated void setMultiID (const DBKey &k)
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 

Static Public Member Functions

static void initClass ()
 
static EMObjectcreate (EM::EMManager &)
 
static Horizon3Dcreate (const char *nm)
 
static FixedString typeStr ()
 
static Horizon3DcreateWithConstZ (float z, const TrcKeySampling &)
 
static uiString userTypeStr ()
 
static Color sDefaultLockColor ()
 
- Static Public Member Functions inherited from EM::Surface
static BufferString getParFileName (const IOObj &)
 
static BufferString getSetupFileName (const IOObj &)
 
static BufferString getParentChildFileName (const IOObj &)
 
- Static Public Member Functions inherited from EM::EMObject
static int sTerminationNode ()
 
static int sSeedNode ()
 
static int sIntersectionNode ()
 
static Color sDefaultSelectionColor ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Public Attributes

SurfaceAuxDataauxdata
 
- Public Attributes inherited from EM::EMObject
CNotifier< EMObject, const EMObjectCallbackData & > change
 

Protected Types

enum  ArrayType { Parents, Children, LockNode, NodeSource }
 

Protected Member Functions

 ~Horizon3D ()
 
 mODTextTranslationClass (Horizon3D)
 
void fillPar (IOPar &) const
 
bool usePar (const IOPar &)
 
const IOObjContextgetIOObjContext () const
 
void initNodeArraysSize (const StepInterval< int > &, const StepInterval< int > &)
 
void setNodeArraySize (const StepInterval< int > &, const StepInterval< int > &, ArrayType)
 
void updateNodeSourceArray (const TrcKeySampling, ArrayType)
 
Array2D< char > * getNodeSourceArray (ArrayType) const
 
void createNodeSourceArray (const StepInterval< int > &, const StepInterval< int > &, ArrayType)
 
TrcKeySampling getSectionTrckeySampling () const
 
virtual bool setPosition (const EM::SectionID &, const EM::SubID &, const Coord3 &, bool addtohistory, NodeSourceType type=Auto)
 
- Protected Member Functions inherited from EM::Horizon
 Horizon (EMManager &emm)
 
- Protected Member Functions inherited from EM::Surface
 Surface (EMManager &)
 
 ~Surface ()
 
virtual Geometry::ElementsectionGeometryInternal (const SectionID &)
 
- Protected Member Functions inherited from EM::EMObject
 ~EMObject ()
 
 EMObject (EMManager &)
 must be called after creation More...
 
virtual void prepareForDelete ()
 
void posIDChangeCB (CallBacker *)
 
void useDisplayPars (const IOPar &)
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Protected Attributes

Horizon3DGeometry geometry_
 
TrcKeySampling trackingsamp_
 
Array2D< char > * lockednodes_
 
Array2D< char > * children_
 
Array2D< od_int64 > * parents_
 
Color parentcolor_
 
Color lockcolor_
 
Pos::GeomID survgeomid_
 
Array2D< char > * nodesource_
 
bool arrayinited_
 
- Protected Attributes inherited from EM::Horizon
LevelID stratlevelid_
 
- Protected Attributes inherited from EM::Surface
BufferString dbinfo
 
- Protected Attributes inherited from EM::EMObject
BufferString objname_
 
ObjectID id_
 
DBKey storageid_
 
class EMManagermanager_
 
uiString errmsg_
 
Colorpreferredcolor_
 
OD::LineStylepreferredlinestyle_
 
OD::MarkerStyle3Dpreferredmarkerstyle_
 
ObjectSet< PosAttribposattribs_
 
TypeSet< int > attribs_
 
Color selectioncolor_
 
TrcKeyZSampling removebypolyposbox_
 
bool changed_
 
bool fullyloaded_
 
bool locked_
 
int burstalertcount_
 
Threads::Lock setposlock_
 
bool insideselremoval_
 
bool selremoving_
 
bool haslockednodes_
 

Friends

class EMManager
 
class EMObject
 

Additional Inherited Members

- Public Types inherited from EM::Horizon
typedef Strat::Level::ID LevelID
 
- Public Types inherited from EM::EMObject
enum  NodeSourceType { None = (int)'0', Manual =(int)'1', Auto =(int)'2', Gridding =(int)'3' }
 
- Static Protected Member Functions inherited from EM::EMObject
static const char * nrposattrstr ()
 
static const char * posattrprefixstr ()
 
static const char * posattrsectionstr ()
 
static const char * posattrposidstr ()
 

Detailed Description

3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.

Member Enumeration Documentation

enum EM::Horizon3D::ArrayType
protected
Enumerator
Parents 
Children 
LockNode 
NodeSource 

Constructor & Destructor Documentation

EM::Horizon3D::Horizon3D ( EM::EMManager )
EM::Horizon3D::~Horizon3D ( )
protected

Member Function Documentation

Executor* EM::Horizon3D::auxDataImporter ( const ObjectSet< BinIDValueSet > &  ,
const BufferStringSet attribnms,
int  ,
const TrcKeySampling hs 
)
static EMObject* EM::Horizon3D::create ( EM::EMManager )
static
static Horizon3D* EM::Horizon3D::create ( const char *  nm)
static
Array2D<float>* EM::Horizon3D::createArray2D ( SectionID  ,
const ZAxisTransform zt = 0 
) const
void EM::Horizon3D::createNodeSourceArray ( const StepInterval< int > &  ,
const StepInterval< int > &  ,
ArrayType   
)
protected
static Horizon3D* EM::Horizon3D::createWithConstZ ( float  z,
const TrcKeySampling  
)
static
void EM::Horizon3D::deleteChildren ( )
void EM::Horizon3D::fillPar ( IOPar ) const
protectedvirtual

Reimplemented from EM::Horizon.

Horizon3DGeometry& EM::Horizon3D::geometry ( )
virtual

Implements EM::Horizon.

const Horizon3DGeometry& EM::Horizon3D::geometry ( ) const
virtual

Reimplemented from EM::Horizon.

Array2D<char>* EM::Horizon3D::getChildren ( ) const
virtual Coord3 EM::Horizon3D::getCoord ( const TrcKey ) const
virtual

Implements EM::Horizon.

const IOObjContext& EM::Horizon3D::getIOObjContext ( ) const
protectedvirtual

Implements EM::Horizon.

virtual const Color EM::Horizon3D::getLockColor ( ) const
virtual

Reimplemented from EM::EMObject.

virtual const Array2D<char>* EM::Horizon3D::getLockedNodes ( ) const
virtual

Reimplemented from EM::EMObject.

Array2D<char>* EM::Horizon3D::getNodeSourceArray ( ArrayType  ) const
protected
TrcKey EM::Horizon3D::getParent ( const TrcKey ) const
const Color& EM::Horizon3D::getParentColor ( ) const
void EM::Horizon3D::getParents ( const TrcKey ,
TypeSet< TrcKey > &   
) const
TrcKeySampling EM::Horizon3D::getSectionTrckeySampling ( ) const
protected
Pos::GeomID EM::Horizon3D::getSurveyGeomID ( ) const
inline
TrcKey::SurvID EM::Horizon3D::getSurveyID ( ) const
inlinevirtual

Implements EM::Horizon.

TrcKeySampling EM::Horizon3D::getTrackingSampling ( ) const
const char* EM::Horizon3D::getTypeStr ( ) const
virtual

Implements EM::EMObject.

uiString EM::Horizon3D::getUserTypeStr ( ) const
inlinevirtual

Implements EM::EMObject.

virtual float EM::Horizon3D::getZ ( const TrcKey ) const
virtual

Fast: reads from the first section.

Implements EM::Horizon.

float EM::Horizon3D::getZ ( const BinID ) const

Fast: reads from the first section.

Interval<float> EM::Horizon3D::getZRange ( ) const
virtual float EM::Horizon3D::getZValue ( const Coord ,
bool  allow_udf = true,
int  nr = 0 
) const
virtual

Slow: if you need the choices.

Implements EM::Horizon.

virtual bool EM::Horizon3D::hasLockedNodes ( ) const
inlinevirtual

Reimplemented from EM::EMObject.

bool EM::Horizon3D::hasNodeSourceType ( const PosID ) const
virtual

Reimplemented from EM::EMObject.

virtual bool EM::Horizon3D::hasZ ( const TrcKey ) const
virtual

Fast: checks only the first section.

Implements EM::Horizon.

Executor* EM::Horizon3D::importer ( const ObjectSet< BinIDValueSet > &  ,
const TrcKeySampling hs 
)

Removes all data and creates a section for every BinIDValueSet

void EM::Horizon3D::initAllAuxData ( float  val = mUdf(float))
static void EM::Horizon3D::initClass ( )
static
void EM::Horizon3D::initNodeArraysSize ( const StepInterval< int > &  ,
const StepInterval< int > &   
)
protected
void EM::Horizon3D::initTrackingArrays ( )
void EM::Horizon3D::initTrackingAuxData ( float  val = mUdf(float))
virtual bool EM::Horizon3D::isAttrib ( const TrcKey ,
int  attr 
) const
virtual

Implements EM::Horizon.

virtual bool EM::Horizon3D::isNodeLocked ( const TrcKey ) const
virtual

Reimplemented from EM::EMObject.

virtual bool EM::Horizon3D::isNodeLocked ( const PosID ) const
virtual

Reimplemented from EM::EMObject.

virtual bool EM::Horizon3D::isNodeSourceType ( const PosID ,
NodeSourceType   
) const
virtual

Reimplemented from EM::EMObject.

virtual bool EM::Horizon3D::isNodeSourceType ( const TrcKey ,
NodeSourceType   
) const
virtual

Reimplemented from EM::EMObject.

virtual void EM::Horizon3D::lockAll ( )
virtual

Reimplemented from EM::EMObject.

EM::Horizon3D::mODTextTranslationClass ( Horizon3D  )
protected
TrcKeySampling EM::Horizon3D::range ( ) const
bool EM::Horizon3D::readNodeArrays ( )
bool EM::Horizon3D::readParentArray ( )
void EM::Horizon3D::removeAll ( )
virtual

Reimplemented from EM::Surface.

void EM::Horizon3D::resetChildren ( )
bool EM::Horizon3D::saveNodeArrays ( )
bool EM::Horizon3D::saveParentArray ( )
static Color EM::Horizon3D::sDefaultLockColor ( )
static
bool EM::Horizon3D::selectChildren ( const TrcKey )
virtual void EM::Horizon3D::setArray ( const SectionID ,
const BinID start,
const BinID step,
Array2D< float > *  arr,
bool  takeover 
)
virtual
bool EM::Horizon3D::setArray2D ( const Array2D< float > &  ,
SectionID  ,
bool  onlyfillundefs,
const char *  histdesc,
bool  trimundef 
)

Returns true on succes. If histdesc is set, the event will be saved to history with the desc.

bool EM::Horizon3D::setArray2D ( Array2D< float > *  ,
const BinID origin,
const BinID step,
bool  takeoverarr = true 
)

Returns true on succes. Takes over array when takeoverarr=true. Removes any existing data.

virtual void EM::Horizon3D::setAttrib ( const TrcKey ,
int  attr,
bool  yn,
bool  addtohist 
)
virtual

Implements EM::Horizon.

virtual void EM::Horizon3D::setLockColor ( const Color )
virtual

Reimplemented from EM::EMObject.

void EM::Horizon3D::setNewName ( )
virtual

Reimplemented from EM::EMObject.

void EM::Horizon3D::setNodeArraySize ( const StepInterval< int > &  ,
const StepInterval< int > &  ,
ArrayType   
)
protected
virtual void EM::Horizon3D::setNodeLocked ( const TrcKey ,
bool  locked 
)
virtual

Reimplemented from EM::EMObject.

virtual void EM::Horizon3D::setNodeSourceType ( const TrcKey ,
NodeSourceType   
)
virtual

Reimplemented from EM::EMObject.

virtual void EM::Horizon3D::setNodeSourceType ( const PosID ,
NodeSourceType   
)
virtual
void EM::Horizon3D::setParent ( const TrcKey ,
const TrcKey parent 
)
void EM::Horizon3D::setParentColor ( const Color )
virtual bool EM::Horizon3D::setPosition ( const EM::SectionID ,
const EM::SubID ,
const Coord3 ,
bool  addtohistory,
NodeSourceType  type = Auto 
)
protectedvirtual

Reimplemented from EM::EMObject.

void EM::Horizon3D::setSurveyGeomID ( Pos::GeomID  )

A 3D Horizon is locked to one survey Geometry

virtual bool EM::Horizon3D::setZ ( const TrcKey ,
float  z,
bool  addtohist,
NodeSourceType  type = Auto 
)
virtual

Fast: writes to the first section.

Implements EM::Horizon.

bool EM::Horizon3D::setZ ( const BinID ,
float  z,
bool  addtohist 
)

Fast: writes to the first section.

static FixedString EM::Horizon3D::typeStr ( )
static
virtual void EM::Horizon3D::unlockAll ( )
virtual

Reimplemented from EM::EMObject.

void EM::Horizon3D::updateNodeSourceArray ( const TrcKeySampling  ,
ArrayType   
)
protected
void EM::Horizon3D::updateTrackingSampling ( )
bool EM::Horizon3D::usePar ( const IOPar )
protectedvirtual

Reimplemented from EM::Horizon.

static uiString EM::Horizon3D::userTypeStr ( )
inlinestatic

Friends And Related Function Documentation

friend class EMManager
friend
friend class EMObject
friend

Member Data Documentation

bool EM::Horizon3D::arrayinited_
protected
SurfaceAuxData& EM::Horizon3D::auxdata
Array2D<char>* EM::Horizon3D::children_
protected
Horizon3DGeometry EM::Horizon3D::geometry_
protected
Color EM::Horizon3D::lockcolor_
protected
Array2D<char>* EM::Horizon3D::lockednodes_
protected
Array2D<char>* EM::Horizon3D::nodesource_
protected

'0'- non interpreted, '1'- manual interpreted,'2' - auto interpreted. see enum NodeSourceType

Color EM::Horizon3D::parentcolor_
protected
Array2D<od_int64>* EM::Horizon3D::parents_
protected
Pos::GeomID EM::Horizon3D::survgeomid_
protected
TrcKeySampling EM::Horizon3D::trackingsamp_
protected

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