OpendTect-6_4  6.4
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
SeisSequentialWriter Class Reference

Public Member Functions

 SeisSequentialWriter (SeisTrcWriter *, int buffsize=-1)
 
 ~SeisSequentialWriter ()
 
bool announceTrace (const BinID &)
 
bool submitTrace (SeisTrc *, bool waitforbuffer=true)
 
bool submitGather (ObjectSet< SeisTrc > &, bool waitforbuffer=true)
 
bool finishWrite ()
 
uiString errMsg () const
 

Protected Member Functions

bool iterateBuffer (bool waitforbuffer)
 
void reportWrite (const char *)
 

Protected Attributes

SeisTrcWriterwriter_
 
TypeSet< BinIDannouncedtraces_
 
Threads::ConditionVarlock_
 
ObjectSet< SeisTrcoutputs_
 
const int maxbuffersize_
 
BinID latestbid_
 
int queueid_
 
uiString errmsg_
 

Private Member Functions

 mODTextTranslationClass (SeisSequentialWriter)
 

Friends

class SeisSequentialWriterTask
 

Detailed Description

Writes traces that are submitted in random order in the correct sequence.

Constructor & Destructor Documentation

SeisSequentialWriter::SeisSequentialWriter ( SeisTrcWriter ,
int  buffsize = -1 
)

Writer is owned by caller, not mine. Default bufsize is 2xnrprocessors.

SeisSequentialWriter::~SeisSequentialWriter ( )

Member Function Documentation

bool SeisSequentialWriter::announceTrace ( const BinID )

Tell the writer that this binid will be submitted later.

uiString SeisSequentialWriter::errMsg ( ) const
inline
bool SeisSequentialWriter::finishWrite ( )

Wait for everything to be written. Should be after final submitTrace, before closure.

bool SeisSequentialWriter::iterateBuffer ( bool  waitforbuffer)
protected
SeisSequentialWriter::mODTextTranslationClass ( SeisSequentialWriter  )
private
void SeisSequentialWriter::reportWrite ( const char *  )
protected
bool SeisSequentialWriter::submitGather ( ObjectSet< SeisTrc > &  ,
bool  waitforbuffer = true 
)

Trcs become mine. All traces are assumed to be from the same cdp. Traces will be written out in the same order as in the set. If waitforbuffer is true and buffer is full, wait until buffer gets smaller.

bool SeisSequentialWriter::submitTrace ( SeisTrc ,
bool  waitforbuffer = true 
)

Trc becomes mine. If waitforbuffer is true and buffer is full, wait until buffer gets smaller.

Friends And Related Function Documentation

friend class SeisSequentialWriterTask
friend

Member Data Documentation

TypeSet<BinID> SeisSequentialWriter::announcedtraces_
protected
uiString SeisSequentialWriter::errmsg_
protected
BinID SeisSequentialWriter::latestbid_
protected
Threads::ConditionVar& SeisSequentialWriter::lock_
protected
const int SeisSequentialWriter::maxbuffersize_
protected
ObjectSet<SeisTrc> SeisSequentialWriter::outputs_
protected
int SeisSequentialWriter::queueid_
protected
SeisTrcWriter* SeisSequentialWriter::writer_
protected

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