OpendTect  6.3
horflatvieweditor3d.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 namespace Attrib { class SelSpec; }
20 namespace EM { class HorizonPainter3D; }
21 namespace FlatView { class AuxDataEditor; }
22 
23 class FlatDataPack;
24 class MouseEvent;
25 class MouseEventHandler;
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 setPath(const TrcKeyPath&);
42  void setFlatPosData(const FlatPosData*);
43  void setSelSpec(const Attrib::SelSpec*,bool wva);
44 
45  FlatView::AuxDataEditor* getEditor() { return editor_; }
46  EM::HorizonPainter3D* getPainter() const { return horpainter_; }
47  void setMouseEventHandler(MouseEventHandler*);
48 
49  void enableLine(bool);
50  void enableSeed(bool);
51  bool seedEnable() const;
52  void paint();
53 
54  void setSeedPicking( bool yn ) {}
55  void setTrackerSetupActive(bool yn)
56  { trackersetupactive_ = yn; }
57 
59 
60 protected:
61 
62  void horRepaintATSCB( CallBacker* );
63  void horRepaintedCB( CallBacker* );
64 
65  void mouseMoveCB(CallBacker*);
66  void mousePressCB(CallBacker*);
67  void mouseReleaseCB(CallBacker*);
68  void doubleClickedCB(CallBacker*);
69  void movementEndCB(CallBacker*);
70  void removePosCB(CallBacker*);
71  void makePatchEnd(bool);
72 
73  void handleMouseClicked(bool dbl);
74  bool checkSanity(EMTracker&,const EMSeedPicker&,
75  bool& pickinvd) const;
76  bool prepareTracking(bool pickinvd,const EMTracker&,
77  EMSeedPicker&,const FlatDataPack&) const;
78  bool getPosID(const Coord3&,EM::PosID&) const;
79  bool doTheSeed(EMSeedPicker&,const Coord3&,
80  const MouseEvent&);
81  void sowingModeCB(CallBacker*);
82  void releasePolygonSelectionCB(CallBacker*);
83  void selectionColorChangedCB(CallBacker*);
84  void sowingFinishedCB(CallBacker*);
85  void keyPressedCB(CallBacker*);
86  void polygonFinishedCB(CallBacker*);
87  void undo();
88  void redo();
89  EMSeedPicker* getEMSeedPicker() const;
90  mStruct(uiMPE) Hor3DMarkerIdInfo
91  {
92  FlatView::AuxData* marker_;
93  int markerid_;
94  EM::SectionID sectionid_;
95  };
96 
97  void cleanAuxInfoContainer();
98  void fillAuxInfoContainer();
99  FlatView::AuxData* getAuxData(int markerid);
100  EM::SectionID getSectionID(int markerid);
101  void setupPatchDisplay();
102  void updatePatchDisplay();
103 
106 
114 
117  mutable bool dodropnext_;
121 };
122 
123 } //namespace MPE
bool sowingmode_
Definition: horflatvieweditor3d.h:120
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
FlatView::AuxData * patchdata_
Definition: horflatvieweditor3d.h:118
od_int32 ObjectID
Definition: emposid.h:22
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
const TrcKeyPath * curtkpath_
Definition: horflatvieweditor3d.h:111
const Attrib::SelSpec * vdselspec_
Definition: horflatvieweditor3d.h:112
Positioning of flat 'bulk' data. Only the 'x1' axis can be irregular.
Definition: flatposdata.h:24
TypeSet< EM::PosID > pointselections_
Definition: horflatvieweditor3d.h:119
MouseEventHandler * mehandler_
Definition: horflatvieweditor3d.h:109
#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
bool trackersetupactive_
Definition: horflatvieweditor3d.h:115
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
Definition: horflatvieweditor3d.h:33
bool dodropnext_
Definition: horflatvieweditor3d.h:117
Class to help setup a callback handling.
Definition: notify.h:121
EM::HorizonPainter3D * horpainter_
Definition: horflatvieweditor3d.h:105
3D point or vector
Definition: commontypes.h:57
uiMPEEngine & uiMPE()
Access function for an instance (and normally the only instance) of MPE::uiMPEEngine.
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
const Attrib::SelSpec * wvaselspec_
Definition: horflatvieweditor3d.h:113
EM::ObjectID emid_
Definition: horflatvieweditor3d.h:104
FlatView::AuxDataEditor * getEditor()
Definition: horflatvieweditor3d.h:45
Definition: mouseevent.h:166
Editor for FlatView::AuxData. Allows the end-user to click-drag-release the points in data...
Definition: flatauxdataeditor.h:117
Notifier< HorizonFlatViewEditor3D > updseedpkingstatus_
Definition: horflatvieweditor3d.h:58
void setTrackerSetupActive(bool yn)
Definition: horflatvieweditor3d.h:55
EM::HorizonPainter3D * getPainter() const
Definition: horflatvieweditor3d.h:46
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
TrcKey pickedpos_
Definition: horflatvieweditor3d.h:116
DataPack for flat data.
Definition: datapackbase.h:61
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
void setSeedPicking(bool yn)
Definition: horflatvieweditor3d.h:54
FlatView::AuxDataEditor * editor_
Definition: horflatvieweditor3d.h:107
Definition: bitmap2rgb.h:15
Definition: mouseevent.h:72
3D horizon painter
Definition: emhorizonpainter3d.h:29
ObjectSet< Hor3DMarkerIdInfo > markeridinfos_
Definition: horflatvieweditor3d.h:108
Semblance Attribute.
Definition: attribdataholder.h:21
TrcKeyZSampling curcs_
Definition: horflatvieweditor3d.h:110

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