OpendTect  6.3
emstickset.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 "emposid.h"
16 #include "emobject.h"
17 #include "sets.h"
18 #include "coord.h"
19 
20 
21 namespace EM
22 {
23 
25 typedef SubID KnotID;
26 
27 class EMManager;
28 
33 mExpClass(EarthModel) StickSet : public EMObject
34 {
35 public:
36  static const char* typeStr();
37  static EMObject* create( EMManager& );
38  static void initClass(EMManager&);
39 
40  const char* getTypeStr() const { return typeStr(); }
41 
42  int nrSections() const { return nrSticks(); }
43  EM::SectionID sectionID(int idx) const { return stickID(idx); }
44 
45  int nrSticks() const;
46  StickID stickID(int idx) const;
47  StickID addStick( bool addtohistory );
48  void removeStick(const StickID&);
49 
50  int nrKnots(const StickID&) const;
51  KnotID firstKnot(const StickID&) const;
52 
53  bool setPos( const StickID&, const KnotID&,
54  const Coord3&, bool addtohistory );
55  bool setPos(const EM::PosID&, const Coord3&, bool addtohist);
56 
57  Coord3 getPos(const EM::PosID&) const;
58  Coord3 getPos(const StickID&, const KnotID&) const;
59 
60  bool isLoaded() const;
61  Executor* saver();
62  Executor* loader();
63 
64 protected:
65  int getStickIndex(const StickID&) const;
66 
67  friend class EMManager;
68  friend class EMObject;
69 
71  ~StickSet();
72  void cleanUp();
73  virtual const IOObjContext& getIOObjContext() const;
74 
78  bool isloaded;
79 };
80 
81 } // namespace EM
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
const char * getTypeStr() const
Definition: emstickset.h:40
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
bool isloaded
Definition: emstickset.h:78
ObjectSet< TypeSet< BinIDValue > > sticks
Definition: emstickset.h:75
EM::SectionID sectionID(int idx) const
Definition: emstickset.h:43
od_int64 SubID
Definition: emposid.h:24
Set of pointers to objects.
Definition: commontypes.h:28
3D point or vector
Definition: commontypes.h:57
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:42
SectionID StickID
Definition: emstickset.h:24
TypeSet< KnotID > firstknots
Definition: emstickset.h:77
TypeSet< StickID > stickids
Definition: emstickset.h:76
static uiHor3DInterpol * create(uiParent *)
Base class for all EarthModel objects.
Definition: emobject.h:117
Stick set.
Definition: emstickset.h:33
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
int nrSections() const
Definition: emstickset.h:42
IOObjContext * getIOObjContext(Seis::GeomType, bool forread)
static void initClass()
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59
SubID KnotID
Definition: emstickset.h:25

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