OpendTect  6.6
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
MPE::Engine Class Reference

Main engine for tracking EM objects like horizons, faults etc.,. More...

Inheritance diagram for MPE::Engine:
[legend]

Classes

struct  CacheSpecs
 
struct  FlatCubeInfo
 

Public Types

enum  TrackState { Started , Paused , Stopped }
 

Public Member Functions

 Engine ()
 
virtual ~Engine ()
 
Pos::GeomID activeGeomID () const
 
const TrcKeyPathactivePath () const
 
int activeRandomLineID () const
 
const TrcKeyZSamplingactiveVolume () const
 
int addTracker (EM::EMObject *)
 
bool cacheIncludes (const Attrib::SelSpec &, const TrcKeyZSampling &)
 
bool canReDo ()
 
bool canUnDo ()
 
void enableTracking (bool yn)
 
const char * errMsg () const
 
void fillPar (IOPar &) const
 
EMTrackergetActiveTracker ()
 
DataPack::ID getAttribCacheID (const Attrib::SelSpec &) const
 
TrcKeyZSampling getAttribCube (const Attrib::SelSpec &) const
 
void getAvailableTrackerTypes (BufferStringSet &) const
 
int getCacheIndexOf (const Attrib::SelSpec &) const
 
ObjectEditorgetEditor (const EM::ObjectID &, bool create)
 
void getNeededAttribs (TypeSet< Attrib::SelSpec > &) const
 
DataPack::ID getSeedPosDataPack (const TrcKey &, float z, int nrtrcs, const StepInterval< float > &zrg) const
 
TrackState getState () const
 
ObjectSet< TrcKeyZSampling > * getTrackedFlatCubes (const int idx) const
 
EMTrackergetTracker (int idx)
 
const EMTrackergetTracker (int idx) const
 
int getTrackerByObject (const char *) const
 
int getTrackerByObject (const EM::ObjectID &) const
 
bool hasAttribCache (const Attrib::SelSpec &) const
 
bool hasTracker (EM::ObjectID) const
 
int highestTrackerID () const
 
void init ()
 
bool isSelSpecSame (const Attrib::SelSpec &setupss, const Attrib::SelSpec &clickedss) const
 
int nrTrackersAlive () const
 
bool pickingOnSameData (const Attrib::SelSpec &oldss, const Attrib::SelSpec &newss, uiString &error) const
 
void redo (uiString &errmsg)
 
void refTracker (EM::ObjectID)
 
void removeEditor (const EM::ObjectID &)
 
void removeSelectionInPolygon (const Selector< Coord3 > &, TaskRunner *)
 
void removeTracker (int idx)
 
void setActive2DLine (Pos::GeomID)
 
void setActivePath (const TrcKeyPath *)
 
void setActiveRandomLineID (int)
 
void setActiveTracker (const EM::ObjectID &)
 
void setActiveTracker (EMTracker *)
 
void setActiveVolume (const TrcKeyZSampling &)
 
bool setAttribData (const Attrib::SelSpec &, DataPack::ID)
 
void setOneActiveTracker (const EMTracker *)
 
BufferString setupFileName (const MultiID &) const
 
void setValidator (TrackSettingsValidator *)
 
bool startFromEdges (uiString &)
 
bool startRetrack (uiString &)
 
bool startTracking (uiString &)
 
void stopTracking ()
 
void swapCacheAndItsBackup ()
 
bool trackingInProgress () const
 
void undo (uiString &errmsg)
 
void unRefTracker (EM::ObjectID, bool nodel=false)
 
void unsetOneActiveTracker ()
 
void updateFlatCubesContainer (const TrcKeyZSampling &, int idx, bool)
 
void updateSeedOnlyPropagation (bool)
 
bool usePar (const IOPar &)
 
- 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 detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
void stopReceivingNotifications () const
 

Public Attributes

Notifier< EngineactionCalled
 
Notifier< EngineactionFinished
 
Notifier< Engineactivevolumechange
 
Notifier< EngineloadEMObject
 
MultiID midtoload
 
Notifier< EnginesettingsChanged
 
Notifier< Enginetrackeraddremove
 

