OpendTect  6.3
seiscbvs.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: April 2001
9 ________________________________________________________________________
10 
11 CBVS-based seimic translator.
12 
13 -*/
14 
15 #include "seistrctr.h"
16 #include "tracedata.h"
17 #include "cbvsinfo.h"
18 class CBVSReadMgr;
19 class CBVSWriteMgr;
20 class VBrickSpec;
21 
22 
25 public:
26 
27  CBVSSeisTrcTranslator(const char*,const char*);
28  static CBVSSeisTrcTranslator* make(const char* fnm,bool forinfoonly,
29  bool is2d, uiString* errmsg=0,
30  bool forceusecbvsinfo=false);
32 
33  bool readInfo(SeisTrcInfo&);
34  bool read(SeisTrc&);
35  bool skip(int nrtrcs=1);
36 
37  bool supportsGoTo() const { return true; }
38  bool goTo(const BinID&);
39  bool toStart();
40  virtual int bytesOverheadPerTrace() const { return 52; }
41  virtual bool forRead() const;
42 
43  virtual void usePar(const IOPar&);
44 
45  const CBVSReadMgr* readMgr() const { return rdmgr_; }
46  Pos::IdxPair2Coord getTransform() const;
47 
48  virtual bool getGeometryInfo(PosInfo::CubeData&) const;
49 
50  virtual bool implRemove(const IOObj*) const;
51  virtual bool implRename(const IOObj*,const char*,
52  const CallBack* cb=0) const;
53  virtual bool implSetReadOnly(const IOObj*,bool) const;
54  const char* defExtension() const { return sKeyDefExtension(); }
55  static const char* sKeyDefExtension();
56 
57  bool is2D() const { return is2d_; }
58  void set2D(bool yn=true);
59  bool singleFile() const { return single_file_; }
60  void setSingleFile( bool yn=true ) { single_file_ = yn; }
61  void setForceUseCBVSInfo(bool yn) { forceusecbvsinfo_=yn;}
62 
63  void setCoordPol(bool dowrite,bool intrailer);
64  void setPreselDataType( int dt ) { preseldatatype_ = dt;}
65 
66  bool isUserSelectable(bool) const { return true; }
67 
68  static const char* sKeyOptDir() { return "Optimized direction";}
69 
70 protected:
71 
72  bool forread_;
74  bool donext_;
75  int nrdone_;
76  int coordpol_;
77 
78  // Following variables are inited by commitSelections_
79  bool* compsel_;
80  unsigned char** blockbufs_;
84 
88  bool is2d_;
91 
92  virtual void cleanUp();
93  virtual bool initRead_();
94  virtual bool initWrite_(const SeisTrc&);
95  virtual bool commitSelections_();
96  virtual bool writeTrc_(const SeisTrc&);
97  virtual void blockDumped(int);
98  bool startWrite();
99  bool toNext();
100  bool getFileName(BufferString&);
101  bool inactiveSelData() const;
102  int selRes(const BinID&) const;
103 
104 private:
105 
106  static const IOPar& datatypeparspec;
107 
108  void destroyVars(int);
109 
110 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Definition: ioobj.h:57
const char * defExtension() const
Definition: seiscbvs.h:54
Writer for CBVS file packs.
Definition: cbvswritemgr.h:37
CBVSReadMgr * rdmgr_
Definition: seiscbvs.h:85
bool headerdone_
Definition: seiscbvs.h:73
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool isUserSelectable(bool) const
Definition: seiscbvs.h:66
PosAuxInfo auxinf_
Definition: seiscbvs.h:87
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
unsigned char ** blockbufs_
Definition: seiscbvs.h:80
virtual int bytesOverheadPerTrace() const
Definition: seiscbvs.h:40
Definition: uistring.h:88
static const IOPar & datatypeparspec
Definition: seiscbvs.h:106
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:28
bool forread_
Definition: seiscbvs.h:72
Byte-level data interpreter.
Definition: cbvswriter.h:20
bool is2d_
Definition: seiscbvs.h:88
bool single_file_
Definition: seiscbvs.h:89
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool supportsGoTo() const
Definition: seiscbvs.h:37
Definition: seistrctr.h:85
bool is2D() const
Definition: seiscbvs.h:57
const CBVSReadMgr * readMgr() const
Definition: seiscbvs.h:45
void setPreselDataType(int dt)
Definition: seiscbvs.h:64
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:24
bool donext_
Definition: seiscbvs.h:74
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
Seismic trace.
Definition: seistrc.h:31
static const char * sKeyOptDir()
Definition: seiscbvs.h:68
bool * compsel_
Definition: seiscbvs.h:79
bool forceusecbvsinfo_
Definition: seiscbvs.h:90
int preseldatatype_
Definition: seiscbvs.h:82
TraceDataInterpreter ** storinterps_
Definition: seiscbvs.h:81
Vertical bricking specification.
Definition: cbvswritemgr.h:23
CBVSWriteMgr * wrmgr_
Definition: seiscbvs.h:86
void setForceUseCBVSInfo(bool yn)
Definition: seiscbvs.h:61
int coordpol_
Definition: seiscbvs.h:76
CallBacks object-oriented (object + method).
Definition: callback.h:62
Position info for an entire 3D cube. The LineData&#39;s are not sorted.
Definition: posinfo.h:96
int nrdone_
Definition: seiscbvs.h:75
VBrickSpec & brickspec_
Definition: seiscbvs.h:83
Encapsulates linear transform from (i,j) index to (x,y) coordinates.
Definition: posidxpair2coord.h:24
Definition: seiscbvs.h:23
void setSingleFile(bool yn=true)
Definition: seiscbvs.h:60
#define isTranslator(spec, clss)
Definition: transl.h:224
bool singleFile() const
Definition: seiscbvs.h:59

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