OpendTect  6.3
emtracker.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: A.H. Bril
8  Date: 23-10-1996
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "mpeenginemod.h"
14 #include "factory.h"
15 #include "emposid.h"
16 #include "refcount.h"
17 #include "sets.h"
18 #include "trckeyzsampling.h"
19 #include "trckeyvalue.h"
20 #include "uistring.h"
21 
22 class Executor;
23 
24 namespace Geometry { class Element; }
25 namespace EM { class EMObject; }
26 namespace Attrib { class SelSpec; }
27 
28 namespace MPE
29 {
30 
31 class EMSeedPicker;
32 class SectionTracker;
33 
38 mExpClass(MPEEngine) EMTracker : public RefCount::Referenced
40 public:
42 
43  BufferString objectName() const;
44  EM::EMObject* emObject() { return emobject_; }
45  EM::ObjectID objectID() const;
46 
47  virtual bool is2D() const { return false; }
48 
49  void setTypeStr(const char* type)
50  { type_ = type; }
51  const char* getTypeStr() const { return type_; }
52 
53  virtual bool isEnabled() const { return isenabled_; }
54  virtual void enable(bool yn) { isenabled_=yn; }
55 
56  virtual bool snapPositions(const TypeSet<TrcKey>&);
57 
58  virtual TrcKeyZSampling getAttribCube(const Attrib::SelSpec&) const;
59  void getNeededAttribs(
61 
62  virtual SectionTracker* createSectionTracker(EM::SectionID) = 0;
63  SectionTracker* cloneSectionTracker();
64  SectionTracker* getSectionTracker(EM::SectionID,
65  bool create=false);
66  virtual EMSeedPicker* getSeedPicker(bool create=true)
67  { return 0; }
68  void applySetupAsDefault(const EM::SectionID);
69 
70  const char* errMsg() const;
71 
72  void fillPar(IOPar&) const;
73  bool usePar(const IOPar&);
74 
75 protected:
76  ~EMTracker();
77 
78  bool isenabled_;
81  const char* type_;
82 
83  void setEMObject(EM::EMObject*);
84 
85  static const char* setupidStr() { return "SetupID"; }
86  static const char* sectionidStr() { return "SectionID"; }
87 
88 private:
90 };
91 
92 
93 mDefineFactory1Param( MPEEngine, EMTracker, EM::EMObject*, TrackerFactory );
94 
95 
96 } // namespace MPE
virtual void enable(bool yn)
Definition: emtracker.h:54
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
od_int32 ObjectID
Definition: emposid.h:22
const char * type_
Definition: emtracker.h:81
virtual bool isEnabled() const
Definition: emtracker.h:53
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:30
const char * getTypeStr() const
Definition: emtracker.h:51
virtual EMSeedPicker * getSeedPicker(bool create=true)
Definition: emtracker.h:66
bool isenabled_
Definition: emtracker.h:78
Tracks EM objects.
Definition: emtracker.h:38
Handles adding of seeds and retracking of events based on new seeds. An instance of the class is usua...
Definition: emseedpicker.h:56
ObjectSet< SectionTracker > sectiontrackers_
Definition: emtracker.h:79
EM::EMObject * emObject()
Definition: emtracker.h:44
Tracks sections of EM::EMObject with ID EM::SectionID.
Definition: sectiontracker.h:36
Set of pointers to objects.
Definition: commontypes.h:28
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
EM::EMObject * emobject_
Definition: emtracker.h:89
BufferString errmsg_
Definition: emtracker.h:80
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
virtual bool is2D() const
Definition: emtracker.h:47
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
static const char * setupidStr()
Definition: emtracker.h:85
static const char * sectionidStr()
Definition: emtracker.h:86
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
static uiHor3DInterpol * create(uiParent *)
Base class for all EarthModel objects.
Definition: emobject.h:117
#define mDefineFactory1Param(mod, T, P, funcname)
Definition: factory.h:436
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
const char * errMsg() const
Definition: horizontracker.h:59
void setTypeStr(const char *type)
Definition: emtracker.h:49
Definition: arraytesselator.h:19
Semblance Attribute.
Definition: attribdataholder.h:21
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

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