OpendTect  6.3
uimpeman.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: Nanne Hemstra
8  Date: March 2004
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uivismod.h"
14 #include "uiparent.h"
15 #include "trckeyzsampling.h"
16 #include "trckeyvalue.h"
17 #include "emposid.h"
18 
19 namespace EM { class EMObject; class Horizon; class Horizon2D; class Horizon3D;}
20 namespace MPE { class EMTracker; }
21 namespace visSurvey
22 {
23  class EMObjectDisplay;
24  class Horizon2DDisplay;
25  class HorizonDisplay;
26  class MPEClickCatcher;
27 }
28 
29 class uiVisPartServer;
30 class Timer;
31 
33 {
34 public:
36  ~HorizonTimer();
37 
38  void start(int msec);
39 
40 protected:
43  void timerHideLockedCB(CallBacker*);
44 
45 
46 };
47 
48 
51 mExpClass(uiVis) uiMPEMan : public CallBacker
53 public:
55  ~uiMPEMan();
56 
57  void deleteVisObjects();
58  void validateSeedConMode();
59  void initFromDisplay();
60 
61  void turnSeedPickingOn(bool);
62  bool isSeedPickingOn() const;
63 
64  void visObjectLockedCB(CallBacker*);
65 
66 protected:
67 
70 
73 
74  void mouseEventCB(CallBacker*);
75  void keyEventCB(CallBacker*);
76  void mpeActionCalledCB(CallBacker*);
77  void mpeActionFinishedCB(CallBacker*);
78  void planeChangedCB(CallBacker*);
79  int popupMenu();
80  void handleAction(int);
81 
82  void startTracking();
83  void startRetrack();
84  void stopTracking();
85  void changePolySelectionMode();
86  void showParentsPath();
87  void lockAll();
88  void clearSelection();
89  void deleteSelection();
90  void undo();
91  void redo();
92  void removeInPolygon();
93  void showSetupDlg();
94  void restrictCurrentHorizon();
95 
96  void trackFromSeedsOnly();
97  void trackFromSeedsAndEdges();
98  void treeItemSelCB(CallBacker*);
99  void workAreaChgCB(CallBacker*);
100  void survChgCB(CallBacker*);
101 
102  void updateSeedPickState();
103  void mouseCursorCallCB(CallBacker*);
104  void trackerAddedRemovedCB(CallBacker*);
105 
106  bool isPickingWhileSetupUp() const;
107 
108  MPE::EMTracker* getSelectedTracker();
109  EM::Horizon* getSelectedHorizon();
110  EM::Horizon2D* getSelectedHorizon2D();
111  EM::Horizon3D* getSelectedHorizon3D();
112 
113  visSurvey::EMObjectDisplay* getSelectedDisplay();
114  visSurvey::Horizon2DDisplay* getSelectedDisplay2D();
115  visSurvey::HorizonDisplay* getSelectedDisplay3D();
116 
118  void beginSeedClickEvent(EM::EMObject*);
119  void endSeedClickEvent(EM::EMObject*);
120  void setUndoLevel(const EM::ObjectID&,int);
121 
122  void seedClick(CallBacker*);
123  void updateClickCatcher(bool create=true);
124  void cleanPatchDisplay();
125  void sowingFinishedCB(CallBacker*);
126  void sowingModeCB(CallBacker*);
127  void updatePatchDisplay();
128 
132 
134 };
#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
int cureventnr_
Definition: uimpeman.h:117
void start(int msec, bool singleshot=false)
bool seedpickwason_
Definition: uimpeman.h:129
HorizonTimer * hortimer_
Definition: uimpeman.h:133
Definition: visemobjdisplay.h:68
Definition: uimpeman.h:32
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
The Visualization Part Server.
Definition: uivispartserv.h:60
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:30
bool sowingmode_
Definition: uimpeman.h:131
Tracks EM objects.
Definition: emtracker.h:38
Definition: uiparent.h:24
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:18
2D Horizon. The Horizon is only present along 2d lines, set by addLine. Each position's subid is form...
Definition: emhorizon2d.h:106
Definition: vismpeseedcatcher.h:120
Definition: vishorizondisplay.h:36
visSurvey::HorizonDisplay * hordispl_
Definition: uimpeman.h:42
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
Definition: vishorizon2ddisplay.h:29
FixedString Horizon()
Definition: keystrs.h:70
visSurvey::MPEClickCatcher * clickcatcher_
Definition: uimpeman.h:71
TrcKeyZSampling oldactivevol_
Definition: uimpeman.h:130
uiParent * parent_
Definition: uimpeman.h:68
int clickablesceneid_
Definition: uimpeman.h:72
static uiHor3DInterpol * create(uiParent *)
Base class for all EarthModel objects.
Definition: emobject.h:117
Timer * timer_
Definition: uimpeman.h:41
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Dialog for tracking properties.
Definition: uimpeman.h:51
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:94
#define mClass(module)
Definition: commondefs.h:161
Timer class.
Definition: timer.h:24
Horizon Surface.
Definition: emhorizon.h:46
uiVisPartServer * visserv_
Definition: uimpeman.h:69

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