OpendTect-6_4  6.4
welldata.h
Go to the documentation of this file.
1 #ifndef welldata_h
2 #define welldata_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 
17 #include "callback.h"
18 #include "enums.h"
19 #include "multiid.h"
20 #include "namedobj.h"
21 #include "position.h"
22 #include "refcount.h"
23 #include "sets.h"
24 #include "uistring.h"
25 #include "welld2tmodel.h"
26 
27 
28 namespace Well
29 {
30 
31 class Track;
32 class LogSet;
33 class Marker;
34 class MarkerSet;
35 class D2TModel;
36 class DisplayProperties;
37 
38 
45 public:
46 
47  Info( const char* nm )
48  : ::NamedObject(nm)
49  , replvel(Well::getDefaultVelocity())
50  , groundelev(mUdf(float))
51  , welltype_(None)
52  {}
53 
54  enum WellType { None, Oil, Gas, OilGas, Dry, PluggedOil,
55  PluggedGas, PluggedOilGas, PermLoc, CancLoc,
56  InjectDispose };
58 
59  void fillPar(IOPar&) const;
60  void usePar(const IOPar&);
61 
68 
70  float replvel;
71  float groundelev;
72 
73  static const char* sKeyDepthUnit();
74  static const char* sKeyUwid();
75  static const char* sKeyOper();
76  static const char* sKeyState();
77  static const char* sKeyCounty();
78  static const char* sKeyCoord();
79  static const char* sKeyKBElev();
80  static const char* sKeyTD();
81  static const char* sKeyTVDSS();
82  static const char* sKeyReplVel();
83  static const char* sKeyGroundElev();
84  static const char* sKeyWellType();
85  static int legacyLogWidthFactor();
86 
87 
88  static uiString sUwid();
89  static uiString sOper();
90  static uiString sState();
91  static uiString sCounty();
92  static uiString sCoord();
93  static uiString sKBElev();
94  static uiString sTD();
95  static uiString sTVDSS();
96  static uiString sReplVel();
97  static uiString sGroundElev();
98 };
99 
100 
114 { mRefCountImplWithDestructor(Data, virtual ~Data(),
115 {prepareForDelete(); delete this; } );
116 public:
117 
118  Data(const char* nm=0);
119 
120  const MultiID& multiID() const { return mid_; }
121  void setMultiID( const MultiID& mid ) const
122  { mid_ = mid; }
123 
124  virtual const OD::String& name() const { return info_.name(); }
125  virtual void setName(const char* nm) { info_.setName( nm ); }
126  const Info& info() const { return info_; }
127  Info& info() { return info_; }
128  const Track& track() const { return track_; }
129  Track& track() { return track_; }
130  const LogSet& logs() const { return logs_; }
131  LogSet& logs() { return logs_; }
132  const MarkerSet& markers() const { return markers_; }
133  MarkerSet& markers() { return markers_; }
134  const D2TModel* d2TModel() const { return d2tmodel_; }
135  D2TModel* d2TModel() { return d2tmodel_; }
136  const D2TModel* checkShotModel() const { return csmodel_; }
137  D2TModel* checkShotModel() { return csmodel_; }
138  void setD2TModel(D2TModel*);
139  void setCheckShotModel(D2TModel*);
141  { return for2d ? disp2d_ : disp3d_; }
142  const DisplayProperties& displayProperties( bool for2d=false ) const
143  { return for2d ? disp2d_ : disp3d_; }
144 
145  void setEmpty();
146 
147  void levelToBeRemoved(CallBacker*);
148 
149  bool haveLogs() const;
150  bool haveMarkers() const;
151  bool haveD2TModel() const { return d2tmodel_; }
152  bool haveCheckShotModel() const { return csmodel_; }
153 
162 
163 protected:
164  void prepareForDelete() const;
165 
167  mutable MultiID mid_;
175 };
176 
177 } // namespace Well
178 
179 #endif
Display properties of a well.
Definition: welldisp.h:35
#define mExpClass(module)
Definition: commondefs.h:160
Notifier< Well::Data > d2tchanged
Definition: welldata.h:154
Set of Markers.
Definition: wellmarker.h:76
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
const D2TModel * checkShotModel() const
Definition: welldata.h:136
LogSet & logs()
Definition: welldata.h:131
const MarkerSet & markers() const
Definition: welldata.h:132
Depth to time model.
Definition: welld2tmodel.h:34
Info info_
Definition: welldata.h:166
Notifier< Well::Data > markerschanged
Definition: welldata.h:156
WellType
Definition: welldata.h:54
BufferString uwid
Definition: welldata.h:62
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
Information about a certain well.
Definition: welldata.h:43
D2TModel * checkShotModel()
Definition: welldata.h:137
Definition: welldata.h:55
virtual const OD::String & name() const
Definition: welldata.h:124
Log set.
Definition: welllogset.h:32
Definition: uistring.h:89
bool haveCheckShotModel() const
Definition: welldata.h:152
Notifier< Well::Data > disp2dparschanged
Definition: welldata.h:159
A cartesian coordinate in 2D space.
Definition: coord.h:25
const D2TModel * d2TModel() const
Definition: welldata.h:134
Notifier< Well::Data > reloaded
Definition: welldata.h:161
Track & track()
Definition: welldata.h:129
MultiID mid_
Definition: welldata.h:167
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:258
MarkerSet & markers_
Definition: welldata.h:172
FixedString None()
Definition: keystrs.h:90
WellType welltype_
Definition: welldata.h:67
Notifier< Well::Data > disp3dparschanged
Definition: welldata.h:158
const Track & track() const
Definition: welldata.h:128
Info & info()
Definition: welldata.h:127
const LogSet & logs() const
Definition: welldata.h:130
BufferString county
Definition: welldata.h:65
Definition: callback.h:254
const DisplayProperties & displayProperties(bool for2d=false) const
Definition: welldata.h:142
LogSet & logs_
Definition: welldata.h:169
Notifier< Well::Data > csmdlchanged
Definition: welldata.h:155
virtual void setName(const char *nm)
Definition: welldata.h:125
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
mODTextTranslationClass(Well::Info) public
Definition: welldata.h:44
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
BufferString source_
filename for OD storage
Definition: welldata.h:66
Definition: directionalsurvey.h:19
bool haveD2TModel() const
Definition: welldata.h:151
Well track.
Definition: welltrack.h:29
CNotifier< Well::Data, int > logschanged
Definition: welldata.h:160
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
D2TModel * d2tmodel_
Definition: welldata.h:170
Track & track_
Definition: welldata.h:168
MarkerSet & markers()
Definition: welldata.h:133
Definition: repos.h:25
BufferString oper
Definition: welldata.h:63
Coord surfacecoord
Definition: welldata.h:69
DisplayProperties & disp2d_
Definition: welldata.h:173
void setMultiID(const MultiID &mid) const
Definition: welldata.h:121
DisplayProperties & disp3d_
Definition: welldata.h:174
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
const MultiID & multiID() const
Definition: welldata.h:120
BufferString state
Definition: welldata.h:64
Object with a name.
Definition: namedobj.h:35
float replvel
Definition: welldata.h:70
D2TModel * d2TModel()
Definition: welldata.h:135
DisplayProperties & displayProperties(bool for2d=false)
Definition: welldata.h:140
Notifier with automatic capsule creation.
Definition: callback.h:395
The holder of all data concerning a certain well.
Definition: welldata.h:113
const Info & info() const
Definition: welldata.h:126
float groundelev
Definition: welldata.h:71
D2TModel * csmodel_
Definition: welldata.h:171
Notifier< Well::Data > trackchanged
Definition: welldata.h:157
Compound key consisting of ints.
Definition: multiid.h:25
float getDefaultVelocity()

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