Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

CBVSWriter Class Reference

Writer for CBVS format. More...

Inheritance diagram for CBVSWriter:
CBVSIO

List of all members.

Public Member Functions

 CBVSWriter (std::ostream *, const CBVSInfo &, const PosAuxInfo *, CoordPol cp=InAux)
 CBVSWriter (std::ostream *, const CBVSWriter &, const CBVSInfo &)
 For usage in CBVS pack.
 ~CBVSWriter ()
unsigned long byteThreshold () const
 The default is unlimited.
void setByteThreshold (unsigned long n)
void forceLineStep (const BinID &stp)
void forceNrTrcsPerPos (int nr)
int put (void **, int offs=0)
void close ()
void ciaoForNow ()
const CBVSInfo::SurvGeomsurvGeom () const
const PosAuxInfoSelectionauxInfoSel ()

Protected Member Functions

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

Protected Attributes

std::ostream & strm_
unsigned long thrbytes_
int auxnrbytes_
bool input_rectnreg_
int * nrbytespersample_
BinID forcedlinestep_

Private Member Functions

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

Private Attributes

std::streampos geomsp_
 file offset of geometry data
int trcswritten_
BinID prevbinid_
bool file_lastinl_
int nrtrcsperposn_
int nrtrcsperposn_status_
int checknrtrcsperposn_
PosAuxInfoSelection auxinfosel_
CBVSInfo::SurvGeom survgeom_
const PosAuxInfoauxinfo_
PosInfo::CubeData inldata_

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::CBVSWriter ( std::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::CBVSWriter ( std::ostream *  ,
const CBVSWriter ,
const CBVSInfo  
)

For usage in CBVS pack.

CBVSWriter::~CBVSWriter (  ) 

Member Function Documentation

const PosAuxInfoSelection& CBVSWriter::auxInfoSel (  )  [inline]
unsigned long CBVSWriter::byteThreshold (  )  const [inline]

The default is unlimited.

void CBVSWriter::ciaoForNow (  )  [inline]

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

void CBVSWriter::close (  )  [inline, virtual]

Implements CBVSIO.

void CBVSWriter::doClose ( bool   )  [protected]
void CBVSWriter::forceLineStep ( const BinID stp  )  [inline]
void CBVSWriter::forceNrTrcsPerPos ( int  nr  )  [inline]
void CBVSWriter::getBinID (  )  [private]
void CBVSWriter::getRealGeometry (  )  [protected]
void CBVSWriter::init ( const CBVSInfo  )  [private]
void CBVSWriter::newSeg ( bool   )  [private]
int CBVSWriter::put ( void **  ,
int  offs = 0 
)

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

void CBVSWriter::putAuxInfoSel ( unsigned char *   )  const [protected]
void CBVSWriter::setByteThreshold ( unsigned long  n  )  [inline]
const CBVSInfo::SurvGeom& CBVSWriter::survGeom (  )  const [inline]
bool CBVSWriter::writeAuxInfo (  )  [private]
void CBVSWriter::writeComps ( const CBVSInfo  )  [protected]
void CBVSWriter::writeGeom (  )  [protected]
void CBVSWriter::writeHdr ( const CBVSInfo  )  [protected]
bool CBVSWriter::writeTrailer (  )  [protected]

Member Data Documentation

const PosAuxInfo* CBVSWriter::auxinfo_ [private]
int CBVSWriter::auxnrbytes_ [protected]
bool CBVSWriter::file_lastinl_ [private]
std::streampos CBVSWriter::geomsp_ [private]

file offset of geometry data

bool CBVSWriter::input_rectnreg_ [protected]
std::ostream& CBVSWriter::strm_ [protected]
unsigned long CBVSWriter::thrbytes_ [protected]
int CBVSWriter::trcswritten_ [private]