OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Well::Track Class Reference

Well track. More...

#include <welltrack.h>

Inheritance diagram for Well::Track:
[legend]

Public Member Functions

 Track (const char *nm=nullptr)
 
 Track (const Track &)
 
 ~Track ()
 
void addPoint (const Coord &, float z, float dah=mUdf(float))
 Point must be further down track. No checks.
 
void addPoint (const Coord3 &, float dah=mUdf(float))
 
bool alwaysDownward () const
 
Coord3 coordAfterIdx (float d_ah, int) const
 Beware: no bounds check on index.
 
bool extendIfNecessary (const Interval< float > &dahrg)
 return if changed
 
const TypeSet< Coord3 > & getAllPos () const
 
void getAllTVD (int sz, const float *md, const UnitOfMeasure *in, float *tvd, const UnitOfMeasure *out, Info::DepthType dtype=Info::TVDSS) const
 
float getDahForTVD (double, float prevdah=mUdf(float)) const
 
float getDahForTVD (float, float prevdah=mUdf(float)) const
 
float getKbElev () const
 
Coord3 getPos (float d_ah) const
 
Interval< float > getTVDRange (const Interval< float > &dahrg, const UnitOfMeasure *in, const UnitOfMeasure *out, Info::DepthType dtype=Info::TVDSS) const
 
void insertAfterIdx (int, const Coord3 &)
 Know what you're doing - not used normally.
 
bool insertAtDah (float dah, float zpos) override
 will interpolate x,y coords
 
int insertPoint (const Coord &, float z)
 
int insertPoint (const Coord3 &)
 
bool isEmpty () const
 
float nearestDah (const Coord3 &) const
 
Trackoperator= (const Track &)
 
const Coord3pos (int idx) const
 
void removePoint (int)
 Will correct all dahs below point.
 
void setPoint (int, const Coord &, float z)
 Will correct all dahs below point.
 
void setPoint (int, const Coord3 &)
 
int size () const
 
float td () const
 
void toTime (const Data &)
 
float value (int idx) const override
 
bool zIsTime () const
 
const Interval< float > zRange () const
 returns (0, 0) for empty track
 
const Interval< double > zRangeD () const
 
- Public Member Functions inherited from Well::DahObj
virtual ~DahObj ()
 
void addToDahFrom (int fromidx, float extradah)
 
float dah (int idx) const
 
float * dahArr ()
 
const float * dahArr () const
 
Interval< float > & dahRange ()
 
Interval< float > dahRange () const
 returns Udf for empty dah_
 
float dahStep (bool min_else_average) const
 
void deInterpolate ()
 Remove unnecessary points.
 
int indexOf (float dah) const
 
bool isEmpty () const
 
virtual void remove (int idx)
 
void removeFromDahFrom (int fromidx, float extradah)
 
virtual void setEmpty ()
 
int size () const
 
void updateDahRange ()
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=nullptr)
 
 NamedCallBacker (const NamedCallBacker &)=delete
 
 ~NamedCallBacker ()
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
NamedCallBackeroperator= (const NamedCallBacker &)=delete
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- 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.
 
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.
 
CallBackeroperator= (const CallBacker &)=delete
 
void stopReceivingNotifications () const
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
virtual BufferString getName () const
 
bool getNameFromPar (const IOPar &)
 
const name_typename () const override
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual void setName (const char *nm)
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 

Static Public Member Functions

static float getDepth (const Data &, float d_ah, Info::DepthType dtype=Info::TVDSS)
 
- Static Public Member Functions inherited from Well::DahObj
static Notifier< DahObj > & instanceCreated ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Protected Member Functions

void eraseAux () override
 
void removeAux (int idx) override
 
- Protected Member Functions inherited from Well::DahObj
 DahObj (const char *nm=nullptr)
 
 DahObj (const DahObj &)
 
DahObjoperator= (const DahObj &)
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 

Protected Attributes

TypeSet< Coord3pos_
 
bool zistime_ = false
 
TypeSet< Coord3 > * zpos_ = nullptr
 
- Protected Attributes inherited from Well::DahObj
TypeSet< float > dah_
 
Interval< float > dahrange_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 

Detailed Description

Well track.

<>

Constructor & Destructor Documentation

◆ Track() [1/2]

Well::Track::Track ( const char * nm = nullptr)

◆ Track() [2/2]

