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

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