Protected Member Functions

void applClosingCB (CallBacker *)
 
EM::EMObjectgetCurrentEMObject () const
 
bool prepareForRetrack ()
 
bool prepareForTrackInVolume (uiString &)
 
bool trackFromEdges ()
 
void trackingFinishedCB (CallBacker *)
 
bool trackInVolume ()
 

Static Protected Member Functions

static const char * sKeyEnabled ()
 
static const char * sKeyNrTrackers ()
 
static const char * sKeyObjectID ()
 
static const char * sKeySeedConMode ()
 
static const char * sKeyTrackPlane ()
 

Protected Attributes

Pos::GeomID activegeomid_
 
EMTrackeractivetracker_
 
TrcKeyZSampling activevolume_
 
ObjectSet< CacheSpecsattribbackupcachespecs_
 
TypeSet< DataPack::IDattribbkpcachedatapackids_
 
TypeSet< DataPack::IDattribcachedatapackids_
 
ObjectSet< CacheSpecsattribcachespecs_
 
DataPackMgrdpm_
 
ObjectSet< ObjectEditoreditors_
 
BufferString errmsg_
 
ObjectSet< ObjectSet< FlatCubeInfo > > flatcubescontainer_
 
const EMTrackeroneactivetracker_
 
int rdlid_
 
const TrcKeyPathrdmlinetkpath_
 
TrackState state_
 
ObjectSet< HorizonTrackerMgrtrackermgrs_
 
ObjectSet< EMTrackertrackers_
 
int undoeventid_
 
TrackSettingsValidatorvalidator_
 

Friends

Engineengine ()
 

Additional Inherited Members

- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Detailed Description

Main engine for tracking EM objects like horizons, faults etc.,.

<>

Member Enumeration Documentation

◆ TrackState

Enumerator
Started 
Paused 
Stopped 

Constructor & Destructor Documentation

◆ Engine()

MPE::Engine::Engine ( )

◆ ~Engine()

virtual MPE::Engine::~Engine ( )
virtual

Member Function Documentation

◆ activeGeomID()

Pos::GeomID MPE::Engine::activeGeomID ( ) const

◆ activePath()

const TrcKeyPath* MPE::Engine::activePath ( ) const

◆ activeRandomLineID()

int MPE::Engine::activeRandomLineID ( ) const

◆ activeVolume()

const TrcKeyZSampling& MPE::Engine::activeVolume ( ) const

◆ addTracker()

int MPE::Engine::addTracker ( EM::EMObject )

◆ applClosingCB()

void MPE::Engine::applClosingCB ( CallBacker )
protected

◆ cacheIncludes()

bool MPE::Engine::cacheIncludes ( const Attrib::SelSpec ,
const TrcKeyZSampling  
)

◆ canReDo()

bool MPE::Engine::canReDo ( )

◆ canUnDo()

bool MPE::Engine::canUnDo ( )

◆ enableTracking()

void MPE::Engine::enableTracking ( bool  yn)

◆ errMsg()

const char* MPE::Engine::errMsg ( ) const

◆ fillPar()

void MPE::Engine::fillPar ( IOPar ) const

◆ getActiveTracker()

EMTracker* MPE::Engine::getActiveTracker ( )

◆ getAttribCacheID()

DataPack::ID MPE::Engine::getAttribCacheID ( const Attrib::SelSpec ) const

◆ getAttribCube()

TrcKeyZSampling MPE::Engine::getAttribCube ( const Attrib::SelSpec ) const

Returns the cube that is needed for this attrib, given that the activearea should be tracked.

◆ getAvailableTrackerTypes()

void MPE::Engine::getAvailableTrackerTypes ( BufferStringSet ) const

◆ getCacheIndexOf()

int MPE::Engine::getCacheIndexOf ( const Attrib::SelSpec ) const

◆ getCurrentEMObject()

EM::EMObject* MPE::Engine::getCurrentEMObject ( ) const
protected

◆ getEditor()

ObjectEditor* MPE::Engine::getEditor ( const EM::ObjectID ,
bool  create 
)

◆ getNeededAttribs()

