OpendTect  6.6
cbvsreader.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 header
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "generalmod.h"
16 #include "cbvsio.h"
17 #include "cbvsinfo.h"
18 #include "datainterp.h"
19 #include "trckeyzsampling.h"
20 
21 class TraceData;
22 
23 
24 
39 mExpClass(General) CBVSReader : public CBVSIO
40 {
41 public:
42 
43  CBVSReader(od_istream*,bool glob_info_only=false,
44  bool forceusecbvsinfo=false);
46 
47  const CBVSInfo& info() const { return info_; }
48  int bytesOverheadPerTrace() const;
49  void close();
50  BinID nextBinID() const;
51 
52  bool goTo(const BinID&);
53  bool toStart();
54  bool toNext();
55 
56  bool hasAuxInfo() const { return auxnrbytes_; }
60  bool fetch(void** buffers,const bool* comps=0,
61  const Interval<int>* samps=0,
62  int offs=0);
63  bool fetch(TraceData& buffers,const bool* comps=0,
64  const Interval<int>* samps=0,
65  int offs=0);
71 
72  static const char* check(od_istream&);
75 
76  int trcNrAtPosition() const { return idxatpos_; }
77 
78  const TypeSet<Coord>& trailerCoords() const { return trailercoords_; }
79 
80  static int defHeaderSize() { return 52; }
81 
82 protected:
83 
86 
87  void getAuxInfoSel(const char*);
88  bool readComps();
89  bool readGeom(bool);
90  bool readTrailer();
91  void getText(int,BufferString&);
93  int getPosNr(const PosInfo::CubeDataPos&,bool) const;
94  Coord getTrailerCoord(const BinID&) const;
95  void mkPosNrs();
96 
97 private:
98 
110 
111  bool readInfo(bool,bool);
114 
115  friend class CBVSReadMgr;
118  CoordPol coordPol() const { return coordpol_; }
119 
120  void setCubePos(bool fromgeom) const;
121  void updCurBinID() const;
122 
123 };
124 
125 
CBVSReader::hasAuxInfo
bool hasAuxInfo() const
Definition: cbvsreader.h:56
CBVSReader::trcNrAtPosition
int trcNrAtPosition() const
Definition: cbvsreader.h:76
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
TraceData
A set of data buffers and their interpreters.
Definition: tracedata.h:32
CBVSReader::curgeomcubepos_
PosInfo::CubeDataPos curgeomcubepos_
Definition: cbvsreader.h:116
CBVSReader::check
static const char * check(od_istream &)
CBVSReader::info_
CBVSInfo info_
Definition: cbvsreader.h:85
CBVSReader::coordPol
CoordPol coordPol() const
Definition: cbvsreader.h:118
CBVSReader::defHeaderSize
static int defHeaderSize()
Definition: cbvsreader.h:80
CBVSReader::readComps
bool readComps()
CBVSIO::CoordPol
CoordPol
Definition: cbvsio.h:49
CBVSReader::goTo
bool goTo(const BinID &)
returns 0/0 at end
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
CBVSReader::info
const CBVSInfo & info() const
Definition: cbvsreader.h:47
CBVSReader::fetch
bool fetch(void **buffers, const bool *comps=0, const Interval< int > *samps=0, int offs=0)
CBVSReader::nextBinID
BinID nextBinID() const
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
CBVSReader::auxnrbytes_
int auxnrbytes_
Definition: cbvsreader.h:103
CBVSReader::getAuxInfo
bool getAuxInfo(PosAuxInfo &)
CBVSReadMgr
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:31
cbvsinfo.h
CBVSReader::hs_
TrcKeySampling hs_
Definition: cbvsreader.h:107
CBVSReader
Reader for CBVS format.
Definition: cbvsreader.h:40
CBVSReader::finterp_
DataInterpreter< float > finterp_
Definition: cbvsreader.h:105
datainterp.h
PosInfo::CubeDataPos
Position in a CubeData.
Definition: posinfo.h:73
DataInterpreter< int >
CBVSReader::setCubePos
void setCubePos(bool fromgeom) const
CBVSReader::toNext
bool toNext()
CBVSReader::toOffs
void toOffs(od_int64)
CBVSReader::getPosNr
int getPosNr(const PosInfo::CubeDataPos &, bool) const
CBVSReader::hinfofetched_
bool hinfofetched_
Definition: cbvsreader.h:99
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
CBVSReader::iinterp_
DataInterpreter< int > iinterp_
Definition: cbvsreader.h:104
CBVSReader::curldscubepos_
PosInfo::CubeDataPos curldscubepos_
Definition: cbvsreader.h:117
CBVSReader::updCurBinID
void updCurBinID() const
CBVSReader::posnrs_
TypeSet< int > posnrs_
Definition: cbvsreader.h:109
CBVSReader::mkPosNrs
void mkPosNrs()
CBVSReader::datastartfo_
od_int64 datastartfo_
Definition: cbvsreader.h:113
CBVSReader::fetch
bool fetch(TraceData &buffers, const bool *comps=0, const Interval< int > *samps=0, int offs=0)
CBVSReader::~CBVSReader
~CBVSReader()
trckeyzsampling.h
CBVSReader::CBVSReader
CBVSReader(od_istream *, bool glob_info_only=false, bool forceusecbvsinfo=false)
PosAuxInfo
Auxiliray data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:22
CBVSReader::strm_
od_istream & strm_
Definition: cbvsreader.h:84
CBVSReader::toStart
bool toStart()
CBVSReader::getAuxInfoSel
void getAuxInfoSel(const char *)
CBVSReader::samprg_
Interval< int > samprg_
Definition: cbvsreader.h:108
CBVSReader::getText
void getText(int, BufferString &)
CBVSReader::readInfo
bool readInfo(bool, bool)
CBVSReader::idxatpos_
int idxatpos_
Definition: cbvsreader.h:102
CBVSReader::lastposfo_
od_int64 lastposfo_
Definition: cbvsreader.h:112
cbvsio.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
CBVSReader::readTrailer
bool readTrailer()
CBVSIO
Base class for CBVS reader and writer.
Definition: cbvsio.h:29
CBVSReader::bytespertrace_
int bytespertrace_
Definition: cbvsreader.h:100
CBVSReader::firstbinid_
BinID firstbinid_
Definition: cbvsreader.h:101
CBVSReader::getTrailerCoord
Coord getTrailerCoord(const BinID &) const
CBVSReader::readGeom
bool readGeom(bool)
CBVSInfo
Data available in CBVS format header and trailer.
Definition: cbvsinfo.h:34
Interval< int >
CBVSReader::close
void close()
CBVSReader::trailerCoords
const TypeSet< Coord > & trailerCoords() const
Definition: cbvsreader.h:78
CBVSReader::bytesOverheadPerTrace
int bytesOverheadPerTrace() const
CBVSReader::dinterp_
DataInterpreter< double > dinterp_
Definition: cbvsreader.h:106
TypeSet< Coord >

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