OpendTect-6_4  6.4
vismpeseedcatcher.h
Go to the documentation of this file.
1 #ifndef vismpeseedcatcher_h
2 #define vismpeseedcatcher_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 #include "vissurveymod.h"
17 #include "visobject.h"
18 
19 #include "attribsel.h"
20 #include "attribdataholder.h"
21 #include "trckeyzsampling.h"
22 #include "datapack.h"
23 #include "emposid.h"
24 #include "geomelement.h"
25 #include "trckey.h"
26 
27 namespace Geometry { class ElementEditor; }
28 namespace MPE { class ObjectEditor; }
29 namespace Attrib { class SelSpec; }
30 namespace visBase { class Dragger; }
31 
33 
34 namespace visSurvey
35 {
36 
37 class EMObjectDisplay;
38 class MPEEditor;
39 class Seis2DDisplay;
40 
41 
43 {
44  friend class MPEClickCatcher;
45 public:
46  MPEClickInfo();
47  ~MPEClickInfo();
48 
49  bool isLegalClick() const;
50 
51  bool isCtrlClicked() const;
52  bool isShiftClicked() const;
53  bool isAltClicked() const;
54  bool isDoubleClicked() const;
55 
56  const TrcKey& getNode() const;
57  const TrcKey& getPickedNode() const;
58  void setPickedNode(const TrcKey&);
59 
60  const Coord3& getPos() const;
61  int getObjID() const;
62  EM::ObjectID getEMObjID() const; // avail when clicked on hor
63  int getEMVisID() const; // avail when clicked on hor
64  const TrcKeyZSampling& getObjCS() const;
65  DataPack::ID getObjDataPackID() const;
66  const RegularSeisDataPack* getObjData() const;
67  const Attrib::SelSpec* getObjDataSelSpec() const;
68 
69  Pos::GeomID getGeomID() const;
70  const char* getObjLineName() const;
71  const Attrib::Data2DHolder* getObjLineData() const;
72 
73 protected:
74  void clear();
75 
76  void setLegalClick(bool);
77 
78  void setCtrlClicked(bool);
79  void setShiftClicked(bool);
80  void setAltClicked(bool);
81  void setDoubleClicked(bool);
82  void setNode(const TrcKey&);
83  void setPos(const Coord3&);
84  void setEMObjID(EM::ObjectID);
85  void setEMVisID(int);
86  void setObjID(int);
87  void setObjCS(const TrcKeyZSampling&);
88  void setObjDataPackID(DataPack::ID);
89  void setObjData(const RegularSeisDataPack*);
90  void setObjDataSelSpec(const Attrib::SelSpec&);
91 
92  void setGeomID(Pos::GeomID);
93  void setObjLineName(const char*);
94  void setObjLineData(const Attrib::Data2DHolder*);
95 
101 
105 
112  int rdlid_;
113 
118 
119  void setObjTKPath(const TrcKeyPath*);
120  void setObjRandomLineID(int);
121 
122 public:
123  const TrcKeyPath* getObjTKPath() const;
124  int getObjRandomLineID() const;
125 };
126 
127 
129 {
130 public:
131  static MPEClickCatcher* create()
133 
134  void setSceneEventCatcher(visBase::EventCatcher*);
135  void setDisplayTransformation(const mVisTrans*);
136 
137  const mVisTrans* getDisplayTransformation() const;
138 
142 
143  const MPEClickInfo& info() const;
144  MPEClickInfo& info();
145  const visBase::EventInfo* visInfo() const { return cureventinfo_; }
146 
147  void setTrackerType(const char*);
148  static bool isClickable(const char* trackertype,int visid);
149 
150  void setEditor(MPEEditor*);
151  const MPEEditor* getEditor() const { return editor_; }
152  bool activateSower(const Color&,
153  const TrcKeySampling* =0);
154  bool sequentSowing() const;
155  bool moreToSow() const;
156  void stopSowing();
157 
158 protected:
159  ~MPEClickCatcher();
160  void clickCB(CallBacker*);
161 
162  void sendUnderlying2DSeis(
163  const EMObjectDisplay*,
164  const visBase::EventInfo&);
165  void sendUnderlyingPlanes(
166  const EMObjectDisplay*,
167  const visBase::EventInfo&);
168  void handleObjectOnSeis2DDisplay(Seis2DDisplay*,
169  const Coord3);
170 
171  void allowPickBasedReselection();
172  void sowingEnd(CallBacker*);
173  void sowingCB(CallBacker*);
174 
179 
181  const char* trackertype_;
182 };
183 
184 } // namespace visSurvey
185 
186 #endif
#define mExpClass(module)
Definition: commondefs.h:160
od_int32 ObjectID
Definition: emposid.h:24
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
Notifier< MPEClickCatcher > click
Definition: vismpeseedcatcher.h:139
TrcKey pickednode_
Definition: vismpeseedcatcher.h:102
Definition: visemobjdisplay.h:69
MPEClickInfo info_
Definition: vismpeseedcatcher.h:180
TrcKeyZSampling clickedcs_
Definition: vismpeseedcatcher.h:108
Notifier< MPEClickCatcher > endSowing
Definition: vismpeseedcatcher.h:140
EM::ObjectID clickedemobjid_
Definition: vismpeseedcatcher.h:106
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
DataPack::ID datapackid_
Definition: vismpeseedcatcher.h:117
TrcKey clickednode_
Definition: vismpeseedcatcher.h:103
void clear(std::ios &)
Class that holds 2d seismic data or attribute data.
Definition: attribdataholder.h:82
Definition: vismpeseedcatcher.h:42
const visBase::EventInfo * visInfo() const
Definition: vismpeseedcatcher.h:145
SeisDataPack for 2D and 3D seismic data.
Definition: seisdatapack.h:28
visBase::EventCatcher * eventcatcher_
Definition: vismpeseedcatcher.h:175
int clickedobjid_
Definition: vismpeseedcatcher.h:107
bool ctrlclicked_
Definition: vismpeseedcatcher.h:97
int ID
Definition: datapack.h:38
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
Definition: vismpeeditor.h:44
const TrcKeyPath * rdltkpath_
Definition: vismpeseedcatcher.h:111
const char * trackertype_
Definition: vismpeseedcatcher.h:181
bool altclicked_
Definition: vismpeseedcatcher.h:99
Definition: callback.h:254
Used for displaying a 2D line.
Definition: visseis2ddisplay.h:40
const RegularSeisDataPack * attrdata_
Definition: vismpeseedcatcher.h:109
Definition: vismpeseedcatcher.h:128
VisualObjectImpl
Definition: visobject.h:128
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
Attrib::SelSpec attrsel_
Definition: vismpeseedcatcher.h:110
#define mVisTrans
Definition: visdata.h:31
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Pos::GeomID geomid_
Definition: vismpeseedcatcher.h:115
const mVisTrans * transformation_
Definition: vismpeseedcatcher.h:176
int rdlid_
Definition: vismpeseedcatcher.h:112
Notifier< MPEClickCatcher > sowing
Definition: vismpeseedcatcher.h:141
const MPEEditor * getEditor() const
Definition: vismpeseedcatcher.h:151
A cartesian coordinate in 3D space.
Definition: coord.h:72
Index_Type GeomID
Definition: commontypes.h:52
Definition: visannot.h:43
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
static uiHor3DInterpol * create(uiParent *)
bool doubleclicked_
Definition: vismpeseedcatcher.h:100
Definition: visevent.h:44
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
#define mCreateDataObj(clss)
Definition: visdata.h:209
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
const visBase::EventInfo * cureventinfo_
Definition: vismpeseedcatcher.h:178
bool legalclick_
Definition: vismpeseedcatcher.h:96
MPEEditor * editor_
Definition: vismpeseedcatcher.h:177
Coord3 clickedpos_
Definition: vismpeseedcatcher.h:104
BufferString linename_
Definition: vismpeseedcatcher.h:116
Definition: arraytesselator.h:21
ConstRefMan< Attrib::Data2DHolder > linedata_
Definition: vismpeseedcatcher.h:114
Definition: visevent.h:87
Semblance Attribute.
Definition: attribdataholder.h:25
bool shiftclicked_
Definition: vismpeseedcatcher.h:98

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