OpendTect  7.0
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Attrib::StorageProvider Class Reference

Attribute storage provider. More...

Inheritance diagram for Attrib::StorageProvider:
[legend]

Public Member Functions

void adjust2DLineStoredVolume () override
 
bool compDistBetwTrcsStats (bool force=false) override
 
void fillDataPackWithTrc (RegularSeisDataPack *) const override
 
void getCompNames (BufferStringSet &) const override
 
float getDistBetwTrcs (bool, const char *linenm=0) const override
 
BinID getElementStepoutStoredSpecial () const
 
Pos::GeomID getGeomID () const override
 
bool getPossibleVolume (int outp, TrcKeyZSampling &) override
 
BinID getStepoutStep () const override
 
int moveToNextTrace (BinID startpos=BinID::udf(), bool firstcheck=false) override
 
bool needStoredInput () const override
 
void updateStorageReqs (bool all=true) override
 
- Public Member Functions inherited from Attrib::Provider
void addLocalCompZIntervals (const TypeSet< Interval< int > > &)
 
int alignInputs (ObjectSet< Provider > &)
 
int comparePosAndAlign (Provider *, bool, Provider *, bool, bool)
 
void computeNewStartPos (BinID &)
 
void computeRefStep ()
 
void computeRefZ0 ()
 
void doParallel (bool yn)
 
void enableAllOutputs (bool yn=true)
 
void enableOutput (int output, bool yn=true)
 
uiString errMsg () const
 
float getApplicableCrlDist (bool) const
 
virtual void getCompOutputIDs (TypeSet< int > &) const
 
Coord getCoord (const BinID &) const
 
Coord getCurrentCoord () const
 
BinID getCurrentPosition () const
 
virtual const SeisTrcInfogetCurrentTrcInfo () const
 
const DataHoldergetData (const BinID &relpos=BinID(0, 0), int idx=0)
 
const DataHoldergetDataDontCompute (const BinID &relpos) const
 
bool getDataUnavailableFlag () const
 
const BinIDgetDesBufStepout () const
 
DescgetDesc ()
 
const DescgetDesc () const
 
const TrcKeyZSamplinggetDesiredVolume () const
 
BinID getElementStepout () const
 
ObjectSet< Provider > & getInputs ()
 
const TrcKeyZSamplinggetPossibleVolume () const
 
float getRefStep () const
 
float getRefZ0 () const
 
const BinIDgetReqBufStepout () const
 
int getTotalNrPos (bool)
 
BinID getTrcInfoBid () const
 
virtual void initSteering ()
 
bool is2D () const
 
virtual bool isOK () const
 
bool isOutputEnabled (int output) const
 
virtual bool isSingleTrace () const
 
const TypeSet< Interval< int > > & localCompZIntervals () const
 
int nrOutputs () const
 
virtual void prepareForComputeData ()
 
virtual void prepPriorToBoundsCalc ()
 
virtual bool prepPriorToOutputSetup ()
 
virtual void prepSteeringForStepout (const BinID &)
 
void resetDesiredVolume ()
 
void resetMoved ()
 
void resetZIntervals ()
 
void setCurLineName (const char *)
 
virtual bool setCurrentPosition (const BinID &)
 
void setDataUnavailableFlag (bool yn)
 
void setDesiredVolume (const TrcKeyZSampling &)
 
void setExactZ (const TypeSet< float > &)
 
void setExtraZ (const Interval< float > &)
 
virtual void setGeomID (Pos::GeomID)
 
void setNeedInterpol (bool)
 
void setOutputInterestSize (bool preserve=false)
 
void setPossibleVolume (const TrcKeyZSampling &)
 
virtual void setRdmPaths (const TypeSet< BinID > &truepath, const TypeSet< BinID > &snappedpath)
 For directional attributes. More...
 
void setRefStep (float step)
 
void setRefZ0 (float z0)
 
void setSelData (const Seis::SelData *)
 
void setUseSC ()
 
virtual void updateCSIfNeeded (TrcKeyZSampling &) const
 
void updateCurrentInfo ()
 
void updateInputReqs (int input=-1)
 
virtual bool usesTracePosition () const
 
- Public Member Functions inherited from RefCount::Referenced
void addObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
int nrRefs () const
 Only for expert use. More...
 
void ref () const
 
bool refIfReffed () const
 Don't use in production, for debugging. More...
 
void removeObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
bool tryRef () const
 Not for normal use. May become private. More...
 
void unRef () const
 
void unRefNoDelete () const
 

Static Public Member Functions

static const char * attribName ()
 
static void initClass ()
 
static const char * keyStr ()
 
