OpendTect  7.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CBVSReader Class Reference

Reader for CBVS format. More...

Inheritance diagram for CBVSReader:
[legend]

Public Member Functions

 CBVSReader (od_istream *, bool glob_info_only=false, bool forceusecbvsinfo=false)
 
 ~CBVSReader ()
 
int bytesOverheadPerTrace () const
 
void close () override
 
int estimatedNrTraces () const
 
bool fetch (TraceData &buffers, const bool *comps, const Interval< int > *samps, int offs=0)
 
bool fetch (TraceData &buffers, const bool *comps, const StepInterval< int > *samps, int offs=0)
 
bool fetch (void **buffers, const bool *comps=0, const Interval< int > *samps=0, int offs=0)
 
bool getAuxInfo (PosAuxInfo &)
 
bool goTo (const BinID &)
 
bool hasAuxInfo () const
 
const CBVSInfoinfo () const
 
BinID nextBinID () const
 
void setSingleLineMode (bool yn=true)
 returns 0/0 at end More...
 
bool toNext ()
 
bool toStart ()
 
const TypeSet< Coord > & trailerCoords () const
 
int trcNrAtPosition () const
 
- Public Member Functions inherited from CBVSIO
 CBVSIO ()
 
virtual ~CBVSIO ()
 
const BinIDbinID () const
 
const char * errMsg () const
 
bool failed () const
 
int nrComponents () const
 
void setErrMsg (const char *s)
 

Static Public Member Functions

static const char * check (od_istream &)
 
static int defHeaderSize ()
 

Protected Member Functions

void getAuxInfoSel (const char *)
 
int getPosNr (const PosInfo::CubeDataPos &, bool) const
 
void getText (int, BufferString &)
 
Coord getTrailerCoord (const BinID &) const
 
void mkPosNrs ()
 
bool readComps ()
 
bool readGeom (bool)
 
bool readTrailer ()
 
void toOffs (od_int64)
 

Protected Attributes

CBVSInfo info_
 
bool singlinemode_
 
od_istreamstrm_
 
- Protected Attributes inherited from CBVSIO
int * cnrbytes_
 
CoordPol coordpol_
 
BinID curbinid_
 
const char * errmsg_
 
PosInfo::CubeData lds_
 
int nrcomps_
 
int nrxlines_
 
bool strmclosed_
 
TypeSet< Coordtrailercoords_
 

Private Member Functions

CoordPol coordPol () const
 
bool readInfo (bool, bool)
 
void setCubePos (bool fromgeom) const
 
void updCurBinID () const
 

Private Attributes

int auxnrbytes_
 
int bytespertrace_
 
PosInfo::CubeDataPos curgeomcubepos_
 
PosInfo::CubeDataPos curldscubepos_
 
od_int64 datastartfo_
 
DataInterpreter< double > dinterp_
 
DataInterpreter< float > finterp_
 
BinID firstbinid_
 
bool hinfofetched_
 
TrcKeySampling hs_
 
int idxatpos_
 
DataInterpreter< int > iinterp_
 
od_int64 lastposfo_
 
TypeSet< int > posnrs_
 
StepInterval< int > samprg_
 
TraceDataworktrcdata_
 

Friends

class CBVSReadMgr
 

Additional Inherited Members

- Public Types inherited from CBVSIO
enum  CoordPol { InAux =0 , InTrailer =1 , NotStored =2 }
 
- Static Public Attributes inherited from CBVSIO
static const int headstartbytes
 
static const int integersize
 
static const int version
 

Detailed Description

Reader for CBVS format.

The stream it works on will be deleted on destruction or if close() is explicitly called.

If you construct with glob_info_only == true, you cannot use the reader. After construction, the info() is then usable but no precise positioning is available. In other words, the trailer is not read.

From OpendTect v2.2.1, The toNext() interface will always return ascending inlines, no matter whether the data is stored with descending inlines.

<>

Constructor & Destructor Documentation

◆ CBVSReader()

CBVSReader::CBVSReader ( od_istream ,
bool  glob_info_only = false,
bool  forceusecbvsinfo = false 
)

◆ ~CBVSReader()

CBVSReader::~CBVSReader ( )

Member Function Documentation

◆ bytesOverheadPerTrace()

int CBVSReader::bytesOverheadPerTrace ( ) const

◆ check()

static const char* CBVSReader::check ( od_istream )
static

Determines whether a file is a CBVS file returns an error message, or null if OK.

◆ close()

void CBVSReader::close ( )
overridevirtual

Implements CBVSIO.

◆ coordPol()

CoordPol CBVSReader::coordPol ( ) const
inlineprivate

