OpendTect-6_4  6.4
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
SeisMSCProvider 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

 SeisMSCProvider (const MultiID &)
 Use any real user entry from '.omf' file. More...
 
 SeisMSCProvider (const IOObj &)
 Use any real user entry from '.omf' file. More...
 
 SeisMSCProvider (const char *fnm)
 'loose' 3D Post-stack CBVS files only. More...
 
virtual ~SeisMSCProvider ()
 
bool is2D () const
 
bool prepareWork ()
 Opens the input data. Can still set stepouts etc. More...
 
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 SeisMSCProvider &) const
 0 = equal; -1 means I need to next(), 1 the other More...
 
int estimatedNrTraces () const
 returns -1 when unknown More...
 
SeisTrcReaderreader ()
 
const SeisTrcReaderreader () const
 

Protected Types

enum  ReadState { NeedStart, ReadOK, ReadAtEnd, ReadErr }
 

Protected Member Functions

void init ()
 
bool startWork ()
 
int readTrace (SeisTrc &)
 
bool isReqBoxFilled () const
 
bool doAdvance ()
 

Protected Attributes

SeisTrcReaderrdr_
 
ObjectSet< SeisTrcBuftbufs_
 
RowCol reqstepout_
 
RowCol desstepout_
 
RowCol stepoutstep_
 
Array2D< bool > * reqmask_
 
bool intofloats_
 
bool workstarted_
 
ReadState readstate_
 
uiString errmsg_
 
int estnrtrcs_
 
int bufidx_
 
int trcidx_
 
int pivotidx_
 
int pivotidy_
 

Private Member Functions

 mODTextTranslationClass (SeisMSCProvider)
 

Detailed Description

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

This is a SeisTrcGroup that allows advancing by reading traces from storage. 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 
Enumerator
NeedStart 
ReadOK 
ReadAtEnd 
ReadErr 

Constructor & Destructor Documentation

SeisMSCProvider::SeisMSCProvider ( const MultiID )

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

SeisMSCProvider::SeisMSCProvider ( const IOObj )

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

SeisMSCProvider::SeisMSCProvider ( const char *  fnm)

'loose' 3D Post-stack CBVS files only.

virtual SeisMSCProvider::~SeisMSCProvider ( )
virtual

Member Function Documentation

AdvanceState SeisMSCProvider::advance ( )
int SeisMSCProvider::comparePos ( const SeisMSCProvider ) const

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

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

returns -1 when unknown

void SeisMSCProvider::forceFloatData ( bool  yn)
inline
SeisTrc* SeisMSCProvider::get ( int  deltainl,
int  deltacrl 
)
SeisTrc* SeisMSCProvider::get ( const BinID )
const SeisTrc* SeisMSCProvider::get ( int  i,
int  c 
) const
inline
const SeisTrc* SeisMSCProvider::get ( const BinID bid) const
inline
BinID SeisMSCProvider::getPos ( ) const
int SeisMSCProvider::getTrcNr ( ) const
void SeisMSCProvider::init ( )
protected
int SeisMSCProvider::inlStepout ( bool  req) const
inline
bool SeisMSCProvider::is2D ( ) const
bool SeisMSCProvider::isReqBoxFilled ( ) const
protected
SeisMSCProvider::mODTextTranslationClass ( SeisMSCProvider  )
private
bool SeisMSCProvider::prepareWork ( )

Opens the input data. Can still set stepouts etc.

SeisTrcReader& SeisMSCProvider::reader ( )
inline
const SeisTrcReader& SeisMSCProvider::reader ( ) const
inline
int SeisMSCProvider::readTrace ( SeisTrc )
protected
void SeisMSCProvider::setSelData ( Seis::SelData )

seldata becomes mine

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

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

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

Member Data Documentation

int SeisMSCProvider::bufidx_
protected
RowCol SeisMSCProvider::desstepout_
protected
uiString SeisMSCProvider::errmsg_
protected
int SeisMSCProvider::estnrtrcs_
mutableprotected
bool SeisMSCProvider::intofloats_
protected
int SeisMSCProvider::pivotidx_
protected
int SeisMSCProvider::pivotidy_
protected
SeisTrcReader& SeisMSCProvider::rdr_
protected
ReadState SeisMSCProvider::readstate_
protected
Array2D<bool>* SeisMSCProvider::reqmask_
protected
RowCol SeisMSCProvider::reqstepout_
protected
RowCol SeisMSCProvider::stepoutstep_
protected
ObjectSet<SeisTrcBuf> SeisMSCProvider::tbufs_
protected
int SeisMSCProvider::trcidx_
protected
bool SeisMSCProvider::workstarted_
protected

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