OpendTect  6.3
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 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "cbvsio.h"
16 #include "cbvsinfo.h"
17 #include "datainterp.h"
18 #include "trckeyzsampling.h"
19 
20 
21 
36 mExpClass(General) CBVSReader : public CBVSIO
38 public:
39 
40  CBVSReader(od_istream*,bool glob_info_only=false,
41  bool forceusecbvsinfo=false);
42  ~CBVSReader();
43 
44  const CBVSInfo& info() const { return info_; }
45  void close();
46  BinID nextBinID() const;
47 
48  bool goTo(const BinID&);
49  bool toStart();
50  bool toNext();
51 
52  bool hasAuxInfo() const { return auxnrbytes_; }
53  bool getAuxInfo(PosAuxInfo&);
56  bool fetch(void** buffers,const bool* comps=0,
57  const Interval<int>* samps=0,
58  int offs=0);
64 
65  static const uiString check(od_istream&);
68 
69  int trcNrAtPosition() const { return idxatpos_; }
70 
71  const TypeSet<Coord>& trailerCoords() const { return trailercoords_; }
72 
73 protected:
74 
77 
78  void getAuxInfoSel(const char*);
79  bool readComps();
80  bool readGeom(bool);
81  bool readTrailer();
82  void getText(int,BufferString&);
83  void toOffs(od_int64);
84  int getPosNr(const PosInfo::CubeDataPos&,bool) const;
85  Coord getTrailerCoord(const BinID&) const;
86  void mkPosNrs();
87 
88 private:
89 
93  int idxatpos_;
101 
102  bool readInfo(bool,bool);
105 
106  friend class CBVSReadMgr;
109  CoordPol coordPol() const { return coordpol_; }
110 
111  void setCubePos(bool fromgeom) const;
112  void updCurBinID() const;
113 
114 };
#define mExpClass(module)
Definition: commondefs.h:157
DataInterpreter< int > iinterp_
Definition: cbvsreader.h:95
od_istream & strm_
Definition: cbvsreader.h:75
PosInfo::CubeDataPos curldscubepos_
Definition: cbvsreader.h:108
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define od_int64
Definition: plftypes.h:34
int bytespertrace_
Definition: cbvsreader.h:91
int idxatpos_
Definition: cbvsreader.h:93
Definition: uistring.h:88
CoordPol
Definition: cbvsio.h:50
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:28
OD class for stream read.
Definition: od_istream.h:23
PosInfo::CubeDataPos curgeomcubepos_
Definition: cbvsreader.h:107
const CBVSInfo & info() const
Definition: cbvsreader.h:44
CBVSInfo info_
Definition: cbvsreader.h:76
Reader for CBVS format.
Definition: cbvsreader.h:36
Set of (small) copyable elements.
Definition: commontypes.h:26
Data available in CBVS format header and trailer.
Definition: cbvsinfo.h:32
const TypeSet< Coord > & trailerCoords() const
Definition: cbvsreader.h:71
BinID firstbinid_
Definition: cbvsreader.h:92
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Position in a CubeData.
Definition: posinfo.h:74
bool hasAuxInfo() const
Definition: cbvsreader.h:52
TrcKeySampling hs_
Definition: cbvsreader.h:98
DataInterpreter< double > dinterp_
Definition: cbvsreader.h:97
Base class for CBVS reader and writer.
Definition: cbvsio.h:28
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Auxiliary data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:21
bool hinfofetched_
Definition: cbvsreader.h:90
2D point or vector class.
Definition: commontypes.h:58
int auxnrbytes_
Definition: cbvsreader.h:94
DataInterpreter< float > finterp_
Definition: cbvsreader.h:96
CoordPol coordPol() const
Definition: cbvsreader.h:109
Interval< int > samprg_
Definition: cbvsreader.h:99
TypeSet< int > posnrs_
Definition: cbvsreader.h:100
od_int64 datastartfo_
Definition: cbvsreader.h:104
int trcNrAtPosition() const
Definition: cbvsreader.h:69
od_int64 lastposfo_
Definition: cbvsreader.h:103

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