◆ defHeaderSize()

static int CBVSReader::defHeaderSize ( )
inlinestatic

◆ estimatedNrTraces()

int CBVSReader::estimatedNrTraces ( ) const

◆ fetch() [1/3]

bool CBVSReader::fetch ( TraceData buffers,
const bool *  comps,
const Interval< int > *  samps,
int  offs = 0 
)

Gets the sample data. 'comps', if provided, selects the components. If 'samps' is non-null, it should hold start and end sample to read. offs is an offset in the buffers.

◆ fetch() [2/3]

bool CBVSReader::fetch ( TraceData buffers,
const bool *  comps,
const StepInterval< int > *  samps,
int  offs = 0 
)

◆ fetch() [3/3]

bool CBVSReader::fetch ( void **  buffers,
const bool *  comps = 0,
const Interval< int > *  samps = 0,
int  offs = 0 
)

◆ getAuxInfo()

bool CBVSReader::getAuxInfo ( PosAuxInfo )

Gets the aux info. Follow by fetch() to get the sample data.

◆ getAuxInfoSel()

void CBVSReader::getAuxInfoSel ( const char *  )
protected

◆ getPosNr()

int CBVSReader::getPosNr ( const PosInfo::CubeDataPos ,
bool   
) const
protected

◆ getText()

void CBVSReader::getText ( int  ,
BufferString  
)
protected

◆ getTrailerCoord()

Coord CBVSReader::getTrailerCoord ( const BinID ) const
protected

◆ goTo()

bool CBVSReader::goTo ( const BinID )

◆ hasAuxInfo()

bool CBVSReader::hasAuxInfo ( ) const
inline

◆ info()

const CBVSInfo& CBVSReader::info ( ) const
inline

◆ mkPosNrs()

void CBVSReader::mkPosNrs ( )
protected

◆ nextBinID()

BinID CBVSReader::nextBinID ( ) const

◆ readComps()

bool CBVSReader::readComps ( )
protected

◆ readGeom()

bool CBVSReader::readGeom ( bool  )
protected

◆ readInfo()

bool CBVSReader::readInfo ( bool  ,
bool   
)
private

◆ readTrailer()

bool CBVSReader::readTrailer ( )
protected

◆ setCubePos()

void CBVSReader::setCubePos ( bool  fromgeom) const
private

◆ setSingleLineMode()

void CBVSReader::setSingleLineMode ( bool  yn = true)
inline

returns 0/0 at end

◆ toNext()

bool CBVSReader::toNext ( )

◆ toOffs()

void CBVSReader::toOffs ( od_int64  )
protected

◆ toStart()

bool CBVSReader::toStart ( )

◆ trailerCoords()

const TypeSet<Coord>& CBVSReader::trailerCoords ( ) const
inline

◆ trcNrAtPosition()

int CBVSReader::trcNrAtPosition ( ) const
inline

◆ updCurBinID()

void CBVSReader::updCurBinID ( ) const
private

Friends And Related Function Documentation

◆ CBVSReadMgr

friend class CBVSReadMgr
friend

Member Data Documentation

◆ auxnrbytes_

int CBVSReader::auxnrbytes_
private

◆ bytespertrace_

int CBVSReader::bytespertrace_
private

◆ curgeomcubepos_

PosInfo::CubeDataPos CBVSReader::curgeomcubepos_
mutableprivate

◆ curldscubepos_

PosInfo::CubeDataPos CBVSReader::curldscubepos_
mutableprivate

◆ datastartfo_

od_int64 CBVSReader::datastartfo_
private

◆ dinterp_

DataInterpreter<double> CBVSReader::dinterp_
private

◆ finterp_

DataInterpreter<float> CBVSReader::finterp_
private

◆ firstbinid_

BinID CBVSReader::firstbinid_
private

◆ hinfofetched_

bool CBVSReader::hinfofetched_
private

◆ hs_

TrcKeySampling CBVSReader::hs_
private

◆ idxatpos_

int CBVSReader::idxatpos_
private

◆ iinterp_

DataInterpreter<int> CBVSReader::iinterp_
private

◆ info_

CBVSInfo CBVSReader::info_
protected

◆ lastposfo_

od_int64 CBVSReader::lastposfo_
private

◆ posnrs_

TypeSet<int> CBVSReader::posnrs_
private

◆ samprg_

StepInterval<int> CBVSReader::samprg_
private

◆ singlinemode_

bool CBVSReader::singlinemode_
protected

◆ strm_

od_istream& CBVSReader::strm_
protected

◆ worktrcdata_

TraceData& CBVSReader::worktrcdata_
private

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