OpendTect  6.6
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | 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 char *fnm)
 'loose' 3D Post-stack CBVS files only. More...
 
 SeisMSCProvider (const IOObj &)
 Use any real user entry from '.omf' file. More...
 
 SeisMSCProvider (const MultiID &)
 Use any real user entry from '.omf' file. More...
 
virtual ~SeisMSCProvider ()
 
AdvanceState advance ()
 
int comparePos (const SeisMSCProvider &) const
 0 = equal; -1 means I need to next(), 1 the other More...
 
int crlStepout (bool req) const
 
uiString errMsg () const
 
int estimatedNrTraces () const
 returns -1 when unknown More...
 
void forceFloatData (bool yn)
 
SeisTrcget (const BinID &)
 
const SeisTrcget (const BinID &bid) const
 
SeisTrcget (int deltainl, int deltacrl)
 
const SeisTrcget (int i, int c) const
 
BinID getPos () const
 
int getTrcNr () const
 
int inlStepout (bool req) const
 
bool is2D () const
 
bool prepareWork ()
 Opens the input data. Can still set stepouts etc. More...
 
SeisTrcReaderreader ()
 
const SeisTrcReaderreader () const
 
void setSelData (Seis::SelData *)
 seldata becomes mine More...
 
void setStepout (Array2D< bool > *mask)
 
void setStepout (int, int, bool required)
 
void setStepoutStep (int i, int c)
 

Protected Types

enum  ReadState { NeedStart , ReadOK , ReadAtEnd , ReadErr }
 

Protected Member Functions

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

Protected Attributes

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

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

◆ AdvanceState

Enumerator
NewPosition 
Buffering 
EndReached 
Error 

◆ ReadState

Enumerator
NeedStart 
ReadOK 
ReadAtEnd 
ReadErr 

Constructor & Destructor Documentation

◆ SeisMSCProvider() [1/3]

SeisMSCProvider::SeisMSCProvider ( const MultiID )

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

◆ SeisMSCProvider() [2/3]

SeisMSCProvider::SeisMSCProvider ( const IOObj )

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

◆ SeisMSCProvider() [3/3]

SeisMSCProvider::SeisMSCProvider ( const char *  fnm)

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

◆ ~SeisMSCProvider()

virtual SeisMSCProvider::~SeisMSCProvider ( )
virtual

Member Function Documentation

◆ advance()

AdvanceState SeisMSCProvider::advance ( )

◆ comparePos()

int SeisMSCProvider::comparePos ( const SeisMSCProvider ) const

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

◆ crlStepout()

int SeisMSCProvider::crlStepout ( bool  req) const
inline

◆ doAdvance()

bool SeisMSCProvider::doAdvance ( )
protected

◆ errMsg()

uiString SeisMSCProvider::errMsg ( ) const
inline

◆ estimatedNrTraces()

int SeisMSCProvider::estimatedNrTraces ( ) const

returns -1 when unknown

◆ forceFloatData()

void SeisMSCProvider::forceFloatData ( bool  yn)
inline

◆ get() [1/4]

SeisTrc* SeisMSCProvider::get ( const BinID )

◆ get() [2/4]

const SeisTrc* SeisMSCProvider::get ( const BinID bid) const
inline

◆ get() [3/4]

SeisTrc* SeisMSCProvider::get ( int  deltainl,
int  deltacrl 
)

◆ get() [4/4]

const SeisTrc* SeisMSCProvider::get ( int  i,
int  c 
) const
inline

◆ getPos()

BinID SeisMSCProvider::getPos ( ) const

◆ getTrcNr()

int SeisMSCProvider::getTrcNr ( ) const

◆ init()

void SeisMSCProvider::init ( )
protected

◆ inlStepout()

int SeisMSCProvider::inlStepout ( bool  req) const
inline

◆ is2D()

bool SeisMSCProvider::is2D ( ) const

◆ isReqBoxFilled()

bool SeisMSCProvider::isReqBoxFilled ( ) const
protected

◆ prepareWork()

bool SeisMSCProvider::prepareWork ( )

Opens the input data. Can still set stepouts etc.

◆ reader() [1/2]

SeisTrcReader& SeisMSCProvider::reader ( )
inline

◆ reader() [2/2]

const SeisTrcReader& SeisMSCProvider::reader ( ) const
inline

◆ readTrace()

int SeisMSCProvider::readTrace ( SeisTrc )
protected

◆ setSelData()

void SeisMSCProvider::setSelData ( Seis::SelData )

seldata becomes mine

◆ setStepout() [1/2]

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

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

◆ setStepout() [2/2]

void SeisMSCProvider::setStepout ( int  ,
int  ,
bool  required 
)

◆ setStepoutStep()

void SeisMSCProvider::setStepoutStep ( int  i,
int  c 
)
inline

◆ startWork()

bool SeisMSCProvider::startWork ( )
protected

Member Data Documentation

◆ bufidx_

int SeisMSCProvider::bufidx_
protected

◆ desstepout_

RowCol SeisMSCProvider::desstepout_
protected

◆ errmsg_

uiString SeisMSCProvider::errmsg_
protected

◆ estnrtrcs_

int SeisMSCProvider::estnrtrcs_
mutableprotected

◆ intofloats_

bool SeisMSCProvider::intofloats_
protected

◆ pivotidx_

int SeisMSCProvider::pivotidx_
protected

◆ pivotidy_

int SeisMSCProvider::pivotidy_
protected

◆ rdr_

SeisTrcReader& SeisMSCProvider::rdr_
protected

◆ readstate_

ReadState SeisMSCProvider::readstate_
protected

◆ reqmask_

Array2D<bool>* SeisMSCProvider::reqmask_
protected

◆ reqstepout_

RowCol SeisMSCProvider::reqstepout_
protected

◆ stepoutstep_

RowCol SeisMSCProvider::stepoutstep_
protected

◆ tbufs_

ObjectSet<SeisTrcBuf> SeisMSCProvider::tbufs_
protected

◆ trcidx_

int SeisMSCProvider::trcidx_
protected

◆ workstarted_

bool SeisMSCProvider::workstarted_
protected

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