OpendTect  6.3
wellimpasc.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: Bert Bril
8  Date: Aug 2003
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "wellcommon.h"
14 #include "bufstringset.h"
15 #include "ranges.h"
16 #include "tableascio.h"
17 #include "typeset.h"
18 #include "od_iosfwd.h"
19 #include "uistring.h"
20 
21 namespace Table { class FormatDesc; }
22 class UnitOfMeasure;
23 
24 
25 namespace Well
26 {
27 
31 { mODTextTranslationClass(LASImporter);
32 public:
33 
35  : wd_(&d), useconvs_(false) {}
37  : useconvs_(false) {}
38  ~LASImporter();
39 
41  { mODTextTranslationClass(FileInfo);
42  public:
44  : zrg(mUdf(float),mUdf(float))
45  , depthcolnr(-1)
46  , revz(false)
47  , undefval(-999.25) {}
48  ~FileInfo() {}
49 
52  bool revz;
54  float undefval;
56 
59  };
60 
61  void setData( Data& wd ) { wd_ = &wd; }
62  const char* getLogInfo(const char* lasfnm,FileInfo&) const;
63  const char* getLogInfo(od_istream& lasstrm,FileInfo&) const;
64  const char* getLogs(const char* lasfnm,const FileInfo&,
65  bool istvd=true);
66  const char* getLogs(od_istream& lasstrm,const FileInfo&,
67  bool istvd=true);
68 
69  bool willConvertToSI() const { return useconvs_; }
71  void setConvertToSI( bool yn ) { useconvs_ = yn; }
73 
74 protected:
75 
77 
80  bool useconvs_;
81 
82  void parseHeader(char*,char*&,char*&,char*&) const;
83  const char* getLogData(od_istream&,const BoolTypeSet&,
84  const FileInfo&,bool,int,int);
85 
86 };
87 
88 
91 mExpClass(Well) TrackAscIO : public Table::AscIO
93 public:
95  od_istream& strm )
96  : Table::AscIO(fd)
97  , strm_(strm) {}
98 
99  static Table::FormatDesc* getDesc();
100  bool getData(Data&,float kbelev=mUdf(float),
101  float td=mUdf(float)) const;
102 
103 protected:
104 
106  bool readTrackData(TypeSet<Coord3>&,
108  double& kbelevinfile) const;
109  bool computeMissingValues(TypeSet<Coord3>&,
111  double& kbelevinfile) const;
112  bool adjustSurfaceLocation(TypeSet<Coord3>&,
113  Coord& surfacecoord) const;
114 
115 };
116 
117 
122  public:
124  : Table::AscIO(fd) {}
125 
126  static Table::FormatDesc* getDesc(bool withunitfld);
127  static void updateDesc(Table::FormatDesc&,bool withunitfld);
128  static void createDescBody(Table::FormatDesc*,bool unitfld);
129 
130  bool get(od_istream&,Well::D2TModel&,
131  const Well::Data&) const;
132 };
133 
134 
139 public:
141  : Table::AscIO(fd) {}
142 
143  static Table::FormatDesc* getDesc();
144 
145  bool get(od_istream&,MarkerSet&,const Track&) const;
146 
147 };
148 
149 
154 public:
156 
157  static Table::FormatDesc* getDesc();
158  bool get(BufferString& wellnm,Coord3& crd,float& md,
159  BufferString& uwi) const;
160 
161 protected:
162 
164 
165 };
166 
167 
172 public:
174 
175  static Table::FormatDesc* getDesc();
176  bool get(BufferString& wellnm,
177  float& md,BufferString& markernm) const;
178  bool identifierIsUWI() const;
179 
180 protected:
181 
183 
184 };
185 
186 
191 public:
193  od_istream&);
194 
195  static Table::FormatDesc* getDesc();
196  bool get(BufferString& wellnm,float& md,float& twt);
197  bool identifierIsUWI() const;
198 
199 protected:
200 
204 };
205 
206 
207 } // namespace Well
Bulk D2TModel Ascii I/O.
Definition: wellimpasc.h:189
#define mExpClass(module)
Definition: commondefs.h:157
ObjectSet< const UnitOfMeasure > convs_
Definition: wellimpasc.h:79
Set of Markers.
Definition: wellmarker.h:83
void setData(Data &wd)
Definition: wellimpasc.h:61
Depth to time model.
Definition: welld2tmodel.h:25
Bulk WellTrack Ascii I/O.
Definition: wellimpasc.h:152
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Track Ascii I/O.
Definition: wellimpasc.h:91
od_istream & strm_
Definition: wellimpasc.h:182
RefMan< Data > wd_
Definition: wellimpasc.h:76
bool revz
Definition: wellimpasc.h:52
BufferStringSet unitmeasstrs_
Definition: wellimpasc.h:78
description of input our output data content
Definition: tabledef.h:215
Set of BufferString objects.
Definition: bufstringset.h:25
Bulk MarkerSet Ascii I/O.
Definition: wellimpasc.h:170
Interval< float > zrg
Definition: wellimpasc.h:51
~FileInfo()
Definition: wellimpasc.h:48
OD class for stream read.
Definition: od_istream.h:23
od_istream & strm_
Definition: wellimpasc.h:105
D2TModelAscIO(const Table::FormatDesc &fd)
Definition: wellimpasc.h:123
3D point or vector
Definition: commontypes.h:57
D2TModel Ascii I/O.
Definition: wellimpasc.h:120
TrackAscIO(const Table::FormatDesc &fd, od_istream &strm)
Definition: wellimpasc.h:94
Definition: geom2dascio.h:18
BufferString uwi
only info, not used by getLogs
Definition: wellimpasc.h:58
Definition: wellimpasc.h:40
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Definition: wellcommon.h:16
LASImporter()
Definition: wellimpasc.h:36
int depthcolnr
Definition: wellimpasc.h:53
Well track.
Definition: welltrack.h:22
BufferStringSet lognms
Definition: wellimpasc.h:50
BufferString zunitstr
Definition: wellimpasc.h:55
LASImporter(Data &d)
Definition: wellimpasc.h:34
bool willConvertToSI() const
Note that depth is always converted.
Definition: wellimpasc.h:69
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
TypeSet< ConstRefMan< Data > > wellsdata_
Definition: wellimpasc.h:203
MarkerSetAscIO(const Table::FormatDesc &fd)
Definition: wellimpasc.h:140
BufferStringSet wells_
Definition: wellimpasc.h:202
float undefval
Definition: wellimpasc.h:54
The holder of all data concerning a certain well.
Definition: welldata.h:36
2D point or vector class.
Definition: commontypes.h:58
od_istream & strm_
Definition: wellimpasc.h:163
MarkerSet Ascii I/O.
Definition: wellimpasc.h:137
Imports files in LAS ( Log Ascii Standard ) format.
Definition: wellimpasc.h:30
od_istream & strm_
Definition: wellimpasc.h:201
Unit of Measure.
Definition: unitofmeasure.h:33
bool useconvs_
Definition: wellimpasc.h:80
Definition: ptrman.h:200
FileInfo()
Definition: wellimpasc.h:43
void setConvertToSI(bool yn)
Note that depth is always converted.
Definition: wellimpasc.h:71
BufferString wellnm
only info; not used by getLogs
Definition: wellimpasc.h:57

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