OpendTect  6.6
empolygonbody.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: Yuancheng Liu
8  Date: July 2008
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 
16 #include "earthmodelmod.h"
17 #include "embody.h"
18 #include "emsurface.h"
19 #include "emsurfacegeometry.h"
20 #include "polygonsurface.h"
21 #include "tableascio.h"
22 
23 namespace Table { class FormatDesc; }
24 template <class T> class SortedList;
25 
26 namespace EM
27 {
28 class PolygonBody;
29 
36 public:
39 
40  int nrPolygons(const SectionID&) const;
41  int nrKnots(const SectionID&,int polygonnr) const;
42  bool insertPolygon(const SectionID&,int polygonnr,
43  int firstknot,const Coord3& pos,
44  const Coord3& editnormal,
45  bool addtohistory);
46  bool removePolygon(const SectionID&,int polygonnr,
47  bool addtohistory);
48  bool insertKnot(const SectionID&,const SubID&,
49  const Coord3& pos,bool addtohistory);
50  bool removeKnot(const SectionID&,const SubID&,
51  bool addtohistory);
52  const Coord3& getPolygonNormal(const SectionID&,int polygon) const;
53 
57  sectionGeometry(const SectionID&) const;
58 
60  const TrcKeyZSampling* =0) const;
61 
64  const MultiID* key=0);
65 
66  void fillPar(IOPar&) const;
67  bool usePar(const IOPar&);
68 
69 protected:
71 };
72 
73 
78 mExpClass(EarthModel) PolygonBody : public Surface, public Body
80 public:
82  const PolygonBodyGeometry& geometry() const;
83 
84  const char* type() const { return typeStr(); }
85  virtual Executor* loader();
86  virtual Executor* saver();
87  virtual Executor* saver(IOObj*);
88 
91 
92  MultiID storageID() const;
94 
95  void refBody();
96  void unRefBody();
97 
98  bool useBodyPar(const IOPar&);
99  void fillBodyPar(IOPar&) const;
100 
102  { return tr("Polygon Body"); }
103 
104 protected:
106 
107 
108  friend class EMManager;
109  friend class EMObject;
111 };
112 
113 } // namespace EM
114 
EM::PolygonBody::geometry_
PolygonBodyGeometry geometry_
Definition: empolygonbody.h:110
EM::PolygonBody::unRefBody
void unRefBody()
Should be mapped to EMObject::unRef()
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
sKey::Surface
FixedString Surface()
Definition: keystrs.h:154
EM::PolygonBodyGeometry::createSectionGeometry
Geometry::PolygonSurface * createSectionGeometry() const
EM::PolygonBody::refBody
void refBody()
Should be mapped to EMObject::ref()
EM::PolygonBodyGeometry::insertKnot
bool insertKnot(const SectionID &, const SubID &, const Coord3 &pos, bool addtohistory)
EM::SubID
od_int64 SubID
Definition: emposid.h:25
tableascio.h
EM::PolygonBody::storageID
MultiID storageID() const
EM::PolygonBodyGeometry::createIterator
EMObjectIterator * createIterator(const SectionID &, const TrcKeyZSampling *=0) const
EM::PolygonBodyGeometry::sectionGeometry
Geometry::PolygonSurface * sectionGeometry(const SectionID &)
EM::PolygonBody::useBodyPar
bool useBodyPar(const IOPar &)
Should be mapped to EMObject::usePar;.
EM::PolygonBodyGeometry::nrKnots
int nrKnots(const SectionID &, int polygonnr) const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::PolygonBody::getUserTypeStr
uiString getUserTypeStr() const
Definition: empolygonbody.h:101
Geometry::PolygonSurface
Definition: polygonsurface.h:26
EM::PolygonBodyGeometry::loader
Executor * loader(const SurfaceIODataSelection *s=0)
Table
Definition: geom2dascio.h:20
EM::PolygonBody::saver
virtual Executor * saver(IOObj *)
EM::PolygonBody::createImplicitBody
ImplicitBody * createImplicitBody(TaskRunner *, bool) const
emsurface.h
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::PolygonBodyGeometry::getPolygonNormal
const Coord3 & getPolygonNormal(const SectionID &, int polygon) const
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
EM::Body
A body that can deliver an implicit body.
Definition: embody.h:50
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
EM::PolygonBody::getIOObjContext
const IOObjContext & getIOObjContext() const
EM::PolygonBodyGeometry::nrPolygons
int nrPolygons(const SectionID &) const
EM::PolygonBody::fillBodyPar
void fillBodyPar(IOPar &) const
Should be mapped to EMObject::fillPar;.
EM::SurfaceIODataSelection
Surface I/O data selection.
Definition: emsurfaceiodata.h:62
EM::PolygonBodyGeometry
PolygonBody SurfaceGeometry.
Definition: empolygonbody.h:35
EM::PolygonBody::storageName
BufferString storageName() const
polygonsurface.h
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
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
mDefineEMObjFuncs
#define mDefineEMObjFuncs(clss)
Definition: emobject.h:374
TaskRunner
Class that can execute a task.
Definition: task.h:170
EM::PolygonBodyGeometry::removeKnot
bool removeKnot(const SectionID &, const SubID &, bool addtohistory)
IOObj
Definition: ioobj.h:58
SortedList
A SortedList is a list where all objects are stored in ascending order. The objects should be capable...
Definition: sortedlist.h:29
EM::PolygonBody
A Surface polygon Body.
Definition: empolygonbody.h:79
EM::EMObjectIterator
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:122
EM::PolygonBodyGeometry::insertPolygon
bool insertPolygon(const SectionID &, int polygonnr, int firstknot, const Coord3 &pos, const Coord3 &editnormal, bool addtohistory)
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::SectionID
od_int16 SectionID
Definition: emposid.h:24
EM::PolygonBodyGeometry::~PolygonBodyGeometry
mODTextTranslationClass(PolygonBodyGeometry) public ~PolygonBodyGeometry()
emsurfacegeometry.h
EM::PolygonBody::getBodyRange
bool getBodyRange(TrcKeyZSampling &)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
EM::SurfaceGeometry
Surface geometry.
Definition: emsurfacegeometry.h:41
EM::EMManager
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
EM::PolygonBodyGeometry::usePar
bool usePar(const IOPar &)
EM::PolygonBody::geometry
const PolygonBodyGeometry & geometry() const
EM::PolygonBodyGeometry::sectionGeometry
const Geometry::PolygonSurface * sectionGeometry(const SectionID &) const
EM::PolygonBodyGeometry::fillPar
void fillPar(IOPar &) const
EM::EMObject
Base class for all EarthModel objects.
Definition: emobject.h:159
EM::PolygonBody::geometry
PolygonBodyGeometry & geometry()
EM::PolygonBody::loader
virtual Executor * loader()
EM::PolygonBody::type
const char * type() const
Definition: empolygonbody.h:84
embody.h
EM::PolygonBodyGeometry::removePolygon
bool removePolygon(const SectionID &, int polygonnr, bool addtohistory)
EM::PolygonBodyGeometry::saver
Executor * saver(const SurfaceIODataSelection *s=0, const MultiID *key=0)
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
EM::PolygonBody::saver
virtual Executor * saver()

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