- Static Public Member Functions inherited from Attrib::Provider
static Providercreate (Desc &, uiString &errmsg)
 
static uiString prepare (Desc &)
 
- Static Public Member Functions inherited from RefCount::Referenced
static bool isSane (const Referenced *)
 

Protected Types

enum  Status { Nada , StorageOpened , Ready }
 

Protected Member Functions

 StorageProvider (Desc &)
 
 ~StorageProvider ()
 
bool allowParallelComputation () const override
 
void checkClassType (const SeisTrc *, BoolTypeSet &) const
 
bool checkDesiredTrcRgOK (StepInterval< int >, StepInterval< float >)
 
bool checkDesiredVolumeOK ()
 
bool checkInpAndParsAtStart () override
 
bool computeData (const DataHolder &output, const BinID &relpos, int t0, int nrsamples, int threadid) const override
 
bool fillDataHolderWithTrc (const SeisTrc *, const DataHolder &) const
 
MultiID getDBKey (const Desc *=nullptr) const
 
DataPack::FullID getDPID (const Desc *=nullptr) const
 
bool getLine2DStoredVolume ()
 
SeisMSCProvidergetMSCProvider (bool &) const override
 
BinDataDesc getOutputFormat (int output) const override
 
SeisTrcgetTrcFromPack (const BinID &, int) const
 
bool getZ0StoredData (float &z0) const override
 
bool getZStepStoredData (float &step) const override
 
bool initMSCProvider ()
 
void registerNewPosInfo (SeisTrc *, const BinID &, bool, bool &)
 
bool set2DRangeSelData ()
 
void setDesBufStepout (const BinID &, bool wait=false) override
 
bool setMSCProvSelData ()
 
void setReqBufStepout (const BinID &, bool wait=false) override
 
bool setTableSelData ()
 
bool useInterTrcDist () const override
 
- Protected Member Functions inherited from Attrib::Provider
 Provider (Desc &)
 
virtual ~Provider ()
 
void addParent (Provider *prov)
 
void computeDesInputCube (int inp, int out, TrcKeyZSampling &, bool usestepout=true) const
 
float crlDist () const
 
virtual const BinIDdesStepout (int input, int output) const
 
virtual const Interval< float > * desZMargin (int input, int output) const
 
virtual const Interval< int > * desZSampMargin (int input, int output) const
 
float dipFactor () const
 
virtual bool doNotReUseDH () const
 
void fillInputRangesArray (Array2DImpl< BasicInterval< int > > &, int, const BasicInterval< int > &)
 
virtual bool finalizeCalculation (bool scs)
 
DataHoldergetDataHolder (const BinID &relpos)
 
int getDataIndex (int input) const
 
float getExtraZFromSampInterval (int, int) const
 
float getExtraZFromSampPos (float) const
 
virtual bool getInputData (const BinID &relpos, int idx)
 
virtual bool getInputOutput (int input, TypeSet< int > &) const
 
float getInputValue (const DataHolder &, int inputidx, int sampleidx, int z0) const
 
float getInterpolInputValue (const DataHolder &, int inputidx, float sample, int z0) const
 
float getInterpolInputValue (const DataHolder &, int inputidx, float zval) const
 
float getZAtSample (int idx) const
 
float inlDist () const
 
bool isNew2DLine () const
 
bool isUsedMultTimes ()
 
float lineDist () const
 
float maxSecureDip () const
 
virtual int minTaskSize () const
 
virtual bool preProcCommonToAllThreads (const DataHolder &out, const BinID &relpos)
 
void removeDataHolder (const BinID &relpos)
 
virtual const BinIDreqStepout (int input, int output) const
 
virtual const Interval< float > * reqZMargin (int input, int output) const
 
virtual const Interval< int > * reqZSampMargin (int input, int output) const
 
void setInput (int input, Provider *)
 
virtual bool setNrThreads (int idx)
 
void setOutputValue (const DataHolder &output, int outputidx, int sampleidx, int z0, float val) const
 
void setUsedMultTimes ()
 
void stdPrepSteering (const BinID &)
 
float trcDist () const
 
float zFactor () const
 
bool zIsTime () const
 
- Protected Member Functions inherited from RefCount::Referenced
 Referenced ()
 
 Referenced (const Referenced &)
 
virtual ~Referenced ()
 
Referencedoperator= (const Referenced &)
 

Static Protected Member Functions

static ProvidercreateInstance (Desc &)
 
static void updateDesc (Desc &)
 
static void updateDescAndGetCompNms (Desc &, BufferStringSet *)
 
- Static Protected Member Functions inherited from Attrib::Provider
static ProviderinternalCreate (Desc &, ObjectSet< Provider > &, bool &issame, uiString &)
 

Protected Attributes

