OpendTect  6.3
cbvsreadmgr.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: 14-4-2001
9  Contents: Common Binary Volume Storage read manager
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "cbvsio.h"
16 #include "cbvsinfo.h"
17 #include "datainterp.h"
18 class CBVSInfo;
19 class CBVSReader;
20 class TrcKeyZSampling;
21 class od_ostream;
22 
23 
28 mExpClass(General) CBVSReadMgr : public CBVSIOMgr
30 public:
31 
32  CBVSReadMgr(const char*,const TrcKeyZSampling* cs=0,
33  bool single_file=false,
34  bool glob_info_only=false,
35  bool forceusecbvsinfo=false);
38  ~CBVSReadMgr();
39 
40  const CBVSInfo& info() const { return info_; }
41  void close();
42 
43  BinID nextBinID() const;
44  bool goTo(const BinID&);
45  bool toNext();
46  bool toStart();
47 
48  bool getAuxInfo(PosAuxInfo&);
49  bool fetch(void**,const bool* comps=0,
50  const Interval<int>* samps=0);
52 
53  static const char* check(const char*);
56 
57  int nrComponents() const;
58  const BinID& binID() const;
59  void getIsRev(bool& inl, bool& crl) const;
60 
61  const char* baseFileName() const
62  { return (const char*)basefname_; }
63 
64  int nrReaders() const
65  { return readers_.size(); }
66  const CBVSReader& reader( int idx ) const
67  { return *readers_[idx]; }
68  int pruneReaders(const TrcKeyZSampling&);
70 
71  void dumpInfo(od_ostream&,bool include_compinfo) const;
72  const TypeSet<Coord>& trailerCoords() const;
73  void getPositions(TypeSet<BinID>&) const;
74  void getPositions(TypeSet<Coord>&) const;
76  const uiString sFoundIn() { return tr("found in:"); }
78  { return tr("differ from first file"); }
79 
80 protected:
81 
84  bool vertical_;
86 
87  bool addReader(od_istream*,const TrcKeyZSampling*,bool,bool);
88  bool addReader(const char*,const TrcKeyZSampling*,bool,bool);
89  int nextRdrNr(int) const;
90  const uiString errMsg_() const;
91 
92 private:
93 
94  void createInfo();
95  bool handleInfo(CBVSReader*,int);
96 
97 };
#define mExpClass(module)
Definition: commondefs.h:157
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
const uiString sDiffFromFirstFile()
Definition: cbvsreadmgr.h:77
const uiString sFoundIn()
Definition: cbvsreadmgr.h:76
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Base class for CBVS read and write manager.
Definition: cbvsio.h:72
Definition: uistring.h:88
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:28
OD class for stream read.
Definition: od_istream.h:23
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
int nrReaders() const
Definition: cbvsreadmgr.h:64
static uiString tr(const char *text, const char *disambiguation=0, int pluralnr=-1)
Definition: od_stream.h:53
int rdr1firstsampnr_
Definition: cbvsreadmgr.h:85
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
CBVSInfo & info_
Definition: cbvsreadmgr.h:83
const char * baseFileName() const
Definition: cbvsreadmgr.h:61
const CBVSReader & reader(int idx) const
Definition: cbvsreadmgr.h:66
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 vertical_
Definition: cbvsreadmgr.h:84
void close()
ObjectSet< CBVSReader > readers_
Definition: cbvsreadmgr.h:82
const CBVSInfo & info() const
Definition: cbvsreadmgr.h:40

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