OpendTect-6_4  6.4
cbvsreadmgr.h
Go to the documentation of this file.
1 #ifndef cbvsreadmgr_h
2 #define cbvsreadmgr_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: A.H.Bril
9  Date: 14-4-2001
10  Contents: Common Binary Volume Storage read manager
11  RCS: $Id$
12 ________________________________________________________________________
13 
14 -*/
15 
16 #include "generalmod.h"
17 #include "cbvsio.h"
18 #include "cbvsinfo.h"
19 #include "datainterp.h"
20 class CBVSInfo;
21 class CBVSReader;
22 class TraceData;
23 class TrcKeyZSampling;
24 class od_ostream;
25 
26 
31 mExpClass(General) CBVSReadMgr : public CBVSIOMgr
32 {
33 public:
34 
35  CBVSReadMgr(const char*,const TrcKeyZSampling* cs=0,
36  bool single_file=false,
37  bool glob_info_only=false,
38  bool forceusecbvsinfo=false);
41  ~CBVSReadMgr();
42 
43  const CBVSInfo& info() const { return info_; }
44  int bytesOverheadPerTrace() const;
45  void close();
46 
47  BinID nextBinID() const;
48  bool goTo(const BinID&);
49  bool toNext();
50  bool toStart();
51 
52  bool getAuxInfo(PosAuxInfo&);
53  bool fetch(void**,const bool* comps=0,
54  const Interval<int>* samps=0);
55  bool fetch(TraceData&,const bool* comps=0,
56  const Interval<int>* samps=0);
58 
59  static const char* check(const char*);
62 
63  int nrComponents() const;
64  const BinID& binID() const;
65  void getIsRev(bool& inl, bool& crl) const;
66 
67  const char* baseFileName() const
68  { return (const char*)basefname_; }
69 
70  int nrReaders() const
71  { return readers_.size(); }
72  const CBVSReader& reader( int idx ) const
73  { return *readers_[idx]; }
74  int pruneReaders(const TrcKeyZSampling&);
76 
77  void dumpInfo(od_ostream&,bool include_compinfo) const;
78  const TypeSet<Coord>& trailerCoords() const;
79  void getPositions(TypeSet<BinID>&) const;
80  void getPositions(TypeSet<Coord>&) const;
82 
83 protected:
84 
87  bool vertical_;
89 
90  bool addReader(od_istream*,const TrcKeyZSampling*,bool,bool);
91  bool addReader(const char*,const TrcKeyZSampling*,bool,bool);
92  int nextRdrNr(int) const;
93  const char* errMsg_() const;
94 
95 private:
96 
97  void createInfo();
98  bool handleInfo(CBVSReader*,int);
99 
100 };
101 
102 
103 #endif
#define mExpClass(module)
Definition: commondefs.h:160
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:26
Base class for CBVS read and write manager.
Definition: cbvsio.h:72
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:31
OD class for stream read.
Definition: od_istream.h:24
Reader for CBVS format.
Definition: cbvsreader.h:40
Data available in CBVS format header and trailer.
Definition: cbvsinfo.h:34
int nrReaders() const
Definition: cbvsreadmgr.h:70
int rdr1firstsampnr_
Definition: cbvsreadmgr.h:88
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
CBVSInfo & info_
Definition: cbvsreadmgr.h:86
const char * baseFileName() const
Definition: cbvsreadmgr.h:67
const CBVSReader & reader(int idx) const
Definition: cbvsreadmgr.h:72
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Auxiliray data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:22
bool vertical_
Definition: cbvsreadmgr.h:87
A set of data buffers and their interpreters.
Definition: tracedata.h:32
void close()
ObjectSet< CBVSReader > readers_
Definition: cbvsreadmgr.h:85
const CBVSInfo & info() const
Definition: cbvsreadmgr.h:43

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