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

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