OpendTect  6.3
vispseventdisplay.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: K. Tingdahl
8  Date: April 2005
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "vissurveymod.h"
14 #include "vissurvobj.h"
15 
16 #include "draw.h"
17 #include "visobject.h"
18 #include "coltabmapper.h"
19 #include "coltabsequence.h"
20 
21 namespace visBase
22 {
23  class PolyLine3D;
24  class DrawStyle;
25  class DataObjectGroup;
26 };
27 
28 namespace PreStack { class EventManager; class EventSet; }
29 
30 namespace visSurvey
31 {
32 
34  public SurveyObject
35 {
36 public:
40  "PSEventDisplay",
41  ::toUiString(sFactoryKeyword()) );
42 
43  bool isInlCrl() const { return true; }
44 
45  void setEventManager(PreStack::EventManager*);
46  void setHorizonID(int);
47 
48  enum MarkerColor { Single, Quality, Velocity, VelocityFit };
50 
51  void setMarkerColor(MarkerColor,bool update=true);
52  MarkerColor getMarkerColor() const;
53  void setColTabMapper(int,const ColTab::Mapper&,
54  TaskRunner*);
55  void setColTabRange(Interval<float>);
56  virtual const ColTab::Mapper& getColTabMapper(int) const;
57  virtual const ColTab::Sequence& getColTabSequence(int ch=0) const;
58  virtual void setColTabSequence(int,const ColTab::Sequence&,
59  TaskRunner*);
60  virtual bool canSetColTabSequence() const { return true; }
61  virtual int nrAttribs() const { return 1; }
62  virtual void setPixelDensity(float);
63 
64  enum DisplayMode { ZeroOffset, FullOnSections,
65  ZeroOffsetOnSections, FullOnGathers };
67  void setDisplayMode(DisplayMode);
68  DisplayMode getDisplayMode() const;
69 
70  void setLineStyle(const OD::LineStyle&);
71  OD::LineStyle getLineStyle() const;
72 
73  void setMarkerStyle(const OD::MarkerStyle3D&);
74  void setMarkerStyle(const OD::MarkerStyle3D&,
75  bool updat);
76  virtual bool hasColor() const { return true; }
77  virtual Color getColor() const;
78  const uiStringSet& markerColorNames()const;
79  const uiStringSet& displayModeNames()const;
80  bool hasParents() const;
81  bool supportsDisplay() const;
82 
83 
84 protected:
85  void clearAll();
86  ~PSEventDisplay();
87  void otherObjectsMoved( const ObjectSet<
88  const SurveyObject>&, int whichobj );
89 
90  void setDisplayTransformation(const mVisTrans*);
91  const mVisTrans* getDisplayTransformation() const;
92 
93  void eventChangeCB(CallBacker*);
94  void eventForceReloadCB(CallBacker*);
95 
96 
98  {
103 
107 
108  const int parentid_;
109  };
110 
111  void updateDisplay();
112  void updateDisplay(ParentAttachedObject*);
113  void clearDisplay(ParentAttachedObject*);
114  void retrieveParents();
115  void ensureDistribSet(const TypeSet<float>&);
116  float getMoveoutComp(const TypeSet<float>&,
117  const TypeSet<float>&) const;
118 
122 
124 
126  int horid_;
129 
136 
137 };
138 
139 } // namespace visSurvey
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
float offsetscale_
Definition: vispseventdisplay.h:128
const mVisTrans * displaytransform_
Definition: vispseventdisplay.h:120
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
A series of color control points able to give an (interpolated) color for every position [0...
Definition: coltabsequence.h:37
Definition: visdatagroup.h:24
Definition: draw.h:119
ConstRefMan< ColTab::Sequence > ctabsequence_
Definition: vispseventdisplay.h:132
visBase::MarkerSet * markerset_
Definition: vispseventdisplay.h:104
Definition: visdrawstyle.h:30
Definition: prestackagc.h:18
Definition: vispseventdisplay.h:65
int horid_
Definition: vispseventdisplay.h:126
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:287
Definition: vispseventdisplay.h:33
MarkerColor
Definition: vispseventdisplay.h:48
PreStack::EventManager * eventman_
Definition: vispseventdisplay.h:125
DisplayMode displaymode_
Definition: vispseventdisplay.h:123
Maps data values to color sequence positions: [0,1].
Definition: coltabmapper.h:33
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:18
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
ObjectSet< PreStack::EventSet > eventsets_
Definition: vispseventdisplay.h:105
Threads::Lock lock_
Definition: vispseventdisplay.h:135
Set of pointers to objects.
Definition: commontypes.h:28
TrcKeySampling tks_
Definition: vispseventdisplay.h:106
ObjectSet< ParentAttachedObject > parentattached_
Definition: vispseventdisplay.h:121
VisualObjectImpl
Definition: visobject.h:123
Class that can execute a task.
Definition: task.h:193
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
virtual int nrAttribs() const
Definition: vispseventdisplay.h:61
#define mVisTrans
Definition: visdata.h:25
OD::MarkerStyle3D markerstyle_
Definition: vispseventdisplay.h:133
Interval< float > qualityrange_
Definition: vispseventdisplay.h:127
visBase::DrawStyle * linestyle_
Definition: vispseventdisplay.h:119
bool isInlCrl() const
Definition: vispseventdisplay.h:43
ConstRefMan< ColTab::Mapper > ctabmapper_
Definition: vispseventdisplay.h:131
Definition: vispseventdisplay.h:64
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
Definition: vispseventdisplay.h:97
visBase::PolyLine3D * lines_
Definition: vispseventdisplay.h:102
DisplayMode
Definition: vispseventdisplay.h:64
virtual bool hasColor() const
Definition: vispseventdisplay.h:76
Definition: visannot.h:40
Base class for all &#39;Display&#39; objects.
Definition: vissurvobj.h:54
virtual bool canSetColTabSequence() const
Definition: vispseventdisplay.h:60
visBase::DataObjectGroup * objectgroup_
Definition: vispseventdisplay.h:101
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
Definition: uistring.h:235
const int parentid_
Definition: vispseventdisplay.h:108
visBase::MarkerSet * eventmarkerset_
Definition: vispseventdisplay.h:134
Definition: vispolyline.h:61
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable...
Definition: vismarkerset.h:33
Definition: draw.h:91
MarkerColor markercolor_
Definition: vispseventdisplay.h:130
A EventManager is a set of EventsSet on multiple PreStack gathers, and are identified under the same ...
Definition: prestackevents.h:102

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