OpendTect  6.6
seiscbvsps.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: Dec 2004
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "seispsread.h"
16 #include "seispswrite.h"
17 #include "uistring.h"
18 
19 class SeisTrcTranslator;
21 
22 
39 public:
40  SeisCBVSPSIO(const char* dirnm);
41  // Check errMsg() to see failure
42  virtual ~SeisCBVSPSIO();
43  uiString errMsg() const { return errmsg_; }
44 
46  BufferString get2DFileName(const char* lnm) const;
48  const Interval<int>* inlrg=0) const;
49  static int getInlNr(const char* filenm);
50 
51  void usePar(const IOPar&);
53  { reqdtype_ = ut; }
54 
56  bool setSampleNames(const BufferStringSet&) const;
57 
58  const char* ext() const { return selmask_.buf()+1; }
59 
60 protected:
61 
62  mutable uiString errmsg_;
68 
69  void close();
70  bool dirNmOK(bool forread) const;
71  SeisTrc* readNewTrace(int) const;
72  bool goTo(int,int) const;
73  bool prepGather(int,SeisTrcBuf&) const;
74  bool startWrite(const char*,const SeisTrc&);
75 
76 };
77 
78 
82  , public SeisCBVSPSIO
84 public:
85 
86  SeisCBVSPS3DReader(const char* dirnm,int inl=mUdf(int));
88  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
89 
90  SeisTrc* getTrace(const BinID&,int) const;
91  bool getGather(const BinID&,SeisTrcBuf&) const;
92 
93  const PosInfo::CubeData& posData() const { return posdata_; }
95  bool getSampleNames( BufferStringSet& bss ) const
96  { return SeisCBVSPSIO::getSampleNames(bss); }
97 
98  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
99 
100 protected:
101 
103 
104  void addInl(int);
105  bool mkTr(int) const;
106  bool getGather(int,SeisTrcBuf&) const;
107  SeisTrc* getNextTrace(const BinID&,const Coord&) const;
108 
109  mutable int curinl_;
110 
111 };
112 
113 
117  public SeisCBVSPSIO
119 public:
120 
121  SeisCBVSPS2DReader(const char* dirnm,Pos::GeomID);
122  SeisCBVSPS2DReader(const char* dirnm,const char* lnm);
124  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
125 
126  SeisTrc* getTrace(const BinID&,int) const;
127  bool getGather(const BinID&,SeisTrcBuf&) const;
128 
129  const PosInfo::Line2DData& posData() const { return posdata_; }
130  bool getSampleNames( BufferStringSet& bss ) const
131  { return SeisCBVSPSIO::getSampleNames(bss); }
132 
133  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
134 
135 protected:
136 
138 
140 };
141 
142 
151  , public SeisCBVSPSIO
153 public:
154 
155  SeisCBVSPS3DWriter(const char* dirnm);
157  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
158 
159  bool put(const SeisTrc&);
160  void close();
161 
162  bool setSampleNames( const BufferStringSet& bss ) const
163  { return SeisCBVSPSIO::setSampleNames(bss); }
164 
165  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
166 
167 protected:
168 
170 
171  bool newInl(const SeisTrc&);
172 
173 };
174 
175 
183  , public SeisCBVSPSIO
185 public:
186 
187  SeisCBVSPS2DWriter(const char* dirnm,Pos::GeomID);
188  SeisCBVSPS2DWriter(const char* dirnm,const char* lnm);
189  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
190 
191  bool put(const SeisTrc&);
192  void close();
193 
194  bool setSampleNames( const BufferStringSet& bss ) const
195  { return SeisCBVSPSIO::setSampleNames(bss); }
196 
197  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
198 
199 protected:
200 
201  int prevnr_;
204  bool ensureTr(const SeisTrc&);
205 
206 };
207 
208 
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
SeisCBVSPSIO::get2DFileName
BufferString get2DFileName(Pos::GeomID) const
SeisCBVSPSIO::SeisCBVSPSIO
SeisCBVSPSIO(const char *dirnm)
SeisCBVSPS2DWriter::setSampleNames
bool setSampleNames(const BufferStringSet &bss) const
Definition: seiscbvsps.h:194
SeisCBVSPSIO::readNewTrace
SeisTrc * readNewTrace(int) const
SeisCBVSPSIO::close
void close()
SeisCBVSPS3DReader::usePar
void usePar(const IOPar &i)
Definition: seiscbvsps.h:98
SeisCBVSPS2DWriter::mODTextTranslationClass
mODTextTranslationClass(SeisCBVSPS2DWriter)
seispswrite.h
SeisCBVSPS2DWriter
writes to a CBVS 2D prestack seismic data store.
Definition: seiscbvsps.h:184
SeisCBVSPSIO::nringather_
int nringather_
Definition: seiscbvsps.h:65
SeisCBVSPS3DWriter::newInl
bool newInl(const SeisTrc &)
SeisCBVSPS2DReader::getGather
bool getGather(const BinID &, SeisTrcBuf &) const
SeisCBVSPS3DReader::addInl
void addInl(int)
uistring.h
SeisCBVSPS2DWriter::ensureTr
bool ensureTr(const SeisTrc &)
SeisCBVSPS2DReader::getTrace
SeisTrc * getTrace(const BinID &, int) const
SeisCBVSPS3DReader::SeisCBVSPS3DReader
SeisCBVSPS3DReader(const char *dirnm, int inl=mUdf(int))
PosInfo::Line2DData
Position info for a 2D line.
Definition: posinfo2d.h:65
SeisCBVSPSIO::dirNmOK
bool dirNmOK(bool forread) const
SeisCBVSPS3DReader::getGather
bool getGather(const BinID &, SeisTrcBuf &) const
SeisCBVSPS2DWriter::errMsg
uiString errMsg() const
Definition: seiscbvsps.h:189
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
SeisCBVSPS2DReader::SeisCBVSPS2DReader
SeisCBVSPS2DReader(const char *dirnm, const char *lnm)
SeisCBVSPS2DWriter::SeisCBVSPS2DWriter
SeisCBVSPS2DWriter(const char *dirnm, Pos::GeomID)
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SeisCBVSPS2DReader::SeisCBVSPS2DReader
SeisCBVSPS2DReader(const char *dirnm, Pos::GeomID)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisCBVSPS3DReader::getNextTrace
SeisTrc * getNextTrace(const BinID &, const Coord &) const
SeisCBVSPS2DReader::~SeisCBVSPS2DReader
~SeisCBVSPS2DReader()
SeisTrc
Seismic trace.
Definition: seistrc.h:34
SeisCBVSPS2DReader::getSampleNames
bool getSampleNames(BufferStringSet &bss) const
Definition: seiscbvsps.h:130
SeisCBVSPSIO::ext
const char * ext() const
Definition: seiscbvsps.h:58
SeisCBVSPS3DWriter::close
void close()
SeisCBVSPS3DWriter::~SeisCBVSPS3DWriter
~SeisCBVSPS3DWriter()
SeisCBVSPSIO::reqdtype_
DataCharacteristics::UserType reqdtype_
Definition: seiscbvsps.h:66
SeisCBVSPS3DWriter::put
bool put(const SeisTrc &)
SeisCBVSPS2DReader::posData
const PosInfo::Line2DData & posData() const
Definition: seiscbvsps.h:129
SeisCBVSPS2DWriter::put
bool put(const SeisTrc &)
SeisCBVSPSIO::setSampleNames
bool setSampleNames(const BufferStringSet &) const
SeisCBVSPS2DWriter::SeisCBVSPS2DWriter
SeisCBVSPS2DWriter(const char *dirnm, const char *lnm)
SeisCBVSPS2DWriter::geomid_
Pos::GeomID geomid_
Definition: seiscbvsps.h:203
SeisPS2DReader
reads from a 2D prestack seismic data store.
Definition: seispsread.h:69
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
SeisCBVSPSIO::~SeisCBVSPSIO
virtual ~SeisCBVSPSIO()
SeisCBVSPSIO::usePar
void usePar(const IOPar &)
SeisCBVSPSIO::tr_
CBVSSeisTrcTranslator * tr_
Definition: seiscbvsps.h:67
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< float >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
SeisCBVSPS3DReader::mODTextTranslationClass
mODTextTranslationClass(SeisCBVSPS3DReader)
SeisCBVSPS2DReader::init
void init(Pos::GeomID)
SeisCBVSPS3DWriter::prevbid_
BinID & prevbid_
Definition: seiscbvsps.h:169
SeisCBVSPSIO::errmsg_
uiString errmsg_
Definition: seiscbvsps.h:62
SeisCBVSPSIO::selmask_
const BufferString selmask_
Definition: seiscbvsps.h:64
SeisCBVSPS3DReader::mkTr
bool mkTr(int) const
DataCharacteristics::UserType
UserType
Definition: datachar.h:87
SeisCBVSPS2DReader
reads from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:118
SeisCBVSPS3DWriter
writes to a CBVS 3D prestack seismic data store.
Definition: seiscbvsps.h:152
SeisCBVSPSIO::getSampleNames
bool getSampleNames(BufferStringSet &) const
SeisCBVSPSIO::mODTextTranslationClass
mODTextTranslationClass(SeisCBVSPSIO)
seispsread.h
SeisCBVSPS2DReader::posdata_
PosInfo::Line2DData & posdata_
Definition: seiscbvsps.h:137
SeisCBVSPSIO::errMsg
uiString errMsg() const
Definition: seiscbvsps.h:43
SeisCBVSPS3DReader::errMsg
uiString errMsg() const
Definition: seiscbvsps.h:88
SeisCBVSPSIO::startWrite
bool startWrite(const char *, const SeisTrc &)
SeisCBVSPS3DReader::getSampleNames
bool getSampleNames(BufferStringSet &bss) const
Definition: seiscbvsps.h:95
SeisCBVSPSIO::prepGather
bool prepGather(int, SeisTrcBuf &) const
SeisCBVSPSIO::getInlNr
static int getInlNr(const char *filenm)
SeisTrcTranslator
Definition: seistrctr.h:90
SeisCBVSPS3DWriter::errMsg
uiString errMsg() const
Definition: seiscbvsps.h:157
SeisCBVSPS2DWriter::prevnr_
int prevnr_
Definition: seiscbvsps.h:201
SeisCBVSPS3DReader::posData
const PosInfo::CubeData & posData() const
Definition: seiscbvsps.h:93
SeisCBVSPS2DReader::mODTextTranslationClass
mODTextTranslationClass(SeisCBVSPS2DReader)
SeisCBVSPS3DReader::curinl_
int curinl_
Definition: seiscbvsps.h:109
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
SeisCBVSPS3DReader::getGather
bool getGather(int, SeisTrcBuf &) const
SeisCBVSPS2DWriter::usePar
void usePar(const IOPar &i)
Definition: seiscbvsps.h:197
SeisCBVSPS3DReader::getTrace
SeisTrc * getTrace(const BinID &, int) const
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SeisCBVSPSIO::get2DFileName
BufferString get2DFileName(const char *lnm) const
SeisCBVSPS2DReader::usePar
void usePar(const IOPar &i)
Definition: seiscbvsps.h:133
SeisCBVSPS3DReader::getZRange
StepInterval< float > getZRange() const
SeisCBVSPS3DWriter::SeisCBVSPS3DWriter
SeisCBVSPS3DWriter(const char *dirnm)
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
SeisCBVSPS2DWriter::close
void close()
SeisCBVSPSIO::setPrefStorType
void setPrefStorType(DataCharacteristics::UserType ut)
Definition: seiscbvsps.h:52
SeisCBVSPS3DWriter::mODTextTranslationClass
mODTextTranslationClass(SeisCBVSPS3DWriter)
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
SeisCBVSPS3DReader::~SeisCBVSPS3DReader
~SeisCBVSPS3DReader()
SeisCBVSPSIO::goTo
bool goTo(int, int) const
SeisCBVSPS2DWriter::lnm_
BufferString lnm_
Definition: seiscbvsps.h:202
SeisCBVSPS3DWriter::setSampleNames
bool setSampleNames(const BufferStringSet &bss) const
Definition: seiscbvsps.h:162
SeisPSWriter
writes to a prestack seismic data store.
Definition: seispswrite.h:35
SeisPS3DReader
reads from a 3D prestack seismic data store.
Definition: seispsread.h:56
CBVSSeisTrcTranslator
Definition: seiscbvs.h:26
Interval< int >
SeisCBVSPSIO::get3DFileNames
bool get3DFileNames(BufferStringSet &, const Interval< int > *inlrg=0) const
SeisCBVSPS3DWriter::usePar
void usePar(const IOPar &i)
Definition: seiscbvsps.h:165
SeisCBVSPS2DReader::errMsg
uiString errMsg() const
Definition: seiscbvsps.h:124
SeisCBVSPSIO
Implementation class: I/O from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:38
SeisCBVSPSIO::dirnm_
const BufferString dirnm_
Definition: seiscbvsps.h:63
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
SeisCBVSPS3DReader
reads from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:83
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
SeisCBVSPS3DReader::posdata_
PosInfo::CubeData & posdata_
Definition: seiscbvsps.h:102

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