TypeSet< BinDataDescdatachar_
 
bool isondisc_
 
PosInfo::LineSet2DDatals2ddata_ = nullptr
 
SeisMSCProvidermscprov_ = nullptr
 
enum Attrib::StorageProvider::Status status_ = Nada
 
BinID stepoutstep_
 
TrcKeyZSampling storedvolume_
 
bool useintertrcdist_ = false
 
- Protected Attributes inherited from Attrib::Provider
ObjectSet< Providerallexistingprov_
 
bool alreadymoved_
 
BinID currentbid_
 
const SeisTrcInfocurtrcinfo_
 
bool dataunavailableflag_
 
BinID desbufferstepout_
 
Descdesc_
 
TrcKeyZSamplingdesiredvolume_
 
uiString errmsg_
 
TypeSet< float > exactz_
 
Interval< float > extraz_
 
Pos::GeomID geomid_
 
ObjectSet< Providerinputs_
 
bool isusedmulttimes_
 
DataHolderLineBufferlinebuffer_
 
TypeSet< Interval< int > > localcomputezintervals_
 
bool needinterp_
 
TypeSet< int > outputinterest_
 
bool parallel_ = true
 
ObjectSet< Providerparents_
 
TrcKeyZSamplingpossiblevolume_
 
int prevtrcnr_
 
ProviderTaskprovidertask_
 
float refstep_
 
float refz0_
 
BinID reqbufferstepout_
 
const Seis::SelDataseldata_
 
BinID trcinfobid_
 
bool useshortcuts_
 

Detailed Description

Attribute storage provider.

<>

Member Enumeration Documentation

◆ Status

Enumerator
Nada 
StorageOpened 
Ready 

Constructor & Destructor Documentation

◆ StorageProvider()

Attrib::StorageProvider::StorageProvider ( Desc )
protected

◆ ~StorageProvider()

Attrib::StorageProvider::~StorageProvider ( )
protected

Member Function Documentation

◆ adjust2DLineStoredVolume()

void Attrib::StorageProvider::adjust2DLineStoredVolume ( )
overridevirtual

Reimplemented from Attrib::Provider.

◆ allowParallelComputation()

bool Attrib::StorageProvider::allowParallelComputation ( ) const
inlineoverrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ attribName()

static const char* Attrib::StorageProvider::attribName ( )
inlinestatic

◆ checkClassType()

void Attrib::StorageProvider::checkClassType ( const SeisTrc ,
BoolTypeSet  
) const
protected

◆ checkDesiredTrcRgOK()

bool Attrib::StorageProvider::checkDesiredTrcRgOK ( StepInterval< int >  ,
StepInterval< float >   
)
protected

◆ checkDesiredVolumeOK()

bool Attrib::StorageProvider::checkDesiredVolumeOK ( )
protected

◆ checkInpAndParsAtStart()

bool Attrib::StorageProvider::checkInpAndParsAtStart ( )
overrideprotectedvirtual

Should be used for check after inputs are set, for extra checks at other time use isOK()

Reimplemented from Attrib::Provider.

◆ compDistBetwTrcsStats()

bool Attrib::StorageProvider::compDistBetwTrcsStats ( bool  force = false)
overridevirtual

Reimplemented from Attrib::Provider.

◆ computeData()

bool Attrib::StorageProvider::computeData ( const DataHolder output,
const BinID relpos,
int  t0,
int  nrsamples,
int  threadidx 
) const
overrideprotectedvirtual

The system will use the algorithm specified in this function to compute the attribute's outputs. The results will be stored as different series in the DataHolder output.

Parameters
output
relpos
t0
nrsamples
threadidxthread identifier that may be handy when using multiple threads.

Implements Attrib::Provider.

◆ createInstance()

static Provider* Attrib::StorageProvider::createInstance ( Desc )
staticprotected

◆ fillDataHolderWithTrc()

bool Attrib::StorageProvider::fillDataHolderWithTrc ( const SeisTrc ,
const DataHolder  
) const
protected

◆ fillDataPackWithTrc()

void Attrib::StorageProvider::fillDataPackWithTrc ( RegularSeisDataPack ) const
overridevirtual

Reimplemented from Attrib::Provider.

◆ getCompNames()

void Attrib::StorageProvider::getCompNames ( BufferStringSet ) const
overridevirtual

Reimplemented from Attrib::Provider.

◆ getDBKey()

MultiID Attrib::StorageProvider::getDBKey ( const Desc = nullptr) const
protected

◆ getDistBetwTrcs()

float Attrib::StorageProvider::getDistBetwTrcs ( bool  ,
const char *  linenm = 0 
) const
overridevirtual

