OpendTect-6_4  6.4
visfaultsticksetdisplay.h
Go to the documentation of this file.
1 #ifndef visfaultsticksetdisplay_h
2 #define visfaultsticksetdisplay_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: J.C. Glas
9  Date: November 2008
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "vissurveymod.h"
17 #include "vissurvobj.h"
18 #include "visobject.h"
19 #include "visemsticksetdisplay.h"
20 
21 #include "emposid.h"
22 
23 
24 namespace visBase
25 {
26  class DrawStyle;
27  class Lines;
28  class MarkerSet;
29  class Transformation;
30 }
31 
32 namespace EM { class FaultStickSet; class FaultStickSetGeometry; }
33 namespace Geometry { class FaultStickSet; class IndexedPrimitiveSet; }
34 namespace MPE { class FaultStickSetEditor; }
35 
36 namespace visSurvey
37 {
38 
39 class MPEEditor;
40 class Seis2DDisplay;
41 
46  , public SurveyObject
47  , public StickSetDisplay
49 public:
51 
55  "FaultStickSetDisplay",
56  toUiString(sFactoryKeyword()))
57 
58 
59  MultiID getMultiID() const;
60  bool isInlCrl() const { return false; }
61 
62  bool hasColor() const { return true; }
63  Color getColor() const;
64  void setColor(Color);
65  bool allowMaterialEdit() const { return true; }
66  NotifierAccess* materialChange();
67  const OD::LineStyle* lineStyle() const;
68  void setLineStyle(const OD::LineStyle&);
69 
70  void hideAllKnots(bool yn);
71  bool areAllKnotsHidden() const;
72 
73  void showManipulator(bool);
74  bool isManipulatorShown() const;
75  virtual void enableEditor(bool yn);
76 
77  void setDisplayTransformation(const mVisTrans*);
78  const mVisTrans* getDisplayTransformation() const;
79 
80  void setSceneEventCatcher(visBase::EventCatcher*);
81 
82  bool setEMObjectID(const EM::ObjectID&);
83  EM::ObjectID getEMObjectID() const;
84 
85  void setScene(Scene*);
86 
87  const char* errMsg() const { return errmsg_.str(); }
88 
89  void updateSticks(bool activeonly=false);
90  void updateEditPids();
91  void updateKnotMarkers();
92  void updateAll();
93  const visBase::Lines* getStickSetLines() const { return sticks_; }
94 
97 
98  bool removeSelections(TaskRunner*);
99  bool canRemoveSelection() const { return true; }
100 
101  void setOnlyAtSectionsDisplay(bool yn);
102  bool displayedOnlyAtSections() const;
103 
104  void setStickSelectMode(bool yn);
105  void turnOnSelectionMode(bool);
106  bool isInStickSelectMode() const;
107 
108  bool allowsPicks() const { return true; }
109 
111  IOPar& iop ) const
112  { return SurveyObject::getMousePosInfo(ei,iop);}
113  void getMousePosInfo(const visBase::EventInfo&,
114  Coord3& xyzpos,BufferString& val,
115  BufferString& info) const;
116 
117  virtual void setPixelDensity(float dpi);
118  virtual void fillPar(IOPar&) const;
119  virtual bool usePar(const IOPar&);
120 
121  const MarkerStyle3D* getPreferedMarkerStyle() const;
122  void setPreferedMarkerStyle(const MarkerStyle3D&);
123 
124 protected:
125  virtual ~FaultStickSetDisplay();
126 
127  void otherObjectsMoved(
129  int whichobj);
130 
131  void setActiveStick(const EM::PosID&);
132 
133  static const char* sKeyEarthModelID();
134  static const char* sKeyDisplayOnlyAtSections();
135 
136 
137  bool isPicking() const;
138  void mouseCB(CallBacker*);
139  void draggingStartedCB(CallBacker*);
140  void stickSelectCB(CallBacker*);
141  void emChangeCB(CallBacker*);
142  void polygonFinishedCB(CallBacker*);
143  bool isSelectableMarkerInPolySel(
144  const Coord3& markerworldpos) const;
145 
146  Coord3 disp2world(const Coord3& displaypos) const;
147 
148  void displayOnlyAtSectionsUpdate();
149  bool coincidesWith2DLine(
151  int sticknr,Pos::GeomID);
152  bool coincidesWithPlane(
154  int sticknr,
155  TypeSet<Coord3>& intersectpoints);
156  EM::FaultStickSet* emFaultStickSet();
157  void sowingFinishedCB(CallBacker*);
158  void updateManipulator();
159 
160 
163 
165 
167 
169 
174 
178 
179 public:
181  { setOnlyAtSectionsDisplay(yn); }
182 };
183 
184 } // namespace VisSurvey
185 
186 #endif
visBase::DrawStyle * stickdrawstyle_
Definition: visfaultsticksetdisplay.h:172
#define mExpClass(module)
Definition: commondefs.h:160
od_int32 ObjectID
Definition: emposid.h:24
bool hasColor() const
Definition: visfaultsticksetdisplay.h:62
Definition: vislines.h:23
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
const char * errMsg() const
Definition: visfaultsticksetdisplay.h:87
bool isInlCrl() const
Definition: visfaultsticksetdisplay.h:60
visBase::Lines * sticks_
Definition: visfaultsticksetdisplay.h:170
const char * str() const
Definition: odstring.h:48
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
visBase::DrawStyle * activestickdrawstyle_
Definition: visfaultsticksetdisplay.h:173
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
Coord3 mousepos_
Definition: visfaultsticksetdisplay.h:164
visSurvey::MPEEditor * viseditor_
Definition: visfaultsticksetdisplay.h:162
Interface class for Notifier. See comments there.
Definition: callback.h:161
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
Definition: draw.h:118
Notifier< FaultStickSetDisplay > displaymodechange
Definition: visfaultsticksetdisplay.h:96
Definition: visdrawstyle.h:33
visBase::Lines * activestick_
Definition: visfaultsticksetdisplay.h:171
ObjectEditor to edit EM::FaultStickSet.
Definition: faultstickseteditor.h:28
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
MPE::FaultStickSetEditor * fsseditor_
Definition: visfaultsticksetdisplay.h:161
Notifier< FaultStickSetDisplay > colorchange
Definition: visfaultsticksetdisplay.h:95
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
bool makenewstick_
Definition: visfaultsticksetdisplay.h:176
Definition: vismpeeditor.h:44
Definition: callback.h:254
Set of pointers to objects.
Definition: commontypes.h:32
bool displayonlyatsections_
Definition: visfaultsticksetdisplay.h:175
TypeSet< EM::PosID > editpids_
Definition: visfaultsticksetdisplay.h:168
const visBase::Lines * getStickSetLines() const
Definition: visfaultsticksetdisplay.h:93
VisualObjectImpl
Definition: visobject.h:128
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Class that can execute a task.
Definition: task.h:169
#define mVisTrans
Definition: visdata.h:31
Fault stick set.
Definition: emfaultstickset.h:100
Database for 3D objects.
Definition: vissurvscene.h:76
bool allowsPicks() const
Definition: visfaultsticksetdisplay.h:108
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
Definition: draw.h:88
A cartesian coordinate in 3D space.
Definition: coord.h:72
Index_Type GeomID
Definition: commontypes.h:52
Definition: visemsticksetdisplay.h:41
Definition: visannot.h:43
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
EM::PosID activestickid_
Definition: visfaultsticksetdisplay.h:177
BufferString errmsg_
Definition: horizontracker.h:119
int activesticknr_
Definition: visfaultsticksetdisplay.h:166
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
Base class for all &#39;Display&#39; objects.
Definition: vissurvobj.h:58
Definition: visevent.h:44
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
bool allowMaterialEdit() const
Definition: visfaultsticksetdisplay.h:65
void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
Definition: visfaultsticksetdisplay.h:110
Display class for FaultStickSets.
Definition: visfaultsticksetdisplay.h:45
Definition: faultstickset.h:27
bool canRemoveSelection() const
Definition: visfaultsticksetdisplay.h:99
Definition: arraytesselator.h:21
void setDisplayOnlyAtSections(bool yn)
Definition: visfaultsticksetdisplay.h:180
Definition: visevent.h:87
Compound key consisting of ints.
Definition: multiid.h:25

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