OpendTect  6.3
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
Seis::Blocks::Writer Class Reference

Writes provided data into Block Storage. More...

Inheritance diagram for Seis::Blocks::Writer:
[legend]

Classes

struct  Column
 

Public Types

typedef std::pair< IdxType, float > ZEvalPos
 
typedef TypeSet< ZEvalPosZEvalPosSet
 

Public Member Functions

 Writer (const SurvGeom *sg=0)
 
 ~Writer ()
 
void setBasePath (const File::Path &)
 
void setFileNameBase (const char *)
 
void setCubeName (const char *)
 
void setFPRep (OD::FPDataRepType)
 
void setScaler (const LinScaler *)
 
void addComponentName (const char *)
 
void addAuxInfo (const char *key, const IOPar &)
 
BufferString dirName () const
 
BufferString mainFileName () const
 
uiRetVal add (const SeisTrc &)
 
Taskfinisher ()
 if not run by you, destructor will run it More...
 
int nrColumnBlocks () const
 
- Public Member Functions inherited from Seis::Blocks::DataStorage
virtual ~DataStorage ()
 
unsigned short version () const
 

Protected Member Functions

void setEmpty ()
 
void resetZ (const Interval< float > &)
 
bool removeExisting (const char *, uiRetVal &) const
 
bool prepareWrite (uiRetVal &)
 
void add2Block (Block &, const ZEvalPosSet &, SampIdx, const SeisTrc &, int)
 
ColumngetColumn (const GlobIdx &)
 
ColumnmkNewColumn (const GlobIdx &)
 
bool isCompletionVisit (Column &, const SampIdx &) const
 
void writeColumn (Column &, uiRetVal &)
 
bool writeColumnHeader (od_ostream &, const Column &, const SampIdx &, const Dimensions &) const
 
bool writeBlock (od_ostream &, Block &, SampIdx, Dimensions)
 
void writeMainFile (uiRetVal &)
 
bool writeMainFileData (od_ostream &)
 
void scanPositions (PosInfo::CubeData &cubedata, Interval< IdxType > &, Interval< IdxType > &, Interval< int > &, Interval< int > &, Interval< double > &, Interval< double > &)
 
- Protected Member Functions inherited from Seis::Blocks::DataStorage
 DataStorage (const SurvGeom *)
 

Protected Attributes

File::Path basepath_
 
BufferString filenamebase_
 
BufferString cubename_
 
OD::FPDataRepType specfprep_
 
OD::FPDataRepType usefprep_
 
LinScalerscaler_
 
BufferStringSet compnms_
 
ObjectSet< IOParauxiops_
 
bool needreset_
 
const int nrpospercolumn_
 
int nrcomponents_
 
bool isfinished_
 
Interval< IdxTypeglobzidxrg_
 
ObjectSet< ZEvalPosSetzevalpositions_
 
Pos::IdxPairDataSetcolumns_
 
- Protected Attributes inherited from Seis::Blocks::DataStorage
const SurvGeomsurvgeom_
 
const Dimensions dims_
 
unsigned short version_
 

Private Member Functions

 mODTextTranslationClass (Seis::Blocks::Writer)
 

Friends

class ColumnWriter
 
class WriterFinisher
 

Additional Inherited Members

- Static Public Member Functions inherited from Seis::Blocks::DataStorage
static BufferString fileNameFor (const GlobIdx &)
 
static const char * sKeyFileType ()
 
static const char * sKeyDimensions ()
 
static const char * sKeyGlobInlRg ()
 
static const char * sKeyGlobCrlRg ()
 
static const char * sKeyGlobZRg ()
 
static const char * sKeyComponents ()
 

Detailed Description

Writes provided data into Block Storage.

The writer accepts trace data which it will distribute amongst in-memory blocks. When a block is fully filled it will be written and the block is retired (i.e. its databuffer is emptied).

All block data is put in a subdir of the base path. At the end the blocks that have never been fully filled (edge blocks, blocks with data gaps) will be written. Lastly, the main file ".cube" will be written.

Member Typedef Documentation

typedef std::pair<IdxType,float> Seis::Blocks::Writer::ZEvalPos