void MPE::Engine::getNeededAttribs ( TypeSet< Attrib::SelSpec > &  ) const

◆ getSeedPosDataPack()

DataPack::ID MPE::Engine::getSeedPosDataPack ( const TrcKey ,
float  z,
int  nrtrcs,
const StepInterval< float > &  zrg 
) const

◆ getState()

TrackState MPE::Engine::getState ( ) const
inline

◆ getTrackedFlatCubes()

ObjectSet<TrcKeyZSampling>* MPE::Engine::getTrackedFlatCubes ( const int  idx) const

◆ getTracker() [1/2]

EMTracker* MPE::Engine::getTracker ( int  idx)

◆ getTracker() [2/2]

const EMTracker* MPE::Engine::getTracker ( int  idx) const

◆ getTrackerByObject() [1/2]

int MPE::Engine::getTrackerByObject ( const char *  ) const

◆ getTrackerByObject() [2/2]

int MPE::Engine::getTrackerByObject ( const EM::ObjectID ) const

◆ hasAttribCache()

bool MPE::Engine::hasAttribCache ( const Attrib::SelSpec ) const

◆ hasTracker()

bool MPE::Engine::hasTracker ( EM::ObjectID  ) const

◆ highestTrackerID()

int MPE::Engine::highestTrackerID ( ) const

◆ init()

void MPE::Engine::init ( )

◆ isSelSpecSame()

bool MPE::Engine::isSelSpecSame ( const Attrib::SelSpec setupss,
const Attrib::SelSpec clickedss 
) const

◆ nrTrackersAlive()

int MPE::Engine::nrTrackersAlive ( ) const

◆ pickingOnSameData()

bool MPE::Engine::pickingOnSameData ( const Attrib::SelSpec oldss,
const Attrib::SelSpec newss,
uiString error 
) const

◆ prepareForRetrack()

bool MPE::Engine::prepareForRetrack ( )
protected

◆ prepareForTrackInVolume()

bool MPE::Engine::prepareForTrackInVolume ( uiString )
protected

◆ redo()

void MPE::Engine::redo ( uiString errmsg)

◆ refTracker()

void MPE::Engine::refTracker ( EM::ObjectID  )

◆ removeEditor()

void MPE::Engine::removeEditor ( const EM::ObjectID )

◆ removeSelectionInPolygon()

void MPE::Engine::removeSelectionInPolygon ( const Selector< Coord3 > &  ,
TaskRunner  
)

◆ removeTracker()

void MPE::Engine::removeTracker ( int  idx)

◆ setActive2DLine()

void MPE::Engine::setActive2DLine ( Pos::GeomID  )

◆ setActivePath()

void MPE::Engine::setActivePath ( const TrcKeyPath )

◆ setActiveRandomLineID()

void MPE::Engine::setActiveRandomLineID ( int  )

◆ setActiveTracker() [1/2]

void MPE::Engine::setActiveTracker ( const EM::ObjectID )

◆ setActiveTracker() [2/2]

void MPE::Engine::setActiveTracker ( EMTracker )

◆ setActiveVolume()

void MPE::Engine::setActiveVolume ( const TrcKeyZSampling )

◆ setAttribData()

bool MPE::Engine::setAttribData ( const Attrib::SelSpec ,
DataPack::ID   
)

◆ setOneActiveTracker()

void MPE::Engine::setOneActiveTracker ( const EMTracker )

◆ setupFileName()

BufferString MPE::Engine::setupFileName ( const MultiID ) const

◆ setValidator()

void MPE::Engine::setValidator ( TrackSettingsValidator )

◆ sKeyEnabled()

static const char* MPE::Engine::sKeyEnabled ( )
inlinestaticprotected

◆ sKeyNrTrackers()

static const char* MPE::Engine::sKeyNrTrackers ( )
inlinestaticprotected

◆ sKeyObjectID()

static const char* MPE::Engine::sKeyObjectID ( )
inlinestaticprotected

◆ sKeySeedConMode()

static const char* MPE::Engine::sKeySeedConMode ( )
inlinestaticprotected

◆ sKeyTrackPlane()

