OpendTect-6_4  6.4
emhorizonpainter3d.h
Go to the documentation of this file.
1 #ifndef emhorizonpainter3d_h
2 #define emhorizonpainter3d_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  CopyRight: (C) dGB Beheer B.V.
8  Author: Umesh Sinha
9  Date: Mar 2009
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "trckeyzsampling.h"
17 #include "emposid.h"
18 #include "flatview.h"
19 
20 class FlatPosData;
21 
22 namespace EM
23 {
24 
25 class Horizon3D;
26 
32 {
33 public:
36 
37  void setTrcKeyZSampling(
38  const TrcKeyZSampling&,bool upd=false);
39  void setPath(const TrcKeyPath&);
40  void setFlatPosData(const FlatPosData*);
41 
42  void enableLine(bool);
43  void enableSeed(bool);
44  bool seedEnable() const { return seedenabled_; }
45 
46  void paint();
47  void setUpdateTrcKeySampling(const TrcKeySampling&);
48  void displayIntersection(bool yn) { intersection_ = yn; }
49  void displaySelections(const TypeSet<EM::PosID>&);
50  void removeSelections();
51  void updatePreferColors();
52 
53  mStruct(EarthModel) Marker3D
54  {
55  Marker3D()
56  : marker_(0)
57  , sectionid_(-1)
58  {}
59  ~Marker3D()
60  { delete marker_; }
61 
62  FlatView::AuxData* marker_;
63  EM::SectionID sectionid_;
64  };
65 
66  void getDisplayedHor(ObjectSet<Marker3D>&);
67 
70 
71 protected:
72 
74 
75  bool addPolyLine();
76  void removePolyLine();
77 
78  void generateNewMarker(const Horizon3D&,const SectionID&,
79  SectionMarker3DLine&,Marker3D*&);
80  bool addDataToMarker(const BinID&,const Coord3&,
81  const PosID&,const Horizon3D&,
82  Marker3D&,int idx=-1);
85  bool addDataToMarker(const BinID&,const Coord3&,
86  const PosID&,const Horizon3D&,
87  Marker3D&,bool newmarker,int idx = -1);
88 
89  void horChangeCB(CallBacker*);
90  void paintCB(CallBacker*);
91  void changePolyLineColor();
92  void changePolyLinePosition( const EM::PosID& pid );
93  Marker3D* create3DMarker(const EM::SectionID&);
94  void updateSelectionColor();
95 
96 
99  const TrcKeyPath* path_;
101 
105 
107  Marker3D* markerseeds_;
108  Marker3D* selectionpoints_;
109 
112  int nrseeds_;
115 };
116 
117 } //namespace EM
118 
119 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
od_int32 ObjectID
Definition: emposid.h:24
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
Notifier< HorizonPainter3D > repaintdone_
Definition: emhorizonpainter3d.h:69
EM::ObjectID id_
Definition: emhorizonpainter3d.h:97
bool intersection_
Definition: emhorizonpainter3d.h:113
TrcKeySampling updatesamplings_
Definition: emhorizonpainter3d.h:114
Positioning of flat &#39;bulk&#39; data. Only the &#39;x1&#39; axis can be irregular.
Definition: flatposdata.h:26
#define mStruct(module)
Definition: commondefs.h:165
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
Definition: draw.h:60
Definition: draw.h:118
bool seedEnable() const
Definition: emhorizonpainter3d.h:44
int nrseeds_
Definition: emhorizonpainter3d.h:112
ObjectSet< SectionMarker3DLine > markerline_
Definition: emhorizonpainter3d.h:106
Flat Viewer using FlatView::Data and FlatView::Appearance.
Definition: flatview.h:324
Definition: callback.h:254
Set of pointers to objects.
Definition: commontypes.h:32
FlatView::Viewer & viewer_
Definition: emhorizonpainter3d.h:104
ObjectSet< Marker3D > SectionMarker3DLine
Definition: emhorizonpainter3d.h:73
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
Notifier< HorizonPainter3D > abouttorepaint_
Definition: emhorizonpainter3d.h:68
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
const FlatPosData * flatposdata_
Definition: emhorizonpainter3d.h:100
Marker3D * markerseeds_
Definition: emhorizonpainter3d.h:107
const TrcKeyPath * path_
Definition: emhorizonpainter3d.h:99
A cartesian coordinate in 3D space.
Definition: coord.h:72
Marker3D * selectionpoints_
Definition: emhorizonpainter3d.h:108
void displayIntersection(bool yn)
Definition: emhorizonpainter3d.h:48
bool linenabled_
Definition: emhorizonpainter3d.h:110
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
bool seedenabled_
Definition: emhorizonpainter3d.h:111
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
OD::LineStyle markerlinestyle_
Definition: emhorizonpainter3d.h:102
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:96
TrcKeyZSampling tkzs_
Definition: emhorizonpainter3d.h:98
MarkerStyle2D markerstyle_
Definition: emhorizonpainter3d.h:103
3D horizon painter
Definition: emhorizonpainter3d.h:31

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