OpendTect-6_4  6.4
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 ()
 
const CBVSInfoinfo () const
 
int bytesOverheadPerTrace () const
 
void close ()
 
BinID nextBinID () const
 
bool goTo (const BinID &)
 returns 0/0 at end More...
 
bool toStart ()
 
bool toNext ()
 
bool hasAuxInfo () const
 
bool getAuxInfo (PosAuxInfo &)
 
bool fetch (void **buffers, const bool *comps=0, const Interval< int > *samps=0, int offs=0)
 
bool fetch (TraceData &buffers, const bool *comps=0, const Interval< int > *samps=0, int offs=0)
 
int trcNrAtPosition () const
 
const TypeSet< Coord > & trailerCoords () const
 
- Public Member Functions inherited from CBVSIO
 CBVSIO ()
 
virtual ~CBVSIO ()
 
bool failed () const
 
const char * errMsg () const
 
int nrComponents () const
 
const BinIDbinID () 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 *)
 
bool readComps ()
 
bool readGeom (bool)
 
bool readTrailer ()
 
void getText (int, BufferString &)
 
void toOffs (od_int64)
 
int getPosNr (const PosInfo::CubeDataPos &, bool) const
 
Coord getTrailerCoord (const BinID &) const
 
void mkPosNrs ()
 

Protected Attributes

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

Private Member Functions

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

Private Attributes

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

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 integersize
 
static const int version
 
static const int headstartbytes
 

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 ( od_istream ,
bool  glob_info_only = false,
bool  forceusecbvsinfo = false 
)
CBVSReader::~CBVSReader ( )

Member Function Documentation

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

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

void CBVSReader::close ( )
virtual

Implements CBVSIO.

CoordPol CBVSReader::coordPol ( ) const
inlineprivate
static int CBVSReader::defHeaderSize ( )
inlinestatic
bool CBVSReader::fetch ( void **  buffers,
const bool *  comps = 0,
const Interval< int > *  samps = 0,
int  offs = 0 
)
bool CBVSReader::fetch ( TraceData buffers,
const bool *  comps = 0,
const Interval< int > *  samps = 0,
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.

bool CBVSReader::getAuxInfo ( PosAuxInfo )

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

void CBVSReader::getAuxInfoSel ( const char *  )
protected
int CBVSReader::getPosNr ( const PosInfo::CubeDataPos ,
bool   
) const
protected
void CBVSReader::getText ( int  ,
BufferString  
)
protected
Coord CBVSReader::getTrailerCoord ( const BinID ) const
protected
bool CBVSReader::goTo ( const BinID )

returns 0/0 at end

bool CBVSReader::hasAuxInfo ( ) const
inline
const CBVSInfo& CBVSReader::info ( ) const
inline
void CBVSReader::mkPosNrs ( )
protected
BinID CBVSReader::nextBinID ( ) const
bool CBVSReader::readComps ( )
protected
bool CBVSReader::readGeom ( bool  )
protected
bool CBVSReader::readInfo ( bool  ,
bool   
)
private
bool CBVSReader::readTrailer ( )
protected
void CBVSReader::setCubePos ( bool  fromgeom) const
private
bool CBVSReader::toNext ( )
void CBVSReader::toOffs ( od_int64  )
protected
bool CBVSReader::toStart ( )
const TypeSet<Coord>& CBVSReader::trailerCoords ( ) const
inline
int CBVSReader::trcNrAtPosition ( ) const
inline
void CBVSReader::updCurBinID ( ) const
private

Friends And Related Function Documentation

friend class CBVSReadMgr
friend

Member Data Documentation

int CBVSReader::auxnrbytes_
private
int CBVSReader::bytespertrace_
private
PosInfo::CubeDataPos CBVSReader::curgeomcubepos_
mutableprivate
PosInfo::CubeDataPos CBVSReader::curldscubepos_
mutableprivate
od_int64 CBVSReader::datastartfo_
private
DataInterpreter<double> CBVSReader::dinterp_
private
DataInterpreter<float> CBVSReader::finterp_
private
BinID CBVSReader::firstbinid_
private
bool CBVSReader::hinfofetched_
private
TrcKeySampling CBVSReader::hs_
private
int CBVSReader::idxatpos_
private
DataInterpreter<int> CBVSReader::iinterp_
private
CBVSInfo CBVSReader::info_
protected
od_int64 CBVSReader::lastposfo_
private
TypeSet<int> CBVSReader::posnrs_
private
Interval<int> CBVSReader::samprg_
private
od_istream& CBVSReader::strm_
protected

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