static const char* MPE::Engine::sKeyTrackPlane ( )
inlinestaticprotected

◆ startFromEdges()

bool MPE::Engine::startFromEdges ( uiString )

◆ startRetrack()

bool MPE::Engine::startRetrack ( uiString )

◆ startTracking()

bool MPE::Engine::startTracking ( uiString )

◆ stopTracking()

void MPE::Engine::stopTracking ( )

◆ swapCacheAndItsBackup()

void MPE::Engine::swapCacheAndItsBackup ( )

◆ trackFromEdges()

bool MPE::Engine::trackFromEdges ( )
protected

◆ trackingFinishedCB()

void MPE::Engine::trackingFinishedCB ( CallBacker )
protected

◆ trackingInProgress()

bool MPE::Engine::trackingInProgress ( ) const

◆ trackInVolume()

bool MPE::Engine::trackInVolume ( )
protected

◆ undo()

void MPE::Engine::undo ( uiString errmsg)

◆ unRefTracker()

void MPE::Engine::unRefTracker ( EM::ObjectID  ,
bool  nodel = false 
)

◆ unsetOneActiveTracker()

void MPE::Engine::unsetOneActiveTracker ( )

◆ updateFlatCubesContainer()

void MPE::Engine::updateFlatCubesContainer ( const TrcKeyZSampling ,
int  idx,
bool   
)

add = true, remove = false.

◆ updateSeedOnlyPropagation()

void MPE::Engine::updateSeedOnlyPropagation ( bool  )

◆ usePar()

bool MPE::Engine::usePar ( const IOPar )

Friends And Related Function Documentation

◆ engine

Engine& engine ( )
friend

Member Data Documentation

◆ actionCalled

Notifier<Engine> MPE::Engine::actionCalled

◆ actionFinished

Notifier<Engine> MPE::Engine::actionFinished

◆ activegeomid_

Pos::GeomID MPE::Engine::activegeomid_
protected

◆ activetracker_

EMTracker* MPE::Engine::activetracker_
protected

◆ activevolume_

TrcKeyZSampling MPE::Engine::activevolume_
protected

◆ activevolumechange

Notifier<Engine> MPE::Engine::activevolumechange

◆ attribbackupcachespecs_

ObjectSet<CacheSpecs> MPE::Engine::attribbackupcachespecs_
protected

◆ attribbkpcachedatapackids_

TypeSet<DataPack::ID> MPE::Engine::attribbkpcachedatapackids_
protected

◆ attribcachedatapackids_

TypeSet<DataPack::ID> MPE::Engine::attribcachedatapackids_
protected

◆ attribcachespecs_

ObjectSet<CacheSpecs> MPE::Engine::attribcachespecs_
protected

◆ dpm_

DataPackMgr& MPE::Engine::dpm_
protected

◆ editors_

ObjectSet<ObjectEditor> MPE::Engine::editors_
protected

◆ errmsg_

BufferString MPE::Engine::errmsg_
protected

◆ flatcubescontainer_

ObjectSet<ObjectSet<FlatCubeInfo> > MPE::Engine::flatcubescontainer_
protected

◆ loadEMObject

Notifier<Engine> MPE::Engine::loadEMObject

◆ midtoload

MultiID MPE::Engine::midtoload

◆ oneactivetracker_

const EMTracker* MPE::Engine::oneactivetracker_
protected

◆ rdlid_

int MPE::Engine::rdlid_
protected

◆ rdmlinetkpath_

const TrcKeyPath* MPE::Engine::rdmlinetkpath_
protected

◆ settingsChanged

Notifier<Engine> MPE::Engine::settingsChanged

◆ state_

TrackState MPE::Engine::state_
protected

◆ trackeraddremove

Notifier<Engine> MPE::Engine::trackeraddremove

◆ trackermgrs_

ObjectSet<HorizonTrackerMgr> MPE::Engine::trackermgrs_
protected

◆ trackers_

ObjectSet<EMTracker> MPE::Engine::trackers_
protected

◆ undoeventid_

int MPE::Engine::undoeventid_
protected

◆ validator_

TrackSettingsValidator* MPE::Engine::validator_
protected

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