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

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