OpendTect-6_4  6.4
vismpeeditor.h
Go to the documentation of this file.
1 #ifndef vismpeeditor_h
2 #define vismpeeditor_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 4-11-2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 
17 #include "vissurveymod.h"
18 #include "emposid.h"
19 #include "visobject.h"
20 #include "vissower.h"
21 #include "emseedpicker.h"
22 #include "draw.h"
23 
24 namespace MPE { class ObjectEditor; }
25 namespace visBase
26 {
27 
28 class DataObjectGroup;
29 class MarkerSet;
30 class Dragger;
31 class EventInfo;
32 class PolyLine;
33 };
34 
35 
36 namespace visSurvey
37 {
38 class Sower;
39 
45 {
46 public:
47  static MPEEditor* create()
49 
50  void setEditor( MPE::ObjectEditor* );
51  void setPatch(MPE::Patch* patch) { patch_ = patch; }
52  MPE::ObjectEditor* getMPEEditor() { return emeditor_; }
53  void setSceneEventCatcher( visBase::EventCatcher* );
54 
55  void setDisplayTransformation( const mVisTrans* );
57  { return transformation_;}
58 
59  void setMarkerSize(float);
60  void turnOnMarker(EM::PosID,bool on);
61  bool allMarkersDisplayed() const;
62 
66  int getRightClickNode() const;
67  EM::PosID getNodePosID(int idx) const;
68 
69  bool mouseClick( const EM::PosID&, bool shift,
70  bool alt, bool ctrl );
77  bool clickCB( CallBacker* );
85  EM::PosID mouseClickDragger(const TypeSet<int>&) const;
86 
87  bool isDragging() const { return isdragging_; }
88  EM::PosID getActiveDragger() const;
90 
91  Sower& sower() { return *sower_; }
92  void displayPatch(const MPE::Patch*);
93  void cleanPatch();
94  const ObjectSet<visBase::MarkerSet>& getDraggerMarkers() const;
95  void setMarkerStyle(const MarkerStyle3D&);
96 
97 protected:
98  ~MPEEditor();
99 
100  void changeNumNodes( CallBacker* );
101  void nodeMovement( CallBacker* );
102  void dragStart( CallBacker* );
103  void dragMotion( CallBacker* );
104  void dragStop( CallBacker* );
105  void updateNodePos( int, const Coord3& );
106  void removeDragger( int );
107  void addDragger( const EM::PosID& );
108  void setActiveDragger( const EM::PosID& );
109  void setupPatchDisplay();
110 
112 
115 
118 
122  float markersize_;
128 
131 
134 };
135 
136 } // namespace visSurvey
137 
138 #endif
const mVisTrans * getDisplayTransformation() const
Definition: vismpeeditor.h:56
#define mExpClass(module)
Definition: commondefs.h:160
Sower & sower()
Definition: vismpeeditor.h:91
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
TypeSet< EM::PosID > posids_
Definition: vismpeeditor.h:121
Notifier< MPEEditor > nodeRightClick
Definition: vismpeeditor.h:63
MarkerStyle3D markerstyle_
Definition: vismpeeditor.h:133
MPE::Patch * patch_
Definition: vismpeeditor.h:114
void setPatch(MPE::Patch *patch)
Definition: vismpeeditor.h:51
bool isDragging() const
Definition: vismpeeditor.h:87
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
Notifier< MPEEditor > draggingStarted
Definition: vismpeeditor.h:89
visBase::Material * activenodematerial_
Definition: vismpeeditor.h:117
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
Definition: vismpeeditor.h:44
Definition: callback.h:254
visBase::EventCatcher * eventcatcher_
Definition: vismpeeditor.h:125
int rightclicknode_
Definition: vismpeeditor.h:111
float markersize_
Definition: vismpeeditor.h:122
visBase::Material * nodematerial_
Definition: vismpeeditor.h:116
VisualObjectImpl
Definition: visobject.h:128
EM::PosID activedragger_
Definition: vismpeeditor.h:127
#define mVisTrans
Definition: visdata.h:31
Definition: emseedpicker.h:34
Definition: vispolyline.h:36
Abstraction of EM Object editing. It gives lists of which nodes that may be moved, and in what manner.
Definition: emeditor.h:47
Definition: vismaterial.h:37
Definition: draw.h:88
A cartesian coordinate in 3D space.
Definition: coord.h:72
MPE::ObjectEditor * emeditor_
Definition: vismpeeditor.h:113
Definition: visannot.h:43
const mVisTrans * transformation_
Definition: vismpeeditor.h:126
static uiHor3DInterpol * create(uiParent *)
Sower * sower_
Definition: vismpeeditor.h:132
MPE::ObjectEditor * getMPEEditor()
Definition: vismpeeditor.h:52
ObjectSet< visBase::MarkerSet > draggermarkers_
Definition: vismpeeditor.h:120
visBase::MarkerSet * patchmarkers_
Definition: vismpeeditor.h:123
ObjectSet< visBase::Dragger > draggers_
Definition: vismpeeditor.h:119
bool isdragging_
Definition: vismpeeditor.h:130
#define mCreateDataObj(clss)
Definition: visdata.h:209
visBase::PolyLine * patchline_
Definition: vismpeeditor.h:124
Definition: vissower.h:32
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable...
Definition: vismarkerset.h:36
Definition: visevent.h:87
bool draggerinmotion_
Definition: vismpeeditor.h:129

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