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

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