Well::Track::Track ( const Track & )

◆ ~Track()

Well::Track::~Track ( )

Member Function Documentation

◆ addPoint() [1/2]

void Well::Track::addPoint ( const Coord & ,
float z,
float dah = mUdf(float) )

Point must be further down track. No checks.

◆ addPoint() [2/2]

void Well::Track::addPoint ( const Coord3 & ,
float dah = mUdf(float) )

◆ alwaysDownward()

bool Well::Track::alwaysDownward ( ) const

◆ coordAfterIdx()

Coord3 Well::Track::coordAfterIdx ( float d_ah,
int  ) const

Beware: no bounds check on index.

◆ eraseAux()

void Well::Track::eraseAux ( )
overrideprotectedvirtual

Implements Well::DahObj.

◆ extendIfNecessary()

bool Well::Track::extendIfNecessary ( const Interval< float > & dahrg)

return if changed

◆ getAllPos()

const TypeSet< Coord3 > & Well::Track::getAllPos ( ) const
inline

◆ getAllTVD()

void Well::Track::getAllTVD ( int sz,
const float * md,
const UnitOfMeasure * in,
float * tvd,
const UnitOfMeasure * out,
Info::DepthType dtype = Info::TVDSS ) const

◆ getDahForTVD() [1/2]

float Well::Track::getDahForTVD ( double ,
float prevdah = mUdf(float) ) const

◆ getDahForTVD() [2/2]

float Well::Track::getDahForTVD ( float ,
float prevdah = mUdf(float) ) const

Non-unique. previous DAH may be helpful Don't use if track is in time

◆ getDepth()

static float Well::Track::getDepth ( const Data & ,
float d_ah,
Info::DepthType dtype = Info::TVDSS )
static

◆ getKbElev()

float Well::Track::getKbElev ( ) const

◆ getPos()

Coord3 Well::Track::getPos ( float d_ah) const

◆ getTVDRange()

Interval< float > Well::Track::getTVDRange ( const Interval< float > & dahrg,
const UnitOfMeasure * in,
const UnitOfMeasure * out,
Info::DepthType dtype = Info::TVDSS ) const

◆ insertAfterIdx()

void Well::Track::insertAfterIdx ( int ,
const Coord3 &  )

Know what you're doing - not used normally.

◆ insertAtDah()

bool Well::Track::insertAtDah ( float dah,
float zpos )
overridevirtual

will interpolate x,y coords

Implements Well::DahObj.

◆ insertPoint() [1/2]

int Well::Track::insertPoint ( const Coord & ,
float z )

a 'good' place will be found If inserted at top, z will be used as first dah returns position index of the new point

◆ insertPoint() [2/2]

int Well::Track::insertPoint ( const Coord3 & )

◆ isEmpty()

bool Well::Track::isEmpty ( ) const

◆ nearestDah()

float Well::Track::nearestDah ( const Coord3 & ) const

◆ operator=()

Track & Well::Track::operator= ( const Track & )

◆ pos()

const Coord3 & Well::Track::pos ( int idx) const
inline

◆ removeAux()

void Well::Track::removeAux ( int idx)
overrideprotectedvirtual

Implements Well::DahObj.

◆ removePoint()

void Well::Track::removePoint ( int )

Will correct all dahs below point.

◆ setPoint() [1/2]

void Well::Track::setPoint ( int ,
const Coord & ,
float z )

Will correct all dahs below point.

◆ setPoint() [2/2]

void Well::Track::setPoint ( int ,
const Coord3 &  )

◆ size()

int Well::Track::size ( ) const
inline

◆ td()

float Well::Track::td ( ) const
inline

◆ toTime()

void Well::Track::toTime ( const Data & )

◆ value()

float Well::Track::value ( int idx) const
inlineoverridevirtual

Implements Well::DahObj.

◆ zIsTime()

bool Well::Track::zIsTime ( ) const
inline

◆ zRange()

const Interval< float > Well::Track::zRange ( ) const

returns (0, 0) for empty track

◆ zRangeD()

const Interval< double > Well::Track::zRangeD ( ) const

Member Data Documentation

◆ pos_

TypeSet<Coord3> Well::Track::pos_
protected

◆ zistime_

bool Well::Track::zistime_ = false
protected

◆ zpos_

TypeSet<Coord3>* Well::Track::zpos_ = nullptr
protected

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