OpendTect  6.3
emsurfacetr.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: Kristofer Tingdahl
8  Date: 4-11-2002
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "transl.h"
16 #include "emsurfaceiodata.h"
17 #include "uistring.h"
18 
19 class Executor;
20 class IOObj;
21 
22 namespace EM
23 {
24  class dgbSurfaceReader;
25  class FaultStickSet;
26  class Fault3D;
27  class Horizon;
28  class Horizon2D;
29  class Horizon3D;
30  class Surface;
31 }
32 
38 
39 
48 public:
50 
51  const char* defExtension() const { return "hor"; }
52 };
53 
54 
62 public:
64 
65  const char* defExtension() const { return "2dh"; }
66 };
67 
68 
76 public:
78 };
79 
80 
88 public:
90 
91  const char* defExtension() const { return "flt"; }
92 };
93 
94 
102 public:
104 
105  const char* defExtension() const { return "fss"; }
106 };
107 
108 
114 {
115 public:
116  EMSurfaceTranslator(const char* nm,
117  const char* unm)
118  : Translator(nm,unm)
119  , ioobj_(0)
120  , surface_(0)
121  , sels_(sd_) {}
122 
123  virtual ~EMSurfaceTranslator();
124 
125  bool startRead(const IOObj&);
126  bool startWrite(const EM::Surface&);
127 
129 
130  virtual Executor* reader(EM::Surface&) { return 0; }
132  Executor* writer(const IOObj&,bool fullimplremove=true);
135  { return 0; }
136  virtual Executor* getAuxdataWriter(const EM::Surface&,int,
137  bool overwt=false)
138  { return 0; }
139 
140  uiString errMsg() const { return errmsg_; }
141 
142  virtual bool implRemove(const IOObj*) const;
143  virtual bool implRename(const IOObj*,const char*,
144  const CallBack* cb=0) const;
145  virtual bool implSetReadOnly(const IOObj*,bool) const;
146 
147  static bool getBinarySetting();
148 
149  void setCreatedFrom( const char* src )
150  { crfrom_ = src; }
151 
152 protected:
153 
160 
161  virtual bool prepRead() { return true; }
162  virtual bool prepWrite() { return true; }
163  virtual Executor* getWriter() { return 0; }
164 
165  void init(const EM::Surface*,const IOObj*);
166  void setIOObj(const IOObj*);
167 };
168 
169 
175 {
176 public:
177  dgbEMSurfaceTranslator(const char*,const char*);
178  virtual ~dgbEMSurfaceTranslator();
179 
180  virtual Executor* reader(EM::Surface&);
181 
182 protected:
183 
184  static BufferString createHOVName(const char* base,int idx);
185  bool setSurfaceTransform(const IOPar&);
186  void getSels(StepInterval<int>&,StepInterval<int>&);
187 
188  bool prepRead();
189  Executor* getWriter();
190 
191  virtual bool readOnlyZ() const { return true; }
192  virtual bool writeOnlyZ() const { return true; }
193  virtual bool hasRangeSelection() const { return true; }
194 
196 };
197 
198 
206 public:
207  dgbEMHorizon3DTranslator(const char* unm,
208  const char* nm)
209  : dgbEMSurfaceTranslator(unm,nm) {}
211  virtual Executor* getAuxdataReader(EM::Surface&,int);
212  virtual Executor* getAuxdataWriter(const EM::Surface&,int,
213  bool ovwrt=false);
214 
215 
216 protected:
217  virtual bool readOnlyZ() const { return true; }
218  virtual bool writeOnlyZ() const { return true; }
219  virtual bool hasRangeSelection() const { return true; }
220 };
221 
222 
229 public:
230  dgbEMHorizon2DTranslator(const char* unm,
231  const char* nm)
232  : dgbEMSurfaceTranslator(unm,nm) {}
234 
235 protected:
236  virtual bool readOnlyZ() const {return false;}
237  virtual bool writeOnlyZ() const {return true;}
238  virtual bool hasRangeSelection() const {return false;}
239 };
240 
241 
248 public:
249  dgbEMFault3DTranslator(const char* unm,
250  const char* nm)
251  : dgbEMSurfaceTranslator(unm,nm) {}
253 
254 protected:
255  virtual bool readOnlyZ() const { return false;}
256  virtual bool writeOnlyZ() const { return false;}
257  virtual bool hasRangeSelection() const { return false;}
258 };
259 
260 
268 public:
269  dgbEMFaultStickSetTranslator(const char* unm,
270  const char* nm)
271  : dgbEMSurfaceTranslator(unm,nm) {}
273 
274 protected:
275  virtual bool readOnlyZ() const { return false;}
276  virtual bool writeOnlyZ() const { return false;}
277  virtual bool hasRangeSelection() const { return false;}
278 };
#define mExpClass(module)
Definition: commondefs.h:157
TranslatorGroup for EM::Horizon.
Definition: emsurfacetr.h:73
dgb EMSurfaceTranslator
Definition: emsurfacetr.h:174
virtual bool hasRangeSelection() const
Definition: emsurfacetr.h:238
TranslatorGroup for EM::Horizon2D.
Definition: emsurfacetr.h:59
Definition: ioobj.h:57
BufferString crfrom_
Definition: emsurfacetr.h:159
EM::Surface * surface_
Definition: emsurfacetr.h:155
uiString errMsg() const
Definition: emsurfacetr.h:140
virtual bool readOnlyZ() const
Definition: emsurfacetr.h:255
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Data interesting for Surface I/O.
Definition: emsurfaceiodata.h:28
EM::Horizon3D EMHorizon3D
Definition: emsurfacetr.h:33
bool init()
mDefEmptyTranslatorGroupConstructor(EMHorizon3D) const char *defExtension() const
Definition: emsurfacetr.h:49
virtual Executor * reader(EM::Surface &)
Definition: emsurfacetr.h:130
dgbEMSurfaceTranslator for EM::FaultStickSet.
Definition: emsurfacetr.h:265
virtual bool hasRangeSelection() const
Definition: emsurfacetr.h:277
isTranslator(dgb, EMFaultStickSet) public
Definition: emsurfacetr.h:267
dgbEMSurfaceTranslator for EM::Fault3D.
Definition: emsurfacetr.h:246
dgbEMSurfaceTranslator for EM::Horizon3D.
Definition: emsurfacetr.h:203
EM::SurfaceIODataSelection sels_
Definition: emsurfacetr.h:158
EM::SurfaceIOData sd_
Definition: emsurfacetr.h:157
virtual Executor * getWriter()
Definition: emsurfacetr.h:163
virtual ~dgbEMFaultStickSetTranslator()
Definition: emsurfacetr.h:272
Definition: uistring.h:88
virtual bool writeOnlyZ() const
Definition: emsurfacetr.h:237
virtual bool writeOnlyZ() const
Definition: emsurfacetr.h:192
isTranslator(dgb, EMHorizon3D) mODTextTranslationClass(dgbEMHorizon3DTranslator) public
Definition: emsurfacetr.h:204
2D Horizon. The Horizon is only present along 2d lines, set by addLine. Each position&#39;s subid is form...
Definition: emhorizon2d.h:106
isTranslator(dgb, EMFault3D) public
Definition: emsurfacetr.h:247
#define mDefEmptyTranslatorGroupConstructor(clss)
Definition: transl.h:249
virtual bool prepWrite()
Definition: emsurfacetr.h:162
TranslatorGroup for EM::FaultStickSet.
Definition: emsurfacetr.h:99
EMSurfaceTranslator(const char *nm, const char *unm)
Definition: emsurfacetr.h:116
Group of Translators. Has a static factory.
Definition: transl.h:54
TranslatorGroup for EM::Fault3D.
Definition: emsurfacetr.h:85
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
virtual Executor * getAuxdataReader(EM::Surface &, int)
Definition: emsurfacetr.h:134
virtual bool writeOnlyZ() const
Definition: emsurfacetr.h:256
mDefEmptyTranslatorGroupConstructor(EMFault3D) const char *defExtension() const
Definition: emsurfacetr.h:89
Fault stick set.
Definition: emfaultstickset.h:98
virtual bool readOnlyZ() const
Definition: emsurfacetr.h:191
FixedString Horizon()
Definition: keystrs.h:70
EM::SurfaceIODataSelection & selections()
Definition: emsurfacetr.h:128
isTranslator(dgb, EMHorizon2D) public
Definition: emsurfacetr.h:228
virtual bool hasRangeSelection() const
Definition: emsurfacetr.h:257
dgbEMSurfaceTranslator for EM::Horizon2D.
Definition: emsurfacetr.h:227
void setCreatedFrom(const char *src)
Definition: emsurfacetr.h:149
EM::FaultStickSet EMFaultStickSet
Definition: emsurfacetr.h:37
virtual Executor * getAuxdataWriter(const EM::Surface &, int, bool overwt=false)
Definition: emsurfacetr.h:136
virtual bool prepRead()
Definition: emsurfacetr.h:161
Surface Reader.
Definition: emsurfaceio.h:45
I/O Interpreter class for a certain object type.
Definition: transl.h:122
EM::Horizon EMAnyHorizon
Definition: emsurfacetr.h:35
virtual bool readOnlyZ() const
Definition: emsurfacetr.h:217
EM::Fault3D EMFault3D
Definition: emsurfacetr.h:36
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
virtual bool hasRangeSelection() const
Definition: emsurfacetr.h:219
virtual bool writeOnlyZ() const
Definition: emsurfacetr.h:218
virtual bool hasRangeSelection() const
Definition: emsurfacetr.h:193
FixedString Surface()
Definition: keystrs.h:124
uiString errmsg_
Definition: emsurfacetr.h:156
BufferString errmsg_
Definition: horizontracker.h:117
EM::dgbSurfaceReader * reader_
Definition: emsurfacetr.h:195
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:31
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
mDefEmptyTranslatorGroupConstructor(EMHorizon2D) const char *defExtension() const
Definition: emsurfacetr.h:63
3D Fault
Definition: emfault3d.h:76
virtual bool writeOnlyZ() const
Definition: emsurfacetr.h:276
mDefEmptyTranslatorGroupConstructor(EMFaultStickSet) const char *defExtension() const
Definition: emsurfacetr.h:103
TranslatorGroup for EM::Horizon3D. Reads/writes 3D EM::Horizon3D to storage.
Definition: emsurfacetr.h:45
IOObj * ioobj_
Definition: emsurfacetr.h:154
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:94
EM::Horizon2D EMHorizon2D
Definition: emsurfacetr.h:34
virtual bool readOnlyZ() const
Definition: emsurfacetr.h:275
#define isTranslatorGroup(clss)
In the class definition of a TranslatorGroup class.
Definition: transl.h:188
Translator for EM::Surface.
Definition: emsurfacetr.h:113
Surface I/O data selection.
Definition: emsurfaceiodata.h:60
CallBacks object-oriented (object + method).
Definition: callback.h:62
virtual ~dgbEMHorizon2DTranslator()
Definition: emsurfacetr.h:233
virtual bool readOnlyZ() const
Definition: emsurfacetr.h:236
Horizon Surface.
Definition: emhorizon.h:46
virtual ~dgbEMFault3DTranslator()
Definition: emsurfacetr.h:252
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
virtual ~dgbEMHorizon3DTranslator()
Definition: emsurfacetr.h:210

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