OpendTect  6.3
uimpepartserv.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: K. Tingdahl
8  Date: December 2004
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uimpemod.h"
14 #include "attribsel.h"
15 #include "uiapplserv.h"
16 #include "dbkey.h"
17 #include "trckeyzsampling.h"
18 #include "datapack.h"
19 #include "emposid.h"
20 #include "emtracker.h"
21 
22 class BufferStringSet;
23 
24 namespace Geometry { class Element; }
25 namespace MPE { class uiSetupGroup; class DataHolder; }
26 namespace Attrib { class DescSet; class DataCubes; class Data2DArray; }
27 
28 
33 public:
35  ~uiMPEPartServer();
36  void setCurrentAttribDescSet(const Attrib::DescSet*);
37  const Attrib::DescSet* getCurAttrDescSet(bool is2d) const;
38 
39  const char* name() const { return "MPE";}
40 
41  int getTrackerID(const EM::ObjectID&) const;
42  int getTrackerID(const char* name) const;
43  void getTrackerTypes(BufferStringSet&) const;
44  bool addTracker(const char* trackertype,int sceneid);
45  int addTracker(const EM::ObjectID&);
49  EM::ObjectID getEMObjectID(int trackerid) const;
50  int getCurSceneID() const { return cursceneid_; }
51 
52  bool canAddSeed(int trackerid) const;
53 
54  void enableTracking(int trackerid,bool yn);
55  bool isTrackingEnabled(int trackerid) const;
56 
57  bool showSetupDlg(const EM::ObjectID&,
58  const EM::SectionID&);
60  bool showSetupGroupOnTop(const EM::ObjectID&,
61  const char* grpnm);
62  void useSavedSetupDlg(const EM::ObjectID&,
63  const EM::SectionID&);
64  MPE::uiSetupGroup* getSetupGroup() { return setupgrp_; }
65  void fillTrackerSettings(int trackerid);
66 
67  int activeTrackerID() const;
70  static int evGetAttribData();
71  bool is2D() const;
76  TrcKeyZSampling getAttribVolume(const Attrib::SelSpec&) const;
80  const Attrib::SelSpec* getAttribSelSpec() const;
81  void setAttribData(const Attrib::SelSpec&,
82  DataPack::ID);
83 
84  static int evCreate2DSelSpec();
85  Pos::GeomID getGeomID() const;
86  const char* get2DLineName() const;
87  const char* get2DAttribName() const;
88  void set2DSelSpec(const Attrib::SelSpec&);
89 
90  static int evStartSeedPick();
91  static int evEndSeedPick();
92 
93  static int evAddTreeObject();
95  static int evRemoveTreeObject();
97  static int evUpdateTrees();
98  static int evUpdateSeedConMode();
99  static int evStoreEMObject();
100  static int evSetupLaunched();
101  static int evSetupClosed();
102  static int evInitFromSession();
103  static int evHorizonTracking();
104 
105  bool prepareSaveSetupAs(const DBKey&);
106  bool saveSetupAs(const DBKey&);
107  bool saveSetup(const DBKey&);
108  bool readSetup(const DBKey&);
109 
110  bool sendMPEEvent(int);
111 
112  void fillPar(IOPar&) const;
113  bool usePar(const IOPar&);
114 
115 protected:
116  void activeVolumeChange(CallBacker*);
117  void loadEMObjectCB(CallBacker*);
118  void mergeAttribSets(const Attrib::DescSet& newads,
119  MPE::EMTracker&);
120  bool initSetupDlg(EM::EMObject*& emobj,
121  MPE::EMTracker*& tracker,
122  const EM::SectionID& sid,
123  bool freshdlg=false);
124 
127 
128  //Interaction variables
133 
134  //2D interaction
137 
138  void trackerAddRemoveCB(CallBacker*);
139  void trackerToBeRemovedCB(CallBacker*);
140  void aboutToAddRemoveSeed(CallBacker*);
141  void seedAddedCB(CallBacker*);
143  void trackerWinClosedCB(CallBacker*);
144 
146 
147  void modeChangedCB(CallBacker*);
148  void eventChangedCB(CallBacker*);
149  void propertyChangedCB(CallBacker*);
150  void correlationChangedCB(CallBacker*);
151 
152  void nrHorChangeCB(CallBacker*);
153 
154  void cleanSetupDependents();
155 
157 };
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
od_int32 ObjectID
Definition: emposid.h:22
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool is2D(GeomType gt)
Definition: seistype.h:32
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
Set of attribute descriptions.
Definition: attribdescset.h:29
int initialundoid_
Definition: uimpepartserv.h:145
const Attrib::DescSet * attrset2d_
Definition: uimpepartserv.h:126
Tracks EM objects.
Definition: emtracker.h:38
Set of BufferString objects.
Definition: bufstringset.h:25
Attrib::SelSpec lineselspec_
Definition: uimpepartserv.h:136
int activetrackerid_
Definition: uimpepartserv.h:130
uiMPEEngine & uiMPE()
Access function for an instance (and normally the only instance) of MPE::uiMPEEngine.
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
MPE::uiSetupGroup * setupgrp_
Definition: uimpepartserv.h:156
int getCurSceneID() const
Definition: uimpepartserv.h:50
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
int cursceneid_
Definition: uimpepartserv.h:132
MPE::uiSetupGroup * getSetupGroup()
Definition: uimpepartserv.h:64
Implementation of Tracking part server interface.
Definition: uimpepartserv.h:31
const Attrib::SelSpec * eventattrselspec_
Definition: uimpepartserv.h:129
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Index_Type GeomID
Definition: commontypes.h:48
const char * name() const
Definition: uimpepartserv.h:39
Definition: uimpe.h:54
Services from application level to &#39;Part servers&#39;.
Definition: uiapplserv.h:22
Base class for all EarthModel objects.
Definition: emobject.h:117
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: groupedid.h:41
Makes available certain services that are needed on a higher level.
Definition: uiapplserv.h:46
Pos::GeomID geomid_
Definition: uimpepartserv.h:135
Definition: arraytesselator.h:19
int temptrackerid_
Definition: uimpepartserv.h:131
Semblance Attribute.
Definition: attribdataholder.h:21
EM::ObjectID trackercurrentobject_
Definition: uimpepartserv.h:142
const Attrib::DescSet * attrset3d_
Definition: uimpepartserv.h:125

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