Constructor & Destructor Documentation

Seis::Blocks::Writer::Writer ( const SurvGeom sg = 0)
Seis::Blocks::Writer::~Writer ( )

Member Function Documentation

uiRetVal Seis::Blocks::Writer::add ( const SeisTrc )
void Seis::Blocks::Writer::add2Block ( Block ,
const ZEvalPosSet ,
SampIdx  ,
const SeisTrc ,
int   
)
protected
void Seis::Blocks::Writer::addAuxInfo ( const char *  key,
const IOPar  
)
void Seis::Blocks::Writer::addComponentName ( const char *  )
BufferString Seis::Blocks::Writer::dirName ( ) const
Task* Seis::Blocks::Writer::finisher ( )

if not run by you, destructor will run it

Column* Seis::Blocks::Writer::getColumn ( const GlobIdx )
protected
bool Seis::Blocks::Writer::isCompletionVisit ( Column ,
const SampIdx  
) const
protected
BufferString Seis::Blocks::Writer::mainFileName ( ) const
Column* Seis::Blocks::Writer::mkNewColumn ( const GlobIdx )
protected
Seis::Blocks::Writer::mODTextTranslationClass ( Seis::Blocks::Writer  )
private
int Seis::Blocks::Writer::nrColumnBlocks ( ) const
inline
bool Seis::Blocks::Writer::prepareWrite ( uiRetVal )
protected
bool Seis::Blocks::Writer::removeExisting ( const char *  ,
uiRetVal  
) const
protected
void Seis::Blocks::Writer::resetZ ( const Interval< float > &  )
protected
void Seis::Blocks::Writer::scanPositions ( PosInfo::CubeData cubedata,
Interval< IdxType > &  ,
Interval< IdxType > &  ,
Interval< int > &  ,
Interval< int > &  ,
Interval< double > &  ,
Interval< double > &   
)
protected
void Seis::Blocks::Writer::setBasePath ( const File::Path )
void Seis::Blocks::Writer::setCubeName ( const char *  )
void Seis::Blocks::Writer::setEmpty ( )
protected
void Seis::Blocks::Writer::setFileNameBase ( const char *  )
void Seis::Blocks::Writer::setFPRep ( OD::FPDataRepType  )
void Seis::Blocks::Writer::setScaler ( const LinScaler )
bool Seis::Blocks::Writer::writeBlock ( od_ostream ,
Block ,
SampIdx  ,
Dimensions   
)
protected
void Seis::Blocks::Writer::writeColumn ( Column ,
uiRetVal  
)
protected
bool Seis::Blocks::Writer::writeColumnHeader ( od_ostream ,
const Column ,
const SampIdx ,
const Dimensions  
) const
protected
void Seis::Blocks::Writer::writeMainFile ( uiRetVal )
protected
bool Seis::Blocks::Writer::writeMainFileData ( od_ostream )
protected

Friends And Related Function Documentation

friend class ColumnWriter
friend
friend class WriterFinisher
friend

Member Data Documentation

ObjectSet<IOPar> Seis::Blocks::Writer::auxiops_
protected
File::Path Seis::Blocks::Writer::basepath_
protected
Pos::IdxPairDataSet& Seis::Blocks::Writer::columns_
protected
BufferStringSet Seis::Blocks::Writer::compnms_
protected
BufferString Seis::Blocks::Writer::cubename_
protected
BufferString Seis::Blocks::Writer::filenamebase_
protected
Interval<IdxType> Seis::Blocks::Writer::globzidxrg_
protected
bool Seis::Blocks::Writer::isfinished_
protected
bool Seis::Blocks::Writer::needreset_
protected
int Seis::Blocks::Writer::nrcomponents_
protected
const int Seis::Blocks::Writer::nrpospercolumn_
protected
LinScaler* Seis::Blocks::Writer::scaler_
protected
OD::FPDataRepType Seis::Blocks::Writer::specfprep_
protected
OD::FPDataRepType Seis::Blocks::Writer::usefprep_
protected
ObjectSet<ZEvalPosSet> Seis::Blocks::Writer::zevalpositions_
protected

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