OpendTect  6.3
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 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seispsread.h"
14 #include "seispswrite.h"
15 #include "uistring.h"
16 
17 class SeisTrcTranslator;
19 
20 
36 { mODTextTranslationClass(SeisCBVSPSIO);
37 public:
38  SeisCBVSPSIO(const char* dirnm);
39  // Check errMsg() to see failure
40  virtual ~SeisCBVSPSIO();
41  uiString errMsg() const { return errmsg_; }
42 
43  BufferString get2DFileName(Pos::GeomID) const;
44  BufferString get2DFileName(const char* lnm) const;
45  bool get3DFileNames(BufferStringSet&,
46  const Interval<int>* inlrg=0) const;
47  static int getInlNr(const char* filenm);
48 
49  void usePar(const IOPar&);
51  { reqdtype_ = ut; }
52 
53  bool getSampleNames(BufferStringSet&) const;
54  bool setSampleNames(const BufferStringSet&) const;
55 
56  const char* ext() const { return selmask_.buf()+1; }
57 
58 protected:
59 
60  mutable uiString errmsg_;
66 
67  void close();
68  bool dirNmOK(bool forread) const;
69  SeisTrc* readNewTrace(int) const;
70  bool goTo(int,int) const;
71  bool prepGather(int,SeisTrcBuf&) const;
72  bool startWrite(const char*,const SeisTrc&);
73 
74 };
75 
76 
80  , public SeisCBVSPSIO
82 public:
83 
84  SeisCBVSPS3DReader(const char* dirnm,int inl=mUdf(int));
86  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
87 
88  SeisTrc* getTrace(const TrcKey&,int) const;
89  SeisTrc* getTrace(const BinID&,int) const;
90  bool getGather(const TrcKey&,SeisTrcBuf&) const;
91  bool getGather(const BinID&,SeisTrcBuf&) const;
92 
93  const PosInfo::CubeData& posData() const { return posdata_; }
94  StepInterval<float> getZRange() const;
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 TrcKey&,int) const;
127  SeisTrc* getTrace(const BinID&,int) const;
128  bool getGather(const TrcKey&,SeisTrcBuf&) const;
129  bool getGather(const BinID&,SeisTrcBuf&) const;
130 
131  const PosInfo::Line2DData& posData() const { return posdata_; }
132  bool getSampleNames( BufferStringSet& bss ) const
133  { return SeisCBVSPSIO::getSampleNames(bss); }
134 
135  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
136 
137 protected:
138 
140 
141  void init(Pos::GeomID);
142 };
143 
144 
153  , public SeisCBVSPSIO
155 public:
156 
157  SeisCBVSPS3DWriter(const char* dirnm);
159  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
160 
161  bool put(const SeisTrc&);
162  void close();
163 
164  bool setSampleNames( const BufferStringSet& bss ) const
165  { return SeisCBVSPSIO::setSampleNames(bss); }
166 
167  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
168 
169 protected:
170 
172 
173  bool newInl(const SeisTrc&);
174 
175 };
176 
177 
185  , public SeisCBVSPSIO
187 public:
188 
189  SeisCBVSPS2DWriter(const char* dirnm,Pos::GeomID);
190  SeisCBVSPS2DWriter(const char* dirnm,const char* lnm);
191  uiString errMsg() const { return SeisCBVSPSIO::errMsg(); }
192 
193  bool put(const SeisTrc&);
194  void close();
195 
196  bool setSampleNames( const BufferStringSet& bss ) const
197  { return SeisCBVSPSIO::setSampleNames(bss); }
198 
199  void usePar( const IOPar& i ) { SeisCBVSPSIO::usePar(i); }
200 
201 protected:
202 
203  int prevnr_;
206  bool ensureTr(const SeisTrc&);
207 
208 };
bool getSampleNames(BufferStringSet &bss) const
Definition: seiscbvsps.h:132
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
void usePar(const IOPar &i)
Definition: seiscbvsps.h:167
bool setSampleNames(const BufferStringSet &bss) const
Definition: seiscbvsps.h:164
bool goTo(const BinID &)
int prevnr_
Definition: seiscbvsps.h:203
uiString errMsg() const
Definition: seiscbvsps.h:86
const BufferString dirnm_
Definition: seiscbvsps.h:61
bool getSampleNames(BufferStringSet &bss) const
Definition: seiscbvsps.h:95
bool getSampleNames(BufferStringSet &) const
uiString errMsg() const
Definition: seiscbvsps.h:191
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiString errMsg() const
Definition: seiscbvsps.h:124
CBVSSeisTrcTranslator * tr_
Definition: seiscbvsps.h:65
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
bool init()
int curinl_
Definition: seiscbvsps.h:109
BufferString lnm_
Definition: seiscbvsps.h:204
virtual bool close()
FPDataRepType
Definition: commontypes.h:63
void usePar(const IOPar &i)
Definition: seiscbvsps.h:199
Position info for a 2D line.
Definition: posinfo2d.h:63
Definition: uistring.h:88
int nringather_
Definition: seiscbvsps.h:63
Set of BufferString objects.
Definition: bufstringset.h:25
const PosInfo::CubeData & posData() const
Definition: seiscbvsps.h:93
bool setSampleNames(const BufferStringSet &) const
reads from a 3D prestack seismic data store.
Definition: seispsread.h:58
reads from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:116
writes to a CBVS 3D prestack seismic data store.
Definition: seiscbvsps.h:152
const char * ext() const
Definition: seiscbvsps.h:56
Pos::GeomID geomid_
Definition: seiscbvsps.h:205
uiString errMsg() const
Definition: seiscbvsps.h:41
PosInfo::Line2DData & posdata_
Definition: seiscbvsps.h:139
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: seistrctr.h:85
PosInfo::CubeData & posdata_
Definition: seiscbvsps.h:102
DataCharacteristics::UserType reqdtype_
Definition: seiscbvsps.h:64
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
void usePar(const IOPar &)
void usePar(const IOPar &i)
Definition: seiscbvsps.h:98
uiString errmsg_
Definition: seiscbvsps.h:60
const BufferString selmask_
Definition: seiscbvsps.h:62
void setPrefStorType(DataCharacteristics::UserType ut)
Definition: seiscbvsps.h:50
Index_Type GeomID
Definition: commontypes.h:48
void usePar(const IOPar &i)
Definition: seiscbvsps.h:135
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
Seismic trace.
Definition: seistrc.h:31
BufferString errmsg_
Definition: horizontracker.h:117
uiString errMsg() const
Definition: seiscbvsps.h:159
set of seismic traces.
Definition: seisbuf.h:28
const PosInfo::Line2DData & posData() const
Definition: seiscbvsps.h:131
reads from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:79
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
bool setSampleNames(const BufferStringSet &bss) const
Definition: seiscbvsps.h:196
2D point or vector class.
Definition: commontypes.h:58
BinID & prevbid_
Definition: seiscbvsps.h:171
reads from a 2D prestack seismic data store.
Definition: seispsread.h:71
Position info for an entire 3D cube. The LineData&#39;s are not sorted.
Definition: posinfo.h:96
writes to a CBVS 2D prestack seismic data store.
Definition: seiscbvsps.h:184
Implementation class: I/O from a CBVS prestack seismic data store.
Definition: seiscbvsps.h:35
const SeisTrc * getTrace(EM::SubID) const
Definition: seiscbvs.h:23
writes to a prestack seismic data store.
Definition: seispswrite.h:33

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