OpendTect-6_4  6.4
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | 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)
 Fast: writes to the first section. More...
 
virtual bool setZAndNodeSourceType (const TrcKey &, float z, bool addtohist, NodeSourceType type=Auto)
 
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
 
virtual bool isNodeLocked (const PosID &) const
 
bool hasNodeSourceType (const PosID &) 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, int 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 setNodeLocked (const TrcKey &, bool locked)
 
bool isNodeLocked (const TrcKey &) const
 
void lockAll ()
 
void unlockAll ()
 
const Array2D< char > * getLockedNodes () const
 
void setParentColor (const Color &)
 
const ColorgetParentColor () const
 
virtual bool setPos (const EM::PosID &, const Coord3 &, bool addtohistory)
 
virtual bool setPos (const EM::SectionID &, const EM::SubID &, const Coord3 &, bool addtohistory)
 
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...
 
Array2D< char > * getChildren (const TrcKey &) const
 
TrcKey::SurvID getSurveyID () const
 
- Public Member Functions inherited from EM::Horizon
void setStratLevelID (int lvlid)
 
int 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 MultiIDmultiID () const
 
void setMultiID (const MultiID &)
 
virtual bool isOK () const
 
void setName (const char *nm)
 
BufferString name () const
 
uiString uiName () const
 
virtual int sectionIndex (const SectionID &) const
 
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 &)
 
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
 
virtual bool unSetPos (const EM::PosID &, bool addtohistory)
 
virtual bool unSetPos (const EM::SectionID &, const EM::SubID &, bool addtohistory)
 
virtual void setLockColor (const Color &)
 
virtual const ColorgetLockColor () const
 
virtual bool hasLockedNodes () const
 
void setSelectionColor (const Color &)
 
const ColorgetSelectionColor () const
 
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 MarkerStyle3DgetPosAttrMarkerStyle (int attr)
 
void setPosAttrMarkerStyle (int attr, const MarkerStyle3D &)
 
virtual void lockPosAttrib (int attr, bool yn)
 
virtual bool isPosAttribLocked (int attr) const
 
virtual void removeSelected (const Selector< Coord3 > &, TaskRunner *)
 
void removeSelected (const TypeSet< EM::SubID > &)
 
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 saveDisplayPars () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 

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 sDefaultSelectionColor ()
 
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 sPermanentControlNode ()
 
static int sTemporaryControlNode ()
 
static int sEdgeControlNode ()
 
static int sTerminationNode ()
 
static int sSeedNode ()
 
static int sIntersectionNode ()
 

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 ()
 
void fillPar (IOPar &) const
 
bool usePar (const IOPar &)
 
void fillDisplayPar (IOPar &) const
 
bool useDisplayPar (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 setNodeSourceArray (Array2D< char > *, ArrayType)
 
void createNodeSourceArray (const StepInterval< int > &, const StepInterval< int > &, ArrayType)
 
TrcKeySampling getSectionTrckeySampling () const
 
- 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 (EMManager &)
 must be called after creation More...
 
virtual void prepareForDelete () const
 
void posIDChangeCB (CallBacker *)
 
const MarkerStyle3DpreferredMarkerStyle3D () const
 
void setPreferredMarkerStyle3D (const MarkerStyle3D &)
 
void useDisplayPars (const IOPar &)
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 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_
 
Pos::GeomID survgeomid_
 
Array2D< char > * nodesource_
 
bool arrayinited_
 
- Protected Attributes inherited from EM::Horizon
int stratlevelid_
 
- Protected Attributes inherited from EM::Surface
BufferString dbinfo
 
- Protected Attributes inherited from EM::EMObject
BufferString objname_
 
ObjectID id_
 
MultiID storageid_
 
class EMManagermanager_
 
uiString errmsg_
 
Colorpreferredcolor_
 
OD::LineStylepreferredlinestyle_
 
MarkerStyle3Dpreferredmarkerstyle_
 
ObjectSet< PosAttribposattribs_
 
TypeSet< int > attribs_
 
TrcKeyZSampling removebypolyposbox_
 
bool changed_
 
bool fullyloaded_
 
bool locked_
 
int burstalertcount_
 
Threads::Lock setposlock_
 
bool haslockednodes_
 
Color lockcolor_
 
Color selectioncolor_
 
bool insideselremoval_
 
bool selremoving_
 

Private Member Functions

 mODTextTranslationClass (Horizon3D)
 

Friends

class EMManager
 
class EMObject
 

Additional Inherited Members

- 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::fillDisplayPar ( IOPar ) const
protectedvirtual

Reimplemented from EM::EMObject.

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
Array2D<char>* EM::Horizon3D::getChildren ( const TrcKey ) const
inline
virtual Coord3 EM::Horizon3D::getCoord ( const TrcKey ) const
virtual

Implements EM::Horizon.

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

Implements EM::Horizon.

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.

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 PosID ) const
virtual

Reimplemented from EM::EMObject.

bool EM::Horizon3D::isNodeLocked ( const TrcKey ) 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.

void EM::Horizon3D::lockAll ( )
virtual

Reimplemented from EM::EMObject.

EM::Horizon3D::mODTextTranslationClass ( Horizon3D  )
private
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
static Color EM::Horizon3D::sDefaultSelectionColor ( )
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,
int  yn,
bool  addtohist 
)
virtual

Implements EM::Horizon.

void EM::Horizon3D::setNewName ( )
virtual

Reimplemented from EM::EMObject.

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

Reimplemented from EM::EMObject.

void EM::Horizon3D::setNodeSourceArray ( Array2D< char > *  ,
ArrayType   
)
protected
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::setPos ( const EM::PosID ,
const Coord3 ,
bool  addtohistory 
)
virtual

Reimplemented from EM::EMObject.

virtual bool EM::Horizon3D::setPos ( const EM::SectionID ,
const EM::SubID ,
const Coord3 ,
bool  addtohistory 
)
virtual

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 
)
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.

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

Implements EM::Horizon.

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

Reimplemented from EM::EMObject.

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

Reimplemented from EM::EMObject.

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
Array2D<char>* EM::Horizon3D::lockednodes_
protected
Array2D<char>* EM::Horizon3D::nodesource_
protected

'0'- non interpreted, '1'- manual interpreted,'2' - auto interpreted. '3'-Gridding. 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. 2019