OpendTect  6.6
cbvswriter.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H.Bril
8  Date: 12-3-2001
9  Contents: Common Binary Volume Storage format writer
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "generalmod.h"
16 #include "cbvsio.h"
17 #include "cbvsinfo.h"
18 #include "posinfo.h"
19 #include "od_ostream.h"
20 
21 template <class T> class DataInterpreter;
22 class TraceData;
23 
24 
37 mExpClass(General) CBVSWriter : public CBVSIO
38 {
39 public:
40 
42  const PosAuxInfo*,CoordPol cp=InAux);
47  const CBVSInfo&);
50 
51  unsigned long byteThreshold() const { return thrbytes_; }
53  void setByteThreshold( unsigned long n )
54  { thrbytes_ = n; }
55  void forceLineStep( const BinID& stp )
56  { forcedlinestep_ = stp; }
57  void forceNrTrcsPerPos( int nr )
58  { nrtrcsperposn_ = nr; nrtrcsperposn_status_ = 0; }
59  void forceTrailer( bool yn=true )
60  { forcetrailer_ = yn; }
61 
62  int put(void**,int offs=0);
63  int put(const TraceData&,int offs=0);
67  void close() { doClose( true ); }
68  void ciaoForNow() { doClose(false); }
71  const CBVSInfo::SurvGeom& survGeom() const { return survgeom_; }
72  const PosAuxInfoSelection& auxInfoSel() { return auxinfosel_; }
73 
74 protected:
75 
77  unsigned long thrbytes_;
83 
84  void writeHdr(const CBVSInfo&);
85  void putAuxInfoSel(unsigned char*) const;
86  void writeComps(const CBVSInfo&);
87  void writeGeom();
88  void doClose(bool);
89 
91  bool writeTrailer();
92 
93 
94 private:
95 
104  CBVSInfo::SurvGeom survgeom_;
105 
107 
108  void init(const CBVSInfo&);
109  void getBinID();
110  void newSeg(bool);
111  bool writeAuxInfo();
112 
113 };
114 
115 
CBVSWriter::nrtrcsperposn_status_
int nrtrcsperposn_status_
Definition: cbvswriter.h:101
CBVSWriter::writeHdr
void writeHdr(const CBVSInfo &)
TraceData
A set of data buffers and their interpreters.
Definition: tracedata.h:32
CBVSWriter::auxinfo_
const PosAuxInfo * auxinfo_
Definition: cbvswriter.h:106
CBVSWriter::getRealGeometry
void getRealGeometry()
PosAuxInfoSelection
Selection of aux info at location. Note that BinID is always selected.
Definition: posauxinfo.h:49
CBVSIO::CoordPol
CoordPol
Definition: cbvsio.h:49
CBVSWriter::writeComps
void writeComps(const CBVSInfo &)
od_ostream.h
CBVSWriter::checknrtrcsperposn_
int checknrtrcsperposn_
Definition: cbvswriter.h:102
CBVSWriter::put
int put(void **, int offs=0)
od_stream::Pos
od_stream_Pos Pos
Definition: od_stream.h:60
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
CBVSWriter::forcedlinestep_
BinID forcedlinestep_
Definition: cbvswriter.h:81
CBVSWriter::~CBVSWriter
~CBVSWriter()
cbvsinfo.h
CBVSWriter::writeAuxInfo
bool writeAuxInfo()
CBVSWriter::survgeom_
CBVSInfo::SurvGeom survgeom_
Definition: cbvswriter.h:104
CBVSWriter::nrbytespersample_
int * nrbytespersample_
Definition: cbvswriter.h:80
CBVSWriter::getBinID
void getBinID()
CBVSWriter::auxinfosel_
PosAuxInfoSelection auxinfosel_
Definition: cbvswriter.h:103
DataInterpreter
Byte-level data interpreter.
Definition: cbvswriter.h:21
CBVSWriter::CBVSWriter
CBVSWriter(od_ostream *, const CBVSInfo &, const PosAuxInfo *, CoordPol cp=InAux)
CBVSWriter::forceLineStep
void forceLineStep(const BinID &stp)
Definition: cbvswriter.h:55
CBVSWriter::survGeom
const CBVSInfo::SurvGeom & survGeom() const
Definition: cbvswriter.h:71
CBVSWriter::writeGeom
void writeGeom()
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
CBVSWriter::trcswritten_
int trcswritten_
Definition: cbvswriter.h:97
CBVSWriter::thrbytes_
unsigned long thrbytes_
Definition: cbvswriter.h:77
posinfo.h
CBVSWriter::auxnrbytes_
int auxnrbytes_
Definition: cbvswriter.h:78
PosAuxInfo
Auxiliray data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:22
CBVSWriter::forceNrTrcsPerPos
void forceNrTrcsPerPos(int nr)
Definition: cbvswriter.h:57
CBVSWriter::doClose
void doClose(bool)
cbvsio.h
CBVSWriter::input_rectnreg_
bool input_rectnreg_
Definition: cbvswriter.h:79
CBVSWriter::ciaoForNow
void ciaoForNow()
Definition: cbvswriter.h:68
CBVSWriter::prevbinid_
BinID prevbinid_
Definition: cbvswriter.h:98
CBVSWriter::strm_
od_ostream & strm_
Definition: cbvswriter.h:76
CBVSWriter::forcetrailer_
bool forcetrailer_
Definition: cbvswriter.h:82
CBVSWriter::byteThreshold
unsigned long byteThreshold() const
The default is unlimited.
Definition: cbvswriter.h:51
CBVSWriter::auxInfoSel
const PosAuxInfoSelection & auxInfoSel()
Definition: cbvswriter.h:72
CBVSWriter::forceTrailer
void forceTrailer(bool yn=true)
Definition: cbvswriter.h:59
CBVSIO
Base class for CBVS reader and writer.
Definition: cbvsio.h:29
CBVSWriter::writeTrailer
bool writeTrailer()
CBVSWriter::file_lastinl_
bool file_lastinl_
Definition: cbvswriter.h:99
CBVSWriter::setByteThreshold
void setByteThreshold(unsigned long n)
Definition: cbvswriter.h:53
CBVSInfo
Data available in CBVS format header and trailer.
Definition: cbvsinfo.h:34
CBVSWriter
Writer for CBVS format.
Definition: cbvswriter.h:38
CBVSWriter::init
void init(const CBVSInfo &)
CBVSWriter::geomsp_
od_stream::Pos geomsp_
file offset of geometry data
Definition: cbvswriter.h:96
od_ostream
OD class for stream write common access to the user log file, or std::cout in other than od_main.
Definition: od_ostream.h:26
CBVSWriter::putAuxInfoSel
void putAuxInfoSel(unsigned char *) const
CBVSWriter::nrtrcsperposn_
int nrtrcsperposn_
Definition: cbvswriter.h:100
CBVSWriter::put
int put(const TraceData &, int offs=0)
CBVSWriter::CBVSWriter
CBVSWriter(od_ostream *, const CBVSWriter &, const CBVSInfo &)
For usage in CBVS pack.
CBVSWriter::newSeg
void newSeg(bool)
CBVSWriter::close
void close()
Definition: cbvswriter.h:67

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