Reimplemented from Attrib::Provider.

◆ getDPID()

DataPack::FullID Attrib::StorageProvider::getDPID ( const Desc = nullptr) const
protected

◆ getElementStepoutStoredSpecial()

BinID Attrib::StorageProvider::getElementStepoutStoredSpecial ( ) const

◆ getGeomID()

Pos::GeomID Attrib::StorageProvider::getGeomID ( ) const
overridevirtual

Reimplemented from Attrib::Provider.

◆ getLine2DStoredVolume()

bool Attrib::StorageProvider::getLine2DStoredVolume ( )
protected

◆ getMSCProvider()

SeisMSCProvider* Attrib::StorageProvider::getMSCProvider ( bool &  ) const
overrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ getOutputFormat()

BinDataDesc Attrib::StorageProvider::getOutputFormat ( int  output) const
overrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ getPossibleVolume()

bool Attrib::StorageProvider::getPossibleVolume ( int  outp,
TrcKeyZSampling  
)
overridevirtual

Reimplemented from Attrib::Provider.

◆ getStepoutStep()

BinID Attrib::StorageProvider::getStepoutStep ( ) const
overridevirtual

Reimplemented from Attrib::Provider.

◆ getTrcFromPack()

SeisTrc* Attrib::StorageProvider::getTrcFromPack ( const BinID ,
int   
) const
protected

◆ getZ0StoredData()

bool Attrib::StorageProvider::getZ0StoredData ( float &  z0) const
inlineoverrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ getZStepStoredData()

bool Attrib::StorageProvider::getZStepStoredData ( float &  step) const
inlineoverrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ initClass()

static void Attrib::StorageProvider::initClass ( )
static

◆ initMSCProvider()

bool Attrib::StorageProvider::initMSCProvider ( )
protected

◆ keyStr()

static const char* Attrib::StorageProvider::keyStr ( )
inlinestatic

◆ moveToNextTrace()

int Attrib::StorageProvider::moveToNextTrace ( BinID  startpos = BinID::udf(),
bool  firstcheck = false 
)
overridevirtual
Return values
-1something went wrong
0finished, no more positions
1arrived at new position

Reimplemented from Attrib::Provider.

◆ needStoredInput()

bool Attrib::StorageProvider::needStoredInput ( ) const
inlineoverridevirtual

Reimplemented from Attrib::Provider.

◆ registerNewPosInfo()

void Attrib::StorageProvider::registerNewPosInfo ( SeisTrc ,
const BinID ,
bool  ,
bool &   
)
protected

◆ set2DRangeSelData()

bool Attrib::StorageProvider::set2DRangeSelData ( )
protected

◆ setDesBufStepout()

void Attrib::StorageProvider::setDesBufStepout ( const BinID ,
bool  wait = false 
)
overrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ setMSCProvSelData()

bool Attrib::StorageProvider::setMSCProvSelData ( )
protected

◆ setReqBufStepout()

void Attrib::StorageProvider::setReqBufStepout ( const BinID ,
bool  wait = false 
)
overrideprotectedvirtual

Reimplemented from Attrib::Provider.

◆ setTableSelData()

bool Attrib::StorageProvider::setTableSelData ( )
protected

◆ updateDesc()

static void Attrib::StorageProvider::updateDesc ( Desc )
staticprotected

◆ updateDescAndGetCompNms()

static void Attrib::StorageProvider::updateDescAndGetCompNms ( Desc ,
BufferStringSet  
)
staticprotected

◆ updateStorageReqs()

void Attrib::StorageProvider::updateStorageReqs ( bool  all = true)
overridevirtual

Reimplemented from Attrib::Provider.

◆ useInterTrcDist()

bool Attrib::StorageProvider::useInterTrcDist ( ) const
overrideprotectedvirtual

Reimplemented from Attrib::Provider.

Member Data Documentation

◆ datachar_

TypeSet<BinDataDesc> Attrib::StorageProvider::datachar_
protected

◆ isondisc_

bool Attrib::StorageProvider::isondisc_
protected

◆ ls2ddata_

PosInfo::LineSet2DData* Attrib::StorageProvider::ls2ddata_ = nullptr
protected

◆ mscprov_

SeisMSCProvider* Attrib::StorageProvider::mscprov_ = nullptr
protected

◆ status_

enum Attrib::StorageProvider::Status Attrib::StorageProvider::status_ = Nada
protected

◆ stepoutstep_

BinID Attrib::StorageProvider::stepoutstep_
protected

◆ storedvolume_

TrcKeyZSampling Attrib::StorageProvider::storedvolume_
protected

◆ useintertrcdist_

bool Attrib::StorageProvider::useintertrcdist_ = false
protected

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