OpendTect-6_4  6.4
Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
Attrib::StorageProvider Class Reference

Attribute storage provider. More...

Inheritance diagram for Attrib::StorageProvider:
[legend]

Protected Types

enum  Status { Nada, StorageOpened, Ready }
 

Protected Member Functions

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

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_
 
SeisMSCProvidermscprov_
 
BinID stepoutstep_
 
TrcKeyZSampling storedvolume_
 
bool isondisc_
 
bool useintertrcdist_
 
PosInfo::LineSet2DDatals2ddata_
 
enum Attrib::StorageProvider::Status status_
 
- Protected Attributes inherited from Attrib::Provider
ObjectSet< Providerinputs_
 
ObjectSet< Providerparents_
 
Descdesc_
 
TypeSet< int > outputinterest_
 
BinID desbufferstepout_
 
BinID reqbufferstepout_
 
TrcKeyZSamplingdesiredvolume_
 
TrcKeyZSamplingpossiblevolume_
 
TypeSet< Interval< int > > localcomputezintervals_
 
ObjectSet< Providerallexistingprov_
 
TypeSet< float > exactz_
 
ProviderTask * providertask_
 
DataHolderLineBufferlinebuffer_
 
BinID currentbid_
 
int prevtrcnr_
 
Pos::GeomID geomid_
 
const Seis::SelDataseldata_
 
Interval< float > extraz_
 
const SeisTrcInfocurtrcinfo_
 
BinID trcinfobid_
 
bool useshortcuts_
 
float refz0_
 
float refstep_
 
bool alreadymoved_
 
bool isusedmulttimes_
 
bool needinterp_
 
uiString errmsg_
 
bool dataunavailableflag_
 

Private Member Functions

int moveToNextTrace (BinID startpos=BinID(-1,-1), bool firstcheck=false)
 
bool getPossibleVolume (int outp, TrcKeyZSampling &)
 
BinID getStepoutStep () const
 
void updateStorageReqs (bool all=true)
 
void adjust2DLineStoredVolume ()
 
Pos::GeomID getGeomID () const
 
void fillDataPackWithTrc (RegularSeisDataPack *) const
 
bool needStoredInput () const
 
virtual void getCompNames (BufferStringSet &) const
 
virtual float getDistBetwTrcs (bool, const char *linenm=0) const
 
virtual bool compDistBetwTrcsStats (bool force=false)
 
BinID getElementStepoutStoredSpecial () const
 

Static Private Member Functions

static mODTextTranslationClass(StorageProvider) public const char * attribName ()
 
static const char * keyStr ()
 

Additional Inherited Members

- Public Member Functions inherited from Attrib::Provider
virtual bool isOK () const
 
bool is2D () const
 
const DescgetDesc () const
 
DescgetDesc ()
 
const DataHoldergetData (const BinID &relpos=BinID(0, 0), int idx=0)
 
const DataHoldergetDataDontCompute (const BinID &relpos) const
 
int nrOutputs () const
 
void enableOutput (int output, bool yn=true)
 
bool isOutputEnabled (int output) const
 
void setOutputInterestSize (bool preserve=false)
 
void enableAllOutputs (bool yn=true)
 
virtual bool isSingleTrace () const
 
virtual bool usesTracePosition () const
 
const BinIDgetReqBufStepout () const
 
const BinIDgetDesBufStepout () const
 
void setDesiredVolume (const TrcKeyZSampling &)
 
const TrcKeyZSamplinggetDesiredVolume () const
 
void resetDesiredVolume ()
 
void setPossibleVolume (const TrcKeyZSampling &)
 
const TrcKeyZSamplinggetPossibleVolume () const
 
int getTotalNrPos (bool)
 
void setCurLineName (const char *)
 
virtual void setGeomID (Pos::GeomID)
 
void computeNewStartPos (BinID &)
 
int alignInputs (ObjectSet< Provider > &)
 
int comparePosAndAlign (Provider *, bool, Provider *, bool, bool)
 
void resetMoved ()
 
void resetZIntervals ()
 
virtual const SeisTrcInfogetCurrentTrcInfo () const
 
BinID getCurrentPosition () const
 
virtual bool setCurrentPosition (const BinID &)
 
void updateCurrentInfo ()
 
void addLocalCompZIntervals (const TypeSet< Interval< int > > &)
 
const TypeSet< Interval< int > > & localCompZIntervals () const
 
void updateInputReqs (int input=-1)
 
void setUseSC ()
 
void setSelData (const Seis::SelData *)
 
void setExtraZ (const Interval< float > &)
 
void setNeedInterpol (bool)
 
void setExactZ (const TypeSet< float > &)
 
void computeRefStep ()
 
void setRefStep (float step)
 
float getRefStep () const
 
void computeRefZ0 ()
 
void setRefZ0 (float z0)
 
float getRefZ0 () const
 
ObjectSet< Provider > & getInputs ()
 
BinID getTrcInfoBid () const
 
uiString errMsg () const
 
virtual void initSteering ()
 
virtual void prepSteeringForStepout (const BinID &)
 
virtual bool prepPriorToOutputSetup ()
 
virtual void prepPriorToBoundsCalc ()
 
virtual void prepareForComputeData ()
 
