OpendTect  6.3
emhorizonpainter3d.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: Mar 2009
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "earthmodelmod.h"
14 #include "trckeyzsampling.h"
15 #include "emposid.h"
16 #include "flatview.h"
17 
18 class FlatPosData;
19 
20 namespace EM
21 {
22 
23 class Horizon3D;
24 
30 {
31 public:
34 
35  void setTrcKeyZSampling(
36  const TrcKeyZSampling&,bool upd=false);
37  void setPath(const TrcKeyPath&);
38  void setFlatPosData(const FlatPosData*);
39 
40  void enableLine(bool);
41  void enableSeed(bool);
42  bool seedEnable() const { return seedenabled_; }
43 
44  void paint();
45  void setUpdateTrcKeySampling(const TrcKeySampling&);
46  void displaySelections(const TypeSet<EM::PosID>&);
47  void removeSelections();
48  void updateSelectionColor();
49 
50  mStruct(EarthModel) Marker3D
51  {
52  Marker3D()
53  : marker_(0)
54  , sectionid_(-1)
55  {}
56  ~Marker3D()
57  { delete marker_; }
58 
59  FlatView::AuxData* marker_;
60  EM::SectionID sectionid_;
61  };
62 
63  void getDisplayedHor(ObjectSet<Marker3D>&);
64 
67 
68 protected:
69 
71 
72  bool addPolyLine();
73  void removePolyLine();
74 
75  void generateNewMarker(const Horizon3D&,const SectionID&,
76  SectionMarker3DLine&,Marker3D*&);
77  bool addDataToMarker(const BinID&,const Coord3&,
78  const PosID&,const Horizon3D&,
79  Marker3D&,bool,int idx=-1);
80 
81  void horChangeCB(CallBacker*);
82  void paintCB(CallBacker*);
83  void changePolyLineColor();
84  void changePolyLinePosition( const EM::PosID& pid );
85  Marker3D* create3DMarker(const EM::SectionID&);
86 
89  const TrcKeyPath* path_;
91 
95 
97  Marker3D* markerseeds_;
98  Marker3D* selectionpoints_;
99 
102  int nrseeds_;
104 };
105 
106 } //namespace EM
OD::MarkerStyle2D markerstyle_
Definition: emhorizonpainter3d.h:93
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
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
Notifier< HorizonPainter3D > repaintdone_
Definition: emhorizonpainter3d.h:66
EM::ObjectID id_
Definition: emhorizonpainter3d.h:87
TrcKeySampling updatesamplings_
Definition: emhorizonpainter3d.h:103
Positioning of flat &#39;bulk&#39; data. Only the &#39;x1&#39; axis can be irregular.
Definition: flatposdata.h:24
#define mStruct(module)
Definition: commondefs.h:162
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
Definition: draw.h:119
bool seedEnable() const
Definition: emhorizonpainter3d.h:42
int nrseeds_
Definition: emhorizonpainter3d.h:102
ObjectSet< SectionMarker3DLine > markerline_
Definition: emhorizonpainter3d.h:96
Flat Viewer using FlatView::Data and FlatView::Appearance.
Definition: flatview.h:330
Class to help setup a callback handling.
Definition: notify.h:121
Set of pointers to objects.
Definition: commontypes.h:28
FlatView::Viewer & viewer_
Definition: emhorizonpainter3d.h:94
3D point or vector
Definition: commontypes.h:57
ObjectSet< Marker3D > SectionMarker3DLine
Definition: emhorizonpainter3d.h:70
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Notifier< HorizonPainter3D > abouttorepaint_
Definition: emhorizonpainter3d.h:65
Definition: draw.h:63
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
const FlatPosData * flatposdata_
Definition: emhorizonpainter3d.h:90
Marker3D * markerseeds_
Definition: emhorizonpainter3d.h:97
const TrcKeyPath * path_
Definition: emhorizonpainter3d.h:89
Marker3D * selectionpoints_
Definition: emhorizonpainter3d.h:98
bool linenabled_
Definition: emhorizonpainter3d.h:100
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
bool seedenabled_
Definition: emhorizonpainter3d.h:101
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
OD::LineStyle markerlinestyle_
Definition: emhorizonpainter3d.h:92
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:94
TrcKeyZSampling tkzs_
Definition: emhorizonpainter3d.h:88
3D horizon painter
Definition: emhorizonpainter3d.h:29

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