OpendTect  6.6
emmarchingcubessurface.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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "emobject.h"
17 #include "embody.h"
18 #include "samplingdata.h"
19 
21 
22 namespace EM
23 {
24 
25 class BodyOperator;
26 
31 mExpClass(EarthModel) MarchingCubesSurface : public Body, public EMObject
33 public:
34 
35  const char* type() const { return typeStr(); }
36  virtual int nrSections() const { return 1; }
37  virtual SectionID sectionID(int) const { return 0; }
38  virtual bool canSetSectionName() const { return false;}
39 
42  { return 0; }
43  virtual Executor* loader();
44  virtual Executor* saver();
45  virtual Executor* saver(IOObj*);
46  virtual bool isEmpty() const;
47 
48  const IOObjContext& getIOObjContext() const;
49 
50  ::MarchingCubesSurface& surface() { return *mcsurface_; }
51  const ::MarchingCubesSurface& surface() const { return *mcsurface_; }
53 
54  const SamplingData<int>& inlSampling() const { return inlsampling_; }
55  const SamplingData<int>& crlSampling() const { return crlsampling_; }
56  const SamplingData<float>& zSampling() const { return zsampling_; }
60 
63 
64  void refBody();
65  void unRefBody();
66  MultiID storageID() const;
68 
69  EM::BodyOperator* getBodyOperator() const { return operator_; }
72  /*<Set operator only, to use it, call
73  regenerateMCBody() to update the surface.*/
75 
76  bool useBodyPar(const IOPar&);
77  void fillBodyPar(IOPar&) const;
78 
80  { return tr("Marching Cubes Body"); }
81 
82 protected:
83 
89 };
90 
91 } // namespace EM
92 
EM::MarchingCubesSurface::setSurface
bool setSurface(::MarchingCubesSurface *)
emobject.h
EM::MarchingCubesSurface::inlsampling_
SamplingData< int > inlsampling_
Definition: emmarchingcubessurface.h:84
EM::MarchingCubesSurface::createImplicitBody
ImplicitBody * createImplicitBody(TaskRunner *, bool) const
EM::MarchingCubesSurface::crlSampling
const SamplingData< int > & crlSampling() const
Definition: emmarchingcubessurface.h:55
EM::MarchingCubesSurface::nrSections
virtual int nrSections() const
Definition: emmarchingcubessurface.h:36
EM::MarchingCubesSurface::saver
virtual Executor * saver(IOObj *)
EM::MarchingCubesSurface::operator_
EM::BodyOperator * operator_
Definition: emmarchingcubessurface.h:88
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::MarchingCubesSurface::inlSampling
const SamplingData< int > & inlSampling() const
Definition: emmarchingcubessurface.h:54
Geometry::Element
Definition: geomelement.h:37
EM::MarchingCubesSurface::unRefBody
void unRefBody()
Should be mapped to EMObject::unRef()
samplingdata.h
EM::MarchingCubesSurface::useBodyPar
bool useBodyPar(const IOPar &)
Should be mapped to EMObject::usePar;.
EM::MarchingCubesSurface::isEmpty
virtual bool isEmpty() const
EM::MarchingCubesSurface::setInlSampling
void setInlSampling(const SamplingData< int > &)
EM::MarchingCubesSurface::canSetSectionName
virtual bool canSetSectionName() const
Definition: emmarchingcubessurface.h:38
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::MarchingCubesSurface::sectionGeometry
Geometry::Element * sectionGeometry(const SectionID &)
Definition: emmarchingcubessurface.h:40
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
EM::MarchingCubesSurface::setBodyOperator
void setBodyOperator(EM::BodyOperator *)
EM::BodyOperator
Operators for implicit body. Each BodyOperator has two children, either a Body or a BodyOperator.
Definition: embodyoperator.h:41
EM::MarchingCubesSurface::crlsampling_
SamplingData< int > crlsampling_
Definition: emmarchingcubessurface.h:85
EM::MarchingCubesSurface::saver
virtual Executor * saver()
EM::MarchingCubesSurface::getUserTypeStr
uiString getUserTypeStr() const
Definition: emmarchingcubessurface.h:79
EM::MarchingCubesSurface::setCrlSampling
void setCrlSampling(const SamplingData< int > &)
EM::MarchingCubesSurface::surface
const ::MarchingCubesSurface & surface() const
Definition: emmarchingcubessurface.h:51
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SamplingData< int >
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
EM::ImplicitBody
Implicit representation of a body.
Definition: embody.h:32
EM::MarchingCubesSurface::getBodyRange
bool getBodyRange(TrcKeyZSampling &cs)
mDefineEMObjFuncs
#define mDefineEMObjFuncs(clss)
Definition: emobject.h:374
TaskRunner
Class that can execute a task.
Definition: task.h:170
IOObj
Definition: ioobj.h:58
EM::MarchingCubesSurface::getIOObjContext
const IOObjContext & getIOObjContext() const
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
EM::MarchingCubesSurface::createBodyOperator
void createBodyOperator()
EM::MarchingCubesSurface::refBody
void refBody()
Should be mapped to EMObject::ref()
EM::MarchingCubesSurface::getBodyOperator
EM::BodyOperator * getBodyOperator() const
Definition: emmarchingcubessurface.h:69
EM::SectionID
od_int16 SectionID
Definition: emposid.h:24
EM::MarchingCubesSurface::storageID
MultiID storageID() const
EM::MarchingCubesSurface::loader
virtual Executor * loader()
EM::MarchingCubesSurface::regenerateMCBody
bool regenerateMCBody(TaskRunner *tr=0)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
EM::MarchingCubesSurface::zsampling_
SamplingData< float > zsampling_
Definition: emmarchingcubessurface.h:86
EM::MarchingCubesSurface::mcsurface_
::MarchingCubesSurface * mcsurface_
Definition: emmarchingcubessurface.h:87
EM::MarchingCubesSurface::sectionID
virtual SectionID sectionID(int) const
Definition: emmarchingcubessurface.h:37
EM::MarchingCubesSurface::fillBodyPar
void fillBodyPar(IOPar &) const
Should be mapped to EMObject::fillPar;.
EM::MarchingCubesSurface::surface
::MarchingCubesSurface & surface()
Definition: emmarchingcubessurface.h:50
EM::MarchingCubesSurface::type
const char * type() const
Definition: emmarchingcubessurface.h:35
EM::EMObject
Base class for all EarthModel objects.
Definition: emobject.h:159
embody.h
EM::MarchingCubesSurface::sectionGeometry
const Geometry::Element * sectionGeometry(const SectionID &) const
Definition: emmarchingcubessurface.h:41
sKey::Body
FixedString Body()
Definition: keystrs.h:42
EM::MarchingCubesSurface
Marching cubes surface.
Definition: emmarchingcubessurface.h:32
EM::MarchingCubesSurface::setZSampling
void setZSampling(const SamplingData< float > &)
EM::MarchingCubesSurface::zSampling
const SamplingData< float > & zSampling() const
Definition: emmarchingcubessurface.h:56
MarchingCubesSurface
Definition: marchingcubes.h:82
EM::MarchingCubesSurface::storageName
BufferString storageName() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55

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