OpendTect  6.6
emfault3dpainter.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: Feb 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "callback.h"
16 #include "trckeyzsampling.h"
17 #include "draw.h"
18 #include "emposid.h"
19 #include "flatview.h"
20 
21 namespace FlatView { class Viewer; }
22 namespace Geometry { class FaultStickSurface; class ExplPlaneIntersection;
23  class PrimitiveSet;}
24 
25 class FlatPosData;
26 
27 namespace EM
28 {
29 
30 class Fault3D;
31 
36 mExpClass(EarthModel) Fault3DPainter : public CallBacker
37 {
38 public:
41 
43  const TrcKeyZSampling& getTrcKeyZSampling() const { return tkzs_; }
44 
45  void setPath(const TrcKeyPath&);
47 
48  void enableLine(bool);
49  void enableKnots(bool);
50 
52  int getActiveStickId() const { return activestickid_; }
54  bool hasDiffActiveStick(const EM::PosID*) const;
56 
57  mStruct(EarthModel) StkMarkerInfo
58  {
59  FlatView::AuxData* marker_;
60  int stickid_;
61  };
62 
63  EM::ObjectID& getFaultID() { return emid_; }
65 
68 
69  void paint();
70  void enablePaint(bool paintenable);
71 
72 protected:
73  bool addPolyLine();
74 
75  mStruct(EarthModel) Fault3DMarker
76  {
77  Fault3DMarker(){}
78  ~Fault3DMarker()
79  {
80  deepErase(stickmarker_);
81  deepErase(intsecmarker_);
82  }
83  ObjectSet<StkMarkerInfo> stickmarker_;
84  ObjectSet<FlatView::AuxData> intsecmarker_;
85  };
86 
88  Fault3DMarker*);
90  RowCol&,const StepInterval<int>&,
91  const Coord3&, FlatView::AuxData&);
93  RowCol&,const StepInterval<int>&,
94  const Coord3&, FlatView::AuxData&);
96  Fault3DMarker*);
97  bool paintPlaneIntxn(EM::Fault3D&,Fault3DMarker*,
100  void genIntersectionAuxData(EM::Fault3D&,Fault3DMarker*,
101  const Geometry::PrimitiveSet* coordps,
102  TypeSet<Coord3>& intxnposs);
105 
106  Coord getNormalInRandLine( int idx ) const;
108 
109  virtual void fault3DChangedCB(CallBacker*);
110 
115 
117 
120 
123 
127  int rdlid_;
129 
130 public:
131  void setRandomLineID(int rdlid);
132 };
133 
134 } //namespace EM
135 
EM::Fault3DPainter::tkzs_
TrcKeyZSampling tkzs_
Definition: emfault3dpainter.h:111
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
OD::LineStyle
Definition: draw.h:118
emposid.h
EM::Fault3DPainter::setRandomLineID
void setRandomLineID(int rdlid)
flatview.h
EM::Fault3DPainter::enableKnots
void enableKnots(bool)
EM::Fault3DPainter::setFlatPosData
void setFlatPosData(const FlatPosData *)
EM::Fault3DPainter::abouttorepaint_
Notifier< Fault3DPainter > abouttorepaint_
Definition: emfault3dpainter.h:66
EM::Fault3DPainter::bendpts_
TypeSet< int > bendpts_
Definition: emfault3dpainter.h:114
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Geometry
Definition: arraytesselator.h:21
EM::Fault3DPainter::fault3DChangedCB
virtual void fault3DChangedCB(CallBacker *)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::Fault3DPainter::emid_
EM::ObjectID emid_
Definition: emfault3dpainter.h:121
EM::Fault3DPainter::getTrcKeyZSampling
const TrcKeyZSampling & getTrcKeyZSampling() const
Definition: emfault3dpainter.h:43
EM::Fault3DPainter::rdlid_
int rdlid_
Definition: emfault3dpainter.h:127
EM::Fault3DPainter::removePolyLine
void removePolyLine()
callback.h
EM::Fault3DPainter::linenabled_
bool linenabled_
Definition: emfault3dpainter.h:125
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
EM::Fault3DPainter
3D fault painter.
Definition: emfault3dpainter.h:37
EM::Fault3DPainter::activestickid_
int activestickid_
Definition: emfault3dpainter.h:124
FlatView::Viewer
Flat Viewer using FlatView::Data and FlatView::Appearance.
Definition: flatview.h:349
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
Geometry::PrimitiveSet
Definition: indexedshape.h:29
EM::Fault3DPainter::paintenable_
bool paintenable_
Definition: emfault3dpainter.h:128
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
EM::Fault3DPainter::hasDiffActiveStick
bool hasDiffActiveStick(const EM::PosID *) const
FlatView
Definition: bitmap2rgb.h:17
EM::Fault3DPainter::paintPlaneIntxn
bool paintPlaneIntxn(EM::Fault3D &, Fault3DMarker *, Geometry::ExplPlaneIntersection *, TypeSet< Coord3 > &)
EM::Fault3DPainter::getAuxData
FlatView::AuxData * getAuxData(const EM::PosID *) const
EM::Fault3DPainter::flatposdata_
const FlatPosData * flatposdata_
Definition: emfault3dpainter.h:113
EM::Fault3DPainter::addPolyLine
bool addPolyLine()
FlatPosData
Positioning of flat 'bulk' data. Only the 'x1' axis can be irregular.
Definition: flatposdata.h:26
StepInterval< int >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
EM::Fault3DPainter::markerstyle_
MarkerStyle2D markerstyle_
Definition: emfault3dpainter.h:119
EM::Fault3DPainter::paintStickOnPlane
bool paintStickOnPlane(const Geometry::FaultStickSurface &, RowCol &, const StepInterval< int > &, const Coord3 &, FlatView::AuxData &)
EM::Fault3DPainter::paintSticks
bool paintSticks(EM::Fault3D &, const EM::SectionID &, Fault3DMarker *)
Geometry::ExplPlaneIntersection
Definition: explplaneintersection.h:29
EM::Fault3DPainter::paint
void paint()
EM::Fault3DPainter::getActiveStickId
int getActiveStickId() const
Definition: emfault3dpainter.h:52
EM::Fault3DPainter::paintStickOnRLine
bool paintStickOnRLine(const Geometry::FaultStickSurface &, RowCol &, const StepInterval< int > &, const Coord3 &, FlatView::AuxData &)
trckeyzsampling.h
mStruct
#define mStruct(module)
Definition: commondefs.h:182
EM::Fault3DPainter::setActiveStick
void setActiveStick(EM::PosID &)
EM::Fault3DPainter::Fault3DPainter
Fault3DPainter(FlatView::Viewer &, const EM::ObjectID &)
EM::Fault3DPainter::f3dmarkers_
ObjectSet< Fault3DMarker > f3dmarkers_
Definition: emfault3dpainter.h:122
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
EM::Fault3DPainter::setPath
void setPath(const TrcKeyPath &)
EM::Fault3DPainter::getDisplayedSticks
void getDisplayedSticks(ObjectSet< StkMarkerInfo > &)
EM::Fault3DPainter::knotenabled_
bool knotenabled_
Definition: emfault3dpainter.h:126
EM::Fault3DPainter::setMarkerLineStyle
void setMarkerLineStyle(const OD::LineStyle &)
EM::Fault3DPainter::path_
const TrcKeyPath * path_
Definition: emfault3dpainter.h:112
draw.h
EM::Fault3DPainter::markerlinestyle_
OD::LineStyle markerlinestyle_
Definition: emfault3dpainter.h:118
FlatView::AuxData
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers,...
Definition: flatview.h:34
MarkerStyle2D
Definition: draw.h:60
EM::Fault3DPainter::~Fault3DPainter
~Fault3DPainter()
EM::SectionID
od_int16 SectionID
Definition: emposid.h:24
deepErase
void deepErase(BufferStringSet &)
Geom::Point2D< double >
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
EM::Fault3DPainter::repaintdone_
Notifier< Fault3DPainter > repaintdone_
Definition: emfault3dpainter.h:67
EM::Fault3DPainter::viewer_
FlatView::Viewer & viewer_
Definition: emfault3dpainter.h:116
EM::Fault3DPainter::enableLine
void enableLine(bool)
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
EM::Fault3DPainter::getNormalInRandLine
Coord getNormalInRandLine(int idx) const
EM::Fault3DPainter::getFaultID
EM::ObjectID & getFaultID()
Definition: emfault3dpainter.h:63
EM::Fault3DPainter::repaintFault3D
void repaintFault3D()
EM::Fault3D
3D Fault
Definition: emfault3d.h:78
EM::Fault3DPainter::getFVAuxPoint
FlatView::Point getFVAuxPoint(const Coord3 &) const
Geometry::FaultStickSurface
Definition: faultsticksurface.h:20
EM::Fault3DPainter::paintIntersection
bool paintIntersection(EM::Fault3D &, const EM::SectionID &, Fault3DMarker *)
EM::PosID
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
EM::Fault3DPainter::genIntersectionAuxData
void genIntersectionAuxData(EM::Fault3D &, Fault3DMarker *, const Geometry::PrimitiveSet *coordps, TypeSet< Coord3 > &intxnposs)
EM::Fault3DPainter::setTrcKeyZSampling
void setTrcKeyZSampling(const TrcKeyZSampling &, bool)
TypeSet< TrcKey >
EM::Fault3DPainter::enablePaint
void enablePaint(bool paintenable)

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