virtual void setRdmPaths (TypeSet< BinID > *truepath, TypeSet< BinID > *snappedpath)
 For directional attributes. More...
 
virtual void updateCSIfNeeded (TrcKeyZSampling &) const
 
float getApplicableCrlDist (bool) const
 
BinID getElementStepout () const
 
void setDataUnavailableFlag (bool yn)
 
bool getDataUnavailableFlag () const
 
- Static Public Member Functions inherited from Attrib::Provider
static Providercreate (Desc &, uiString &errmsg)
 
static uiString prepare (Desc &)
 

Detailed Description

Attribute storage provider.

Member Enumeration Documentation

Enumerator
Nada 
StorageOpened 
Ready 

Constructor & Destructor Documentation

Attrib::StorageProvider::StorageProvider ( Desc )
protected
Attrib::StorageProvider::~StorageProvider ( )
protected

Member Function Documentation

void Attrib::StorageProvider::adjust2DLineStoredVolume ( )
privatevirtual

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

static mODTextTranslationClass (StorageProvider) public const char* Attrib::StorageProvider::attribName ( )
inlinestaticprivate
void Attrib::StorageProvider::checkClassType ( const SeisTrc ,
BoolTypeSet  
) const
protected
bool Attrib::StorageProvider::checkDesiredTrcRgOK ( StepInterval< int >  ,
StepInterval< float >   
)
protected
bool Attrib::StorageProvider::checkDesiredVolumeOK ( )
protected
bool Attrib::StorageProvider::checkInpAndParsAtStart ( )
protectedvirtual

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

Reimplemented from Attrib::Provider.

virtual bool Attrib::StorageProvider::compDistBetwTrcsStats ( bool  force = false)
privatevirtual

Reimplemented from Attrib::Provider.

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

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
threadidthread identifier that may be handy when using multiple threads.

Implements Attrib::Provider.

static Provider* Attrib::StorageProvider::createInstance ( Desc )
staticprotected
bool Attrib::StorageProvider::fillDataHolderWithTrc ( const SeisTrc ,
const DataHolder  
) const
protected
void Attrib::StorageProvider::fillDataPackWithTrc ( RegularSeisDataPack ) const
privatevirtual

Reimplemented from Attrib::Provider.

virtual void Attrib::StorageProvider::getCompNames ( BufferStringSet ) const
privatevirtual

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

DataPack::FullID Attrib::StorageProvider::getDPID ( ) const
protected
BinID Attrib::StorageProvider::getElementStepoutStoredSpecial ( ) const
private
Pos::GeomID Attrib::StorageProvider::getGeomID ( ) const
privatevirtual

Reimplemented from Attrib::Provider.

bool Attrib::StorageProvider::getLine2DStoredVolume ( )
protected
SeisMSCProvider* Attrib::StorageProvider::getMSCProvider ( bool &  ) const
protectedvirtual

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

SeisTrc* Attrib::StorageProvider::getTrcFromPack ( const BinID ,
int   
) const
protected
bool Attrib::StorageProvider::getZ0StoredData ( float &  z0) const
inlineprotectedvirtual

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

bool Attrib::StorageProvider::initMSCProvider ( )
protected
static const char* Attrib::StorageProvider::keyStr ( )
inlinestaticprivate
int Attrib::StorageProvider::moveToNextTrace ( BinID  startpos = BinID(-1,-1),
bool  firstcheck = false 
)
privatevirtual
Return values
-1something went wrong
0finished, no more positions
1arrived at new position

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

void Attrib::StorageProvider::registerNewPosInfo ( SeisTrc ,
const BinID ,
bool  ,
bool &   
)
protected
bool Attrib::StorageProvider::set2DRangeSelData ( )
protected
void Attrib::StorageProvider::setDesBufStepout ( const BinID ,
bool  wait = false 
)
protectedvirtual

Reimplemented from Attrib::Provider.

bool Attrib::StorageProvider::setMSCProvSelData ( )
protected
void Attrib::StorageProvider::setReqBufStepout ( const BinID ,
bool  wait = false 
)
protectedvirtual

Reimplemented from Attrib::Provider.

bool Attrib::StorageProvider::setTableSelData ( )
protected
static void Attrib::StorageProvider::updateDesc ( Desc )
staticprotected
static void Attrib::StorageProvider::updateDescAndGetCompNms ( Desc ,
BufferStringSet  
)
staticprotected
void Attrib::StorageProvider::updateStorageReqs ( bool  all = true)
privatevirtual

Reimplemented from Attrib::Provider.

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

Reimplemented from Attrib::Provider.

Member Data Documentation

TypeSet<BinDataDesc> Attrib::StorageProvider::datachar_
protected
bool Attrib::StorageProvider::isondisc_
protected
PosInfo::LineSet2DData* Attrib::StorageProvider::ls2ddata_
protected
SeisMSCProvider* Attrib::StorageProvider::mscprov_
protected
enum Attrib::StorageProvider::Status Attrib::StorageProvider::status_
protected
BinID Attrib::StorageProvider::stepoutstep_
protected
TrcKeyZSampling Attrib::StorageProvider::storedvolume_
protected
bool Attrib::StorageProvider::useintertrcdist_
protected

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