OpendTect  7.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
CBVSWriter Class Reference

Writer for CBVS format. More...

Inheritance diagram for CBVSWriter:
[legend]

Public Member Functions

 CBVSWriter (od_ostream *, const CBVSInfo &, const PosAuxInfo *, CoordPol cp=InAux)
 
 CBVSWriter (od_ostream *, const CBVSWriter &, const CBVSInfo &)
 For usage in CBVS pack. More...
 
 ~CBVSWriter ()
 
const PosAuxInfoSelectionauxInfoSel ()
 
unsigned long byteThreshold () const
 The default is unlimited. More...
 
void ciaoForNow ()
 
void close () override
 
void forceLineStep (const BinID &stp)
 
void forceNrTrcsPerPos (int nr)
 
void forceTrailer (bool yn=true)
 
int put (const TraceData &, int offs=0)
 
int put (void **, int offs=0)
 
void setByteThreshold (unsigned long n)
 
const CBVSInfo::SurvGeomsurvGeom () 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)
 

Protected Member Functions

void doClose (bool)
 
void getRealGeometry ()
 
void putAuxInfoSel (unsigned char *) const
 
void writeComps (const CBVSInfo &)
 
void writeGeom ()
 
void writeHdr (const CBVSInfo &)
 
bool writeTrailer ()
 

Protected Attributes

int auxnrbytes_
 
BinID forcedlinestep_
 
bool forcetrailer_
 
bool input_rectnreg_
 
int * nrbytespersample_
 
od_ostreamstrm_
 
unsigned long thrbytes_
 
- 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

void getBinID ()
 
void init (const CBVSInfo &)
 
void newSeg (bool)
 
bool writeAuxInfo ()
 

Private Attributes

const PosAuxInfoauxinfo_
 
PosAuxInfoSelection auxinfosel_
 
int checknrtrcsperposn_
 
bool file_lastinl_
 
od_stream::Pos geomsp_
 file offset of geometry data More...
 
int nrtrcsperposn_
 
int nrtrcsperposn_status_
 
BinID prevbinid_
 
CBVSInfo::SurvGeom survgeom_
 
int trcswritten_
 

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

Writer for CBVS format.

Works on an ostream that will be deleted on destruction, or when finished.

For the inline/xline info, you have two choices: 1) if you know you have a fully rectangular and regular survey, you can set this in the SurvGeom. 2) if this is not the case, or you don't know whether this will be the case, you will have to provide the BinID in the PosAuxInfo.

<>

Constructor & Destructor Documentation

◆ CBVSWriter() [1/2]

CBVSWriter::CBVSWriter ( od_ostream ,
const CBVSInfo ,
const PosAuxInfo ,
CoordPol  cp = InAux 
)

If info.posauxinfo has a true, the PosAuxInfo cannot be null. The relevant field(s) should then be filled before the first put() of any position

◆ CBVSWriter() [2/2]

CBVSWriter::CBVSWriter ( od_ostream ,
const CBVSWriter ,
const CBVSInfo  
)

For usage in CBVS pack.

◆ ~CBVSWriter()

CBVSWriter::~CBVSWriter ( )

Member Function Documentation

◆ auxInfoSel()

const PosAuxInfoSelection& CBVSWriter::auxInfoSel ( )
inline

◆ byteThreshold()

unsigned long CBVSWriter::byteThreshold ( ) const
inline

The default is unlimited.

◆ ciaoForNow()

void CBVSWriter::ciaoForNow ( )
inline

closes as if final close but doesn't actually close stream. Makes result readable.

◆ close()

void CBVSWriter::close ( )
inlineoverridevirtual

Implements CBVSIO.

◆ doClose()

void CBVSWriter::doClose ( bool  )
protected

◆ forceLineStep()

void CBVSWriter::forceLineStep ( const BinID stp)
inline

◆ forceNrTrcsPerPos()

void CBVSWriter::forceNrTrcsPerPos ( int  nr)
inline

◆ forceTrailer()

void CBVSWriter::forceTrailer ( bool  yn = true)
inline

◆ getBinID()

void CBVSWriter::getBinID ( )
private

◆ getRealGeometry()

void CBVSWriter::getRealGeometry ( )
protected

◆ init()

void CBVSWriter::init ( const CBVSInfo )
private

◆ newSeg()

void CBVSWriter::newSeg ( bool  )
private

◆ put() [1/2]

int CBVSWriter::put ( const TraceData ,
int  offs = 0 
)

Expects a buffer for each component returns -1 = error, 0 = OK, 1=not written (threshold reached)

◆ put() [2/2]

int CBVSWriter::put ( void **  ,
int  offs = 0 
)

◆ putAuxInfoSel()

void CBVSWriter::putAuxInfoSel ( unsigned char *  ) const
protected

◆ setByteThreshold()

void CBVSWriter::setByteThreshold ( unsigned long  n)
inline

◆ survGeom()

const CBVSInfo::SurvGeom& CBVSWriter::survGeom ( ) const
inline

◆ writeAuxInfo()

bool CBVSWriter::writeAuxInfo ( )
private

◆ writeComps()

void CBVSWriter::writeComps ( const CBVSInfo )
protected

◆ writeGeom()

void CBVSWriter::writeGeom ( )
protected

◆ writeHdr()

void CBVSWriter::writeHdr ( const CBVSInfo )
protected

◆ writeTrailer()

bool CBVSWriter::writeTrailer ( )
protected

Member Data Documentation

◆ auxinfo_

const PosAuxInfo* CBVSWriter::auxinfo_
private

◆ auxinfosel_

PosAuxInfoSelection CBVSWriter::auxinfosel_
private

◆ auxnrbytes_

int CBVSWriter::auxnrbytes_
protected

◆ checknrtrcsperposn_

int CBVSWriter::checknrtrcsperposn_
private

◆ file_lastinl_

bool CBVSWriter::file_lastinl_
private

◆ forcedlinestep_

BinID CBVSWriter::forcedlinestep_
protected

◆ forcetrailer_

bool CBVSWriter::forcetrailer_
protected

◆ geomsp_

od_stream::Pos CBVSWriter::geomsp_
private

file offset of geometry data

◆ input_rectnreg_

bool CBVSWriter::input_rectnreg_
protected

◆ nrbytespersample_

int* CBVSWriter::nrbytespersample_
protected

◆ nrtrcsperposn_

int CBVSWriter::nrtrcsperposn_
private

◆ nrtrcsperposn_status_

int CBVSWriter::nrtrcsperposn_status_
private

◆ prevbinid_

BinID CBVSWriter::prevbinid_
private

◆ strm_

od_ostream& CBVSWriter::strm_
protected

◆ survgeom_

CBVSInfo::SurvGeom CBVSWriter::survgeom_
private

◆ thrbytes_

unsigned long CBVSWriter::thrbytes_
protected

◆ trcswritten_

int CBVSWriter::trcswritten_
private

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