OpendTect-6_4  6.4
vishorizon2ddisplay.h
Go to the documentation of this file.
1 #ifndef vishorizon2ddisplay_h
2 #define vishorizon2ddisplay_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: May 2004
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "vissurveymod.h"
17 #include "emposid.h"
18 #include "multiid.h"
19 #include "visemobjdisplay.h"
20 #include "geom2dintersections.h"
21 
22 namespace visBase { class PolyLine3D; class PointSet; class MarkerSet; }
23 namespace EM { class Horizon2D; }
24 class ZAxisTransform;
25 class Line2DInterSection;
27 
28 namespace visSurvey
29 {
30 
31 class Seis2DDisplay;
32 
35 public:
39  "Horizon2DDisplay",
40  toUiString(sFactoryKeyword()));
41 
42  void setDisplayTransformation(const mVisTrans*);
43 
45  IOPar& i ) const
46  { return EMObjectDisplay::getMousePosInfo(e,i);}
47  virtual void getMousePosInfo(const visBase::EventInfo&,
48  Coord3&,
49  BufferString& val,
50  BufferString& info) const;
51  void setLineStyle(const OD::LineStyle&);
52 
53  bool setEMObject(const EM::ObjectID&,TaskRunner*);
54  EM::SectionID getSectionID(int visid) const;
55  TypeSet<EM::SectionID> getSectionIDs() const{ return sids_; }
56 
57  bool setZAxisTransform(ZAxisTransform*,TaskRunner*);
58  const Color getLineColor() const;
59 
60  const visBase::PointSet* getPointSet(const EM::SectionID&) const;
61  const visBase::PolyLine3D* getLine(const EM::SectionID&) const;
62  void doOtherObjectsMoved(
64  int whichobj );
65  virtual void setPixelDensity(float);
66  void initSelectionDisplay(bool erase);
67  void updateSelectionsHor2D();
68  void clearSelectionsHor2D();
69 
70 protected:
71  friend class Horizon2DDisplayUpdater;
73  void removeSectionDisplay(const EM::SectionID&);
74  bool addSection(const EM::SectionID&,TaskRunner*);
75 
76  struct LineRanges
77  {
80  };
81 
82  static bool withinRanges(const RowCol&,float z,
83  const LineRanges& );
84  void updateSection(int idx,const LineRanges* lr=0);
85 
86  void emChangeCB(CallBacker*);
87 
88  void otherObjectsMoved(
90  int whichobj );
91  void updateLinesOnSections(
93  void updateSeedsOnSections(
95 
96  void zAxisTransformChg(CallBacker*);
97  void removeVolumesOfInterest();
98 
99  void fillPar(IOPar&) const;
100  bool usePar(const IOPar&);
101  bool calcLine2DIntersections(
102  const TypeSet<Pos::GeomID>&,
104 
105  void calcLine2DInterSectionSet();
106 
107  void updateIntersectionMarkers(
109  void updateIntersectionPoint(const Pos::GeomID,
110  const Pos::GeomID,
111  const Line2DInterSection*);
112  bool shouldDisplayIntersections(
113  const Seis2DDisplay&);
114 
115 
125 };
126 
127 } // namespace visSurvey
128 
129 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
od_int32 ObjectID
Definition: emposid.h:24
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
Definition: visemobjdisplay.h:69
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
Definition: draw.h:118
Definition: vispointset.h:26
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
TypeSet< EM::SectionID > sids_
Definition: vishorizon2ddisplay.h:118
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
Definition: vishorizon2ddisplay.h:76
Used for displaying a 2D line.
Definition: visseis2ddisplay.h:40
Set of pointers to objects.
Definition: commontypes.h:32
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Class that can execute a task.
Definition: task.h:169
#define mVisTrans
Definition: visdata.h:31
Definition: vishorizon2ddisplay.h:33
TypeSet< TypeSet< Interval< float > > > zrgs
Definition: vishorizon2ddisplay.h:79
int nr2dlines_
Definition: vishorizon2ddisplay.h:122
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
Line2DInterSectionSet * ln2dset_
Definition: vishorizon2ddisplay.h:123
A cartesian coordinate in 3D space.
Definition: coord.h:72
Index_Type GeomID
Definition: commontypes.h:52
IdxPair used for its row() and col().
Definition: rowcol.h:25
Definition: visannot.h:43
visBase::MarkerSet * intersectmkset_
Definition: vishorizon2ddisplay.h:120
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
visBase::PointSet * selections_
Definition: vishorizon2ddisplay.h:124
Definition: geom2dintersections.h:56
ObjectSet< visBase::PolyLine3D > lines_
Definition: vishorizon2ddisplay.h:116
bool updateintsectmarkers_
Definition: vishorizon2ddisplay.h:121
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
Base class for all &#39;Display&#39; objects.
Definition: vissurvobj.h:58
Definition: visevent.h:44
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
TypeSet< EM::SectionID > getSectionIDs() const
Definition: vishorizon2ddisplay.h:55
TypeSet< int > volumeofinterestids_
Definition: vishorizon2ddisplay.h:119
ObjectSet< visBase::PointSet > points_
Definition: vishorizon2ddisplay.h:117
Definition: geom2dintersections.h:108
Base class for z-axis transforms.
Definition: zaxistransform.h:37
TypeSet< TypeSet< Interval< int > > > trcrgs
Definition: vishorizon2ddisplay.h:78
Definition: vispolyline.h:64
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable...
Definition: vismarkerset.h:36
void getMousePosInfo(const visBase::EventInfo &e, IOPar &i) const
Definition: vishorizon2ddisplay.h:44

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