OpendTect-6_4  6.4
wellimpasc.h
Go to the documentation of this file.
1 #ifndef wellimpasc_h
2 #define wellimpasc_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert Bril
9  Date: Aug 2003
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "wellmod.h"
16 #include "bufstringset.h"
17 #include "ranges.h"
18 #include "tableascio.h"
19 #include "typeset.h"
20 #include "od_iosfwd.h"
21 #include "uistring.h"
22 
23 namespace Table { class FormatDesc; }
24 class UnitOfMeasure;
25 
26 
27 namespace Well
28 {
29 class Data;
30 class Track;
31 class D2TModel;
32 class MarkerSet;
33 
40 public:
41 
42  LASImporter( Data& d ) : wd_(&d), useconvs_(false) {}
43  LASImporter() : wd_(0), useconvs_(false) {}
44  ~LASImporter();
45 
48  public:
49  FileInfo()
50  : zrg(mUdf(float),mUdf(float))
51  , depthcolnr(-1)
52  , revz(false)
53  , undefval(-999.25) {}
54  ~FileInfo() {}
55 
56  int size() const { return lognms.size(); }
57 
62  bool revz;
64  float undefval;
66 
69  };
70 
71  void setData( Data* wd ) { wd_ = wd; }
72  const char* getLogInfo(const char* lasfnm,FileInfo&) const;
73  const char* getLogInfo(od_istream& lasstrm,FileInfo&) const;
74  const char* getLogs(const char* lasfnm,const FileInfo&,
75  bool istvd=true,bool usecurvenms=false);
76  const char* getLogs(od_istream& lasstrm,const FileInfo&,
77  bool istvd=true,bool usecurvenms=false);
78 
79  bool willConvertToSI() const { return useconvs_; }
81  void setConvertToSI( bool yn ) { useconvs_ = yn; }
83 
84 protected:
85 
87 
90  bool useconvs_;
91 
92  void parseHeader(char*,char*&,char*&,char*&) const;
93  const char* getLogData(od_istream&,const BoolTypeSet&,
94  const FileInfo&,bool,int,int);
95 
96 };
97 
98 
103 mExpClass(Well) TrackAscIO : public Table::AscIO
105 public:
106  TrackAscIO( const Table::FormatDesc& fd,
107  od_istream& strm )
108  : Table::AscIO(fd)
109  , strm_(strm) {}
110 
111  static Table::FormatDesc* getDesc();
112  bool getData(Data&,float kbelev=mUdf(float),
113  float td=mUdf(float)) const;
114 
115 protected:
116 
118  bool readTrackData(TypeSet<Coord3>&,
120  double& kbelevinfile) const;
121  bool computeMissingValues(TypeSet<Coord3>&,
123  double& kbelevinfile) const;
124  bool adjustSurfaceLocation(TypeSet<Coord3>&,
125  Coord& surfacecoord) const;
126 
127 };
128 
129 
136  public:
137  D2TModelAscIO( const Table::FormatDesc& fd )
138  : Table::AscIO(fd) {}
139 
140  static Table::FormatDesc* getDesc(bool withunitfld);
141  static void updateDesc(Table::FormatDesc&,bool withunitfld);
142  static void createDescBody(Table::FormatDesc*,bool unitfld);
143 
144  bool get(od_istream&,Well::D2TModel&,
145  const Well::Data&) const;
146 };
147 
148 
155 public:
156  MarkerSetAscIO( const Table::FormatDesc& fd )
157  : Table::AscIO(fd) {}
158 
159  static Table::FormatDesc* getDesc();
160 
161  bool get(od_istream&,MarkerSet&,const Track&) const;
162 
163 };
164 
165 
172 public:
174  od_istream&);
175 
176  static Table::FormatDesc* getDesc();
177  bool get(BufferString& wellnm,Coord3& crd,float& md,
178  BufferString& uwi) const;
179  bool depthIsTVD() const;
180 
181 protected:
182 
184 
185 };
186 
187 
194 public:
196 
197  static Table::FormatDesc* getDesc();
198  bool get(BufferString& wellnm,
199  float& md,BufferString& markernm) const;
200  bool identifierIsUWI() const;
201 
202 protected:
203 
205 
206 };
207 
208 
215 public:
217  od_istream&);
219 
220  static Table::FormatDesc* getDesc();
221  bool get(BufferString& wellnm,float& md,float& twt);
222  bool identifierIsUWI() const;
223 
224 protected:
225 
229 };
230 
231 
238 public:
240  od_istream&);
241 
242  static Table::FormatDesc* getDesc();
243  bool getData(Data&,float kb) const;
244 
245 protected:
247  TypeSet<double>&) const;
249 
250 };
251 
252 } // namespace Well
253 
254 #endif
Bulk D2TModel Ascii I/O.
Definition: wellimpasc.h:213
#define mExpClass(module)
Definition: commondefs.h:160
ObjectSet< const UnitOfMeasure > convs_
Definition: wellimpasc.h:89
Set of Markers.
Definition: wellmarker.h:76
Depth to time model.
Definition: welld2tmodel.h:34
Bulk WellTrack Ascii I/O.
Definition: wellimpasc.h:170
mODTextTranslationClass(MarkerSetAscIO) public
Definition: wellimpasc.h:154
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Track Ascii I/O.
Definition: wellimpasc.h:103
BufferStringSet logunits
Definition: wellimpasc.h:59
od_istream & strm_
Definition: wellimpasc.h:204
void setData(Data *wd)
Definition: wellimpasc.h:71
bool revz
Definition: wellimpasc.h:62
BufferStringSet unitmeasstrs_
Definition: wellimpasc.h:88
description of input our output data content
Definition: tabledef.h:220
A cartesian coordinate in 2D space.
Definition: coord.h:25
Set of BufferString objects.
Definition: bufstringset.h:28
Bulk MarkerSet Ascii I/O.
Definition: wellimpasc.h:192
Interval< float > zrg
Definition: wellimpasc.h:61
~FileInfo()
Definition: wellimpasc.h:54
BufferStringSet logcurves
Definition: wellimpasc.h:58
OD class for stream read.
Definition: od_istream.h:24
od_istream & strm_
Definition: wellimpasc.h:117
int size() const
Definition: wellimpasc.h:56
od_istream & strm_
Definition: wellimpasc.h:248
mODTextTranslationClass(FileInfo) public
Definition: wellimpasc.h:47
D2TModel Ascii I/O.
Definition: wellimpasc.h:134
mODTextTranslationClass(D2TModelAscIO) public
Definition: wellimpasc.h:135
Definition: geom2dascio.h:21
BufferString uwi
only info, not used by getLogs
Definition: wellimpasc.h:68
Definition: wellimpasc.h:46
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
Definition: directionalsurvey.h:19
LASImporter()
Definition: wellimpasc.h:43
int depthcolnr
Definition: wellimpasc.h:63
Well track.
Definition: welltrack.h:29
BufferStringSet lognms
Definition: wellimpasc.h:60
Data * wd_
Definition: wellimpasc.h:86
A cartesian coordinate in 3D space.
Definition: coord.h:72
BufferString zunitstr
Definition: wellimpasc.h:65
Definition: repos.h:25
bool willConvertToSI() const
Note that depth is always converted.
Definition: wellimpasc.h:79
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
Ascii I/O using Format Description.
Definition: tableascio.h:42
mODTextTranslationClass(LASImporter) public
Definition: wellimpasc.h:39
ObjectSet< Data > wellsdata_
Definition: wellimpasc.h:228
bool readFile(std::istream &, BufferString &)
BufferStringSet wells_
Definition: wellimpasc.h:227
mODTextTranslationClass(TrackAscIO) public
Definition: wellimpasc.h:104
Directional survey Ascii I/O.
Definition: wellimpasc.h:236
float undefval
Definition: wellimpasc.h:64
The holder of all data concerning a certain well.
Definition: welldata.h:113
od_istream & strm_
Definition: wellimpasc.h:183
MarkerSet Ascii I/O.
Definition: wellimpasc.h:153
Imports files in LAS ( Log Ascii Standard ) format.
Definition: wellimpasc.h:38
od_istream & strm_
Definition: wellimpasc.h:226
Unit of Measure.
Definition: unitofmeasure.h:35
bool useconvs_
Definition: wellimpasc.h:90
void setConvertToSI(bool yn)
Note that depth is always converted.
Definition: wellimpasc.h:81
BufferString wellnm
only info; not used by getLogs
Definition: wellimpasc.h:67

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