OpendTect-6_4  6.4
horflatvieweditor2d.h
Go to the documentation of this file.
1 #ifndef horflatvieweditor2d_h
2 #define horflatvieweditor2d_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  CopyRight: (C) dGB Beheer B.V.
8  Author: Umesh Sinha
9  Date: May 2010
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uimpemod.h"
16 #include "uimpemod.h"
17 #include "trckeyzsampling.h"
18 #include "emposid.h"
19 #include "flatview.h"
20 #include "geom2dintersections.h"
21 
22 class FlatDataPack;
23 class MouseEvent;
24 class MouseEventHandler;
25 
26 namespace Attrib { class SelSpec; }
27 namespace EM { class HorizonPainter2D; }
28 namespace FlatView { class AuxDataEditor; }
29 
30 namespace MPE
31 {
32 
33 class EMTracker;
34 class EMSeedPicker;
35 
38 public:
40  const EM::ObjectID&);
42 
43  void setTrcKeyZSampling(const TrcKeyZSampling&);
44  void setSelSpec(const Attrib::SelSpec*,bool wva);
45 
46  FlatView::AuxDataEditor* getEditor() { return editor_; }
47  EM::HorizonPainter2D* getPainter() const { return horpainter_; }
48 
49  void setGeomID(Pos::GeomID);
50  TypeSet<int>& getPaintingCanvTrcNos();
51  TypeSet<float>& getPaintingCanDistances();
52  void enableLine(bool);
53  void enableSeed(bool);
54  void enableIntersectionMarker(bool);
55  bool seedEnable() const;
56  void paint();
57 
58  void setMouseEventHandler(MouseEventHandler*);
59  void setSeedPicking(bool);
60  void setTrackerSetupActive( bool yn )
61  { trackersetupactive_ = yn; }
62  static bool selectSeedData(const FlatView::AuxDataEditor* editor,
63  bool& pickinvd);
65  ln2dintersectionset)
66  { line2dintersectionset_ = ln2dintersectionset; }
68  { return line2dintersectionset_; }
69 
71 
72 protected:
73 
74  void horRepaintATSCB(CallBacker*);
75  void horRepaintedCB(CallBacker*);
76 
77  void mouseMoveCB(CallBacker*);
78  void mousePressCB(CallBacker*);
79  void mouseReleaseCB(CallBacker*);
80  void movementEndCB(CallBacker*);
81  void removePosCB(CallBacker*);
82  void doubleClickedCB(CallBacker*);
83 
84  void handleMouseClicked(bool dbl);
85  bool checkSanity(EMTracker&,const EMSeedPicker&,
86  bool& pickinvd) const;
87  bool prepareTracking(bool pickinvd,const EMTracker&,
88  EMSeedPicker&,const FlatDataPack&) const;
89  bool getPosID(const Coord3&, EM::PosID&) const;
90  bool doTheSeed(EMSeedPicker&,const Coord3&,
91  const MouseEvent&);
92  TrcKey getTrcKey(const Coord&) const;
93  void setupPatchDisplay();
94  void updatePatchDisplay();
95  void sowingModeCB(CallBacker*);
96  void sowingFinishedCB(CallBacker*);
97  void keyPressedCB(CallBacker*);
98  void polygonFinishedCB(CallBacker*);
99  void releasePolygonSelectionCB(CallBacker*);
100  void preferColorChangedCB(CallBacker*);
101  void undo();
102  void redo();
103  EMSeedPicker* getEMSeedPicker() const;
104 
105 
106  mStruct(uiMPE) Hor2DMarkerIdInfo
107  {
108  FlatView::AuxData* marker_;
109  int markerid_;
110  EM::SectionID sectionid_;
111  };
112 
113  void cleanAuxInfoContainer();
114  void fillAuxInfoContainer();
115  FlatView::AuxData* getAuxData(int markerid);
116  EM::SectionID getSectionID(int markerid);
117 
120 
127 
129 
133  mutable bool dodropnext_;
138 
139 };
140 
141 } // namepace MPE
142 
143 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
od_int32 ObjectID
Definition: emposid.h:24
FlatView::AuxDataEditor * editor_
Definition: horflatvieweditor2d.h:121
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers, lines and more.
Definition: flatview.h:34
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
FlatView::AuxDataEditor * getEditor()
Definition: horflatvieweditor2d.h:46
#define mStruct(module)
Definition: commondefs.h:165
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
const Line2DInterSectionSet * line2dintersectionset_
Definition: horflatvieweditor2d.h:137
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
Tracks EM objects.
Definition: emtracker.h:40
Handles adding of seeds and retracking of events based on new seeds. An instance of the class is usua...
Definition: emseedpicker.h:63
void setTrackerSetupActive(bool yn)
Definition: horflatvieweditor2d.h:60
A cartesian coordinate in 2D space.
Definition: coord.h:25
const Line2DInterSectionSet * getLine2DInterSectionSet()
Definition: horflatvieweditor2d.h:67
EM::HorizonPainter2D * horpainter_
Definition: horflatvieweditor2d.h:119
EM::ObjectID emid_
Definition: horflatvieweditor2d.h:118
TrcKeyZSampling curcs_
Definition: horflatvieweditor2d.h:124
Definition: callback.h:254
2D horizon painter
Definition: emhorizonpainter2d.h:29
TypeSet< EM::PosID > pointselections_
Definition: horflatvieweditor2d.h:135
void setLine2DInterSectionSet(const Line2DInterSectionSet *ln2dintersectionset)
Definition: horflatvieweditor2d.h:64
uiMPEEngine & uiMPE()
Access function for an instance (and normally the only instance) of MPE::uiMPEEngine.
Pos::GeomID geomid_
Definition: horflatvieweditor2d.h:128
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
const Attrib::SelSpec * vdselspec_
Definition: horflatvieweditor2d.h:125
Definition: mouseevent.h:162
const Attrib::SelSpec * wvaselspec_
Definition: horflatvieweditor2d.h:126
Editor for FlatView::AuxData. Allows the end-user to click-drag-release the points in data...
Definition: flatauxdataeditor.h:119
A cartesian coordinate in 3D space.
Definition: coord.h:72
Index_Type GeomID
Definition: commontypes.h:52
bool dodropnext_
Definition: horflatvieweditor2d.h:133
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
bool sowingmode_
Definition: horflatvieweditor2d.h:136
ObjectSet< Hor2DMarkerIdInfo > markeridinfos_
Definition: horflatvieweditor2d.h:122
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
DataPack for flat data.
Definition: datapackbase.h:64
Definition: horflatvieweditor2d.h:36
bool seedpickingon_
Definition: horflatvieweditor2d.h:130
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
FlatView::AuxData * patchdata_
Definition: horflatvieweditor2d.h:134
EM::HorizonPainter2D * getPainter() const
Definition: horflatvieweditor2d.h:47
TrcKey pickedpos_
Definition: horflatvieweditor2d.h:132
Definition: geom2dintersections.h:108
Definition: bitmap2rgb.h:18
bool trackersetupactive_
Definition: horflatvieweditor2d.h:131
Notifier< HorizonFlatViewEditor2D > updseedpkingstatus_
Definition: horflatvieweditor2d.h:70
Definition: mouseevent.h:73
MouseEventHandler * mehandler_
Definition: horflatvieweditor2d.h:123
Semblance Attribute.
Definition: attribdataholder.h:25

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