OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 CBVS-based seimic translator.
13 
14 -*/
15 
16 #include "seismod.h"
17 #include "seistrctr.h"
18 #include "tracedata.h"
19 #include "cbvsinfo.h"
20 class CBVSReadMgr;
21 class CBVSWriteMgr;
22 class VBrickSpec;
23 
24 
27 public:
28 
29  CBVSSeisTrcTranslator(const char*,const char*);
30  static CBVSSeisTrcTranslator* make(const char* fnm,bool forinfoonly,
31  bool is2d, uiString* errmsg=0,
32  bool forceusecbvsinfo=false);
34 
36  bool read(SeisTrc&);
37  bool skip(int nrtrcs=1);
38 
39  bool supportsGoTo() const { return true; }
40  bool goTo(const BinID&);
41  bool toStart();
42  virtual int bytesOverheadPerTrace() const;
43  virtual bool forRead() const;
44 
45  virtual void usePar(const IOPar&);
46 
47  const CBVSReadMgr* readMgr() const { return rdmgr_; }
49 
50  virtual bool getGeometryInfo(PosInfo::CubeData&) const;
51 
52  virtual bool implRemove(const IOObj*) const;
53  virtual bool implRename(const IOObj*,const char*,
54  const CallBack* cb=0) const;
55  virtual bool implSetReadOnly(const IOObj*,bool) const;
56  const char* defExtension() const { return sKeyDefExtension(); }
57  static const char* sKeyDefExtension();
58 
59  bool is2D() const { return is2d_; }
60  void set2D(bool yn=true);
61  bool singleFile() const { return single_file_; }
62  void setSingleFile( bool yn=true ) { single_file_ = yn; }
63  void setForceUseCBVSInfo(bool yn) { forceusecbvsinfo_=yn;}
64 
65  void setCoordPol(bool dowrite,bool intrailer);
66  void setPreselDataType( int dt ) { preseldatatype_ = dt;}
67 
68  bool isUserSelectable(bool) const { return true; }
69 
70  static const char* sKeyOptDir() { return "Optimized direction";}
71 
72 protected:
73 
74  bool forread_;
75  bool headerdone_; // Will be in base class after 6.2
76  bool donext_;
77  int nrdone_;
78  int coordpol_;
79 
80  // Following variables are inited by commitSelections_
81  bool* compsel_;
82  unsigned char** blockbufs_; // Will be removed after 6.2
83  TraceDataInterpreter** storinterps_; // Will be removed after 6.2
86 
90  bool is2d_;
93 
94  virtual void cleanUp();
95  virtual bool initRead_();
96  virtual bool initWrite_(const SeisTrc&);
97  virtual bool commitSelections_();
98  virtual bool writeTrc_(const SeisTrc&);
99  virtual void blockDumped(int);
100  bool startWrite();
101  bool toNext();
103  bool inactiveSelData() const;
104  int selRes(const BinID&) const;
105 
106 private:
107 
108  static const IOPar& datatypeparspec;
109 
110  void destroyVars(int);
111  virtual bool readData(TraceData* externalbuf);
112 
113 };
114 
115 
CBVSSeisTrcTranslator::readInfo
bool readInfo(SeisTrcInfo &)
CBVSSeisTrcTranslator::forread_
bool forread_
Definition: seiscbvs.h:74
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
CBVSSeisTrcTranslator::startWrite
bool startWrite()
TraceData
A set of data buffers and their interpreters.
Definition: tracedata.h:32
CBVSSeisTrcTranslator::make
static isTranslator(CBVS, SeisTrc) public CBVSSeisTrcTranslator * make(const char *fnm, bool forinfoonly, bool is2d, uiString *errmsg=0, bool forceusecbvsinfo=false)
CBVSSeisTrcTranslator::preseldatatype_
int preseldatatype_
Definition: seiscbvs.h:84
CBVSSeisTrcTranslator::readMgr
const CBVSReadMgr * readMgr() const
Definition: seiscbvs.h:47
tracedata.h
CBVSSeisTrcTranslator::is2d_
bool is2d_
Definition: seiscbvs.h:90
SeisTrcInfo
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:27
CBVSSeisTrcTranslator::skip
bool skip(int nrtrcs=1)
CBVSSeisTrcTranslator::commitSelections_
virtual bool commitSelections_()
CBVSSeisTrcTranslator::coordpol_
int coordpol_
Definition: seiscbvs.h:78
CBVSSeisTrcTranslator::setPreselDataType
void setPreselDataType(int dt)
Definition: seiscbvs.h:66
CBVSSeisTrcTranslator::rdmgr_
CBVSReadMgr * rdmgr_
Definition: seiscbvs.h:87
CBVSSeisTrcTranslator::writeTrc_
virtual bool writeTrc_(const SeisTrc &)
CBVSSeisTrcTranslator::defExtension
const char * defExtension() const
Definition: seiscbvs.h:56
CBVSSeisTrcTranslator::nrdone_
int nrdone_
Definition: seiscbvs.h:77
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisTrc
Seismic trace.
Definition: seistrc.h:34
CBVSSeisTrcTranslator::setCoordPol
void setCoordPol(bool dowrite, bool intrailer)
isTranslator
#define isTranslator(spec, clss)
Definition: transl.h:244
CBVSReadMgr
Manager for reading CBVS file-packs.
Definition: cbvsreadmgr.h:31
cbvsinfo.h
CBVSSeisTrcTranslator::blockbufs_
unsigned char ** blockbufs_
Definition: seiscbvs.h:82
CBVSSeisTrcTranslator::destroyVars
void destroyVars(int)
CBVSSeisTrcTranslator::cleanUp
virtual void cleanUp()
Prepare for new initialisation.
seistrctr.h
CBVSSeisTrcTranslator::usePar
virtual void usePar(const IOPar &)
CBVSSeisTrcTranslator::readData
virtual bool readData(TraceData *externalbuf)
DataInterpreter< float >
CBVSSeisTrcTranslator::blockDumped
virtual void blockDumped(int)
CBVSSeisTrcTranslator::read
bool read(SeisTrc &)
CBVSSeisTrcTranslator::sKeyOptDir
static const char * sKeyOptDir()
Definition: seiscbvs.h:70
CBVSSeisTrcTranslator::goTo
bool goTo(const BinID &)
CBVSSeisTrcTranslator::single_file_
bool single_file_
Definition: seiscbvs.h:91
CBVSSeisTrcTranslator::~CBVSSeisTrcTranslator
~CBVSSeisTrcTranslator()
CBVSSeisTrcTranslator::toNext
bool toNext()
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
CBVSSeisTrcTranslator::getTransform
Pos::IdxPair2Coord getTransform() const
VBrickSpec
Vertical bricking specification.
Definition: cbvswritemgr.h:26
CBVSSeisTrcTranslator::implRemove
virtual bool implRemove(const IOObj *) const
CBVSSeisTrcTranslator::implSetReadOnly
virtual bool implSetReadOnly(const IOObj *, bool) const
CBVSSeisTrcTranslator::sKeyDefExtension
static const char * sKeyDefExtension()
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
CBVSSeisTrcTranslator::selRes
int selRes(const BinID &) const
CBVSSeisTrcTranslator::setForceUseCBVSInfo
void setForceUseCBVSInfo(bool yn)
Definition: seiscbvs.h:63
CBVSSeisTrcTranslator::singleFile
bool singleFile() const
Definition: seiscbvs.h:61
CBVSSeisTrcTranslator::wrmgr_
CBVSWriteMgr * wrmgr_
Definition: seiscbvs.h:88
PosAuxInfo
Auxiliray data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:22
CBVSSeisTrcTranslator::is2D
bool is2D() const
Definition: seiscbvs.h:59
CBVSSeisTrcTranslator::forRead
virtual bool forRead() const
CBVSSeisTrcTranslator::setSingleFile
void setSingleFile(bool yn=true)
Definition: seiscbvs.h:62
IOObj
Definition: ioobj.h:58
SeisTrcTranslator
Definition: seistrctr.h:90
CBVSSeisTrcTranslator::implRename
virtual bool implRename(const IOObj *, const char *, const CallBack *cb=0) const
CBVSSeisTrcTranslator::initWrite_
virtual bool initWrite_(const SeisTrc &)
CBVSSeisTrcTranslator::initRead_
virtual bool initRead_()
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
CBVSSeisTrcTranslator::inactiveSelData
bool inactiveSelData() const
CBVSSeisTrcTranslator::supportsGoTo
bool supportsGoTo() const
Definition: seiscbvs.h:39
CBVSSeisTrcTranslator::datatypeparspec
static const IOPar & datatypeparspec
Definition: seiscbvs.h:108
CBVSSeisTrcTranslator::isUserSelectable
bool isUserSelectable(bool) const
Definition: seiscbvs.h:68
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
CBVSSeisTrcTranslator::mODTextTranslationClass
mODTextTranslationClass(CBVSSeisTrcTranslator)
CBVSSeisTrcTranslator::auxinf_
PosAuxInfo auxinf_
Definition: seiscbvs.h:89
CBVSSeisTrcTranslator::compsel_
bool * compsel_
Definition: seiscbvs.h:81
CBVSSeisTrcTranslator::brickspec_
VBrickSpec & brickspec_
Definition: seiscbvs.h:85
CBVSWriteMgr
Writer for CBVS file packs.
Definition: cbvswritemgr.h:40
CBVSSeisTrcTranslator::set2D
void set2D(bool yn=true)
Pos::IdxPair2Coord
Encapsulates linear transform from (i,j) index to (x,y) coordinates.
Definition: posidxpair2coord.h:26
CBVSSeisTrcTranslator::getFileName
bool getFileName(BufferString &)
CBVSSeisTrcTranslator::donext_
bool donext_
Definition: seiscbvs.h:76
CBVSSeisTrcTranslator::toStart
bool toStart()
CBVSSeisTrcTranslator::headerdone_
bool headerdone_
Definition: seiscbvs.h:75
CBVSSeisTrcTranslator
Definition: seiscbvs.h:26
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
CBVSSeisTrcTranslator::bytesOverheadPerTrace
virtual int bytesOverheadPerTrace() const
CBVSSeisTrcTranslator::forceusecbvsinfo_
bool forceusecbvsinfo_
Definition: seiscbvs.h:92
CBVSSeisTrcTranslator::getGeometryInfo
virtual bool getGeometryInfo(PosInfo::CubeData &) const
CBVSSeisTrcTranslator::storinterps_
TraceDataInterpreter ** storinterps_
Definition: seiscbvs.h:83

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