OpendTect  6.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Seis::MSCProvider Class Reference

Reads seismic data into buffers providing a Moving Virtual Subcube of seismic data. More...

Public Types

enum  AdvanceState { NewPosition, Buffering, EndReached, Error }
 

Public Member Functions

 MSCProvider (const DBKey &)
 Use any real user entry from '.omf' file. More...
 
virtual ~MSCProvider ()
 
bool is2D () const
 
BufferString name () const
 
void forceFloatData (bool yn)
 
void setStepout (int, int, bool required)
 
void setStepout (Array2D< bool > *mask)
 
void setStepoutStep (int i, int c)
 
int inlStepout (bool req) const
 
int crlStepout (bool req) const
 
void setSelData (Seis::SelData *)
 seldata becomes mine More...
 
AdvanceState advance ()
 
uiString errMsg () const
 
BinID getPos () const
 
int getTrcNr () const
 
SeisTrcget (int deltainl, int deltacrl)
 
SeisTrcget (const BinID &)
 
const SeisTrcget (int i, int c) const
 
const SeisTrcget (const BinID &bid) const
 
int comparePos (const MSCProvider &) const
 0 = equal; -1 means I need to next(), 1 the other More...
 
int estimatedNrTraces () const
 returns -1 when unknown More...
 
Providerprovider ()
 
const Providerprovider () const
 

Protected Member Functions

bool startWork ()
 
bool readTrace (SeisTrc &)
 
bool isReqBoxFilled () const
 
bool doAdvance ()
 

Protected Attributes

Providerprov_
 
ObjectSet< SeisTrcBuftbufs_
 
RowCol reqstepout_
 
RowCol desstepout_
 
RowCol stepoutstep_
 
Array2D< bool > * reqmask_
 
bool intofloats_
 
bool workstarted_
 
bool atend_
 
uiRetVal uirv_
 
int curlinenr_
 
int estnrtrcs_
 
int bufidx_
 
int trcidx_
 
int pivotidx_
 
int pivotidy_
 

Private Member Functions

 mODTextTranslationClass (Seis::MSCProvider)
 

Detailed Description

Reads seismic data into buffers providing a Moving Virtual Subcube of seismic data.

Note that the provider may skip incomplete parts.

The get() method returns a pointer to the trace, where you specify the inline and crossline number relative to the center. This is irrespective the steps in the cube's numbers. Therefore, the actual inline number of get(1,0) may be 10 higher than get(0,0) .

The advance() method moves the reader one step further along the seismic storage. The return value will tell you whether there is a new position available to work on, or that more traces need to be read first.

You can specify two stepouts: required and desired. The required stepout traces will always be available when the return of advance() is DataOK. If "Buffering" is returned, then the provider is still gathering more traces.

Member Enumeration Documentation

Enumerator
NewPosition 
Buffering 
EndReached 
Error 

Constructor & Destructor Documentation

Seis::MSCProvider::MSCProvider ( const DBKey )

Use any real user entry from '.omf' file.

virtual Seis::MSCProvider::~MSCProvider ( )
virtual

Member Function Documentation

AdvanceState Seis::MSCProvider::advance ( )
int Seis::MSCProvider::comparePos ( const MSCProvider ) const

0 = equal; -1 means I need to next(), 1 the other

int Seis::MSCProvider::crlStepout ( bool  req) const
inline
bool Seis::MSCProvider::doAdvance ( )
protected
uiString Seis::MSCProvider::errMsg ( ) const
inline
int Seis::MSCProvider::estimatedNrTraces ( ) const

returns -1 when unknown

void Seis::MSCProvider::forceFloatData ( bool  yn)
inline
SeisTrc* Seis::MSCProvider::get ( int  deltainl,
int  deltacrl 
)
SeisTrc* Seis::MSCProvider::get ( const BinID )
const SeisTrc* Seis::MSCProvider::get ( int  i,
int  c 
) const
inline
const SeisTrc* Seis::MSCProvider::get ( const BinID bid) const
inline
BinID Seis::MSCProvider::getPos ( ) const
int Seis::MSCProvider::getTrcNr ( ) const
int Seis::MSCProvider::inlStepout ( bool  req) const
inline
bool Seis::MSCProvider::is2D ( ) const
bool Seis::MSCProvider::isReqBoxFilled ( ) const
protected
Seis::MSCProvider::mODTextTranslationClass ( Seis::MSCProvider  )
private
BufferString Seis::MSCProvider::name ( ) const
Provider* Seis::MSCProvider::provider ( )
inline
const Provider* Seis::MSCProvider::provider ( ) const
inline
bool Seis::MSCProvider::readTrace ( SeisTrc )
protected
void Seis::MSCProvider::setSelData ( Seis::SelData )

seldata becomes mine

void Seis::MSCProvider::setStepout ( int  ,
int  ,
bool  required 
)
void Seis::MSCProvider::setStepout ( Array2D< bool > *  mask)

mask has 2m+1 * 2n+1 entries and becomes mine.

void Seis::MSCProvider::setStepoutStep ( int  i,
int  c 
)
inline
bool Seis::MSCProvider::startWork ( )
protected

Member Data Documentation

bool Seis::MSCProvider::atend_
protected
int Seis::MSCProvider::bufidx_
protected
int Seis::MSCProvider::curlinenr_
protected
RowCol Seis::MSCProvider::desstepout_
protected
int Seis::MSCProvider::estnrtrcs_
mutableprotected
bool Seis::MSCProvider::intofloats_
protected
int Seis::MSCProvider::pivotidx_
protected
int Seis::MSCProvider::pivotidy_
protected
Provider* Seis::MSCProvider::prov_
protected
Array2D<bool>* Seis::MSCProvider::reqmask_
protected
RowCol Seis::MSCProvider::reqstepout_
protected
RowCol Seis::MSCProvider::stepoutstep_
protected
ObjectSet<SeisTrcBuf> Seis::MSCProvider::tbufs_
protected
int Seis::MSCProvider::trcidx_
protected
uiRetVal Seis::MSCProvider::uirv_
protected
bool Seis::MSCProvider::workstarted_
protected

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