OpendTect-6_4  6.4
vispicksetdisplay.h
Go to the documentation of this file.
1 #ifndef vispicksetdisplay_h
2 #define vispicksetdisplay_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 4-11-2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "vissurveymod.h"
17 #include "trigonometry.h"
18 #include "vislocationdisplay.h"
19 
20 namespace visBase { class MarkerSet; class PolyLine;
21  class DrawStyle; class RandomPos2Body;
22  class Dragger; class PolyLine3D; }
23 
24 namespace visSurvey
25 {
26 
36 public:
37 
41  "PickSetDisplay",
42  toUiString(sFactoryKeyword()))
43 
44  void setSet(Pick::Set*);
45  bool isPolygon() const;
46 
47  bool hasColor() const { return true; }
48  void setColor(Color);
49 
50  void displayBody(bool);
51  bool isBodyDisplayed() const;
52 
53  bool setBodyDisplay();
54  visBase::RandomPos2Body* getDisplayBody() const { return bodydisplay_; }
55 
56  void getPickingMessage(BufferString&) const;
57 
58  void setDisplayTransformation(const mVisTrans*);
59  const mVisTrans* getDisplayTransformation() const;
60 
61  void setPixelDensity(float);
62  float getPixelDensity() const;
63 
64  bool needLine();
65  void createLine();
66  void redrawLine();
67  void showLine(bool);
68  bool lineShown() const;
69 
70  void showDragger(bool yn);
71  bool draggerShown() const;
72 
73  void redrawAll(int draggeridx=-1);
74 
75  void fillPar(IOPar&) const;
76  bool usePar(const IOPar&);
77 
78 protected:
79  ~PickSetDisplay();
80 
81  void setPosition(int loc,const Pick::Location&);
82  void setPosition(int idx,const Pick::Location&,
83  bool add=false);
84  Coord3 getPosition(int loc) const;
85  void removePosition(int idx);
86  void removeAll();
87  virtual void redrawMultiSets();
88 
89 
90  void setPolylinePos(int,const Coord3&);
91  void removePolylinePos(int);
92 
93  ::Quaternion getDirection(const Pick::Location&) const;
94 
95  void dispChg(CallBacker*);
96  void locChg(CallBacker*);
97 
98  int clickedMarkerIndex(
99  const visBase::EventInfo&) const;
100  bool isMarkerClick(
101  const visBase::EventInfo&) const;
102 
103  void otherObjectsMoved(
104  const ObjectSet<const SurveyObject>&,int);
105  virtual void updateDragger();
106  visBase::MarkerSet* createOneMarker() const;
107 
108  void turnOnSelectionMode(bool);
109  void polygonFinishedCB(CallBacker*);
110  void updateSelections(
112  bool updateMarkerAtSection(const SurveyObject*,int);
113  void updateLineAtSection();
114 
115  virtual bool removeSelections(TaskRunner*);
116  virtual bool draggerNormal() const;
117  virtual void setDraggerNormal(const Coord3&);
118 
121  //<don't use it, only for keep ABI
122  bool needline_;
123 
124  static const char* sKeyNrPicks();
125  static const char* sKeyPickPrefix();
126  static const char* sKeyDisplayBody();
127 
133 
134 private:
135  void setPickSelect(int,bool);
136  void unSelectAll();
137  void updateLineStyle();
141 };
142 
143 } // namespace visSurvey
144 
145 #endif
Quaternion is an extension to complex numbers.
Definition: trigonometry.h:328
visBase::PolyLine * polylines_
Definition: vispicksetdisplay.h:140
#define mExpClass(module)
Definition: commondefs.h:160
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
BoolTypeSet pickselstatus_
Definition: vispicksetdisplay.h:139
bool showdragger_
Definition: vispicksetdisplay.h:132
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
Pick location in space,.
Definition: picklocation.h:46
bool needline_
Definition: vispicksetdisplay.h:122
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
visBase::RandomPos2Body * getDisplayBody() const
Definition: vispicksetdisplay.h:54
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
bool hasColor() const
Definition: vispicksetdisplay.h:47
Set of picks with something in common.
Definition: pickset.h:31
Set of pointers to objects.
Definition: commontypes.h:32
void removeAll()
Definition: vispolygonselection.h:40
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: vispolyline.h:36
bool shoulddisplaybody_
Definition: vispicksetdisplay.h:129
Definition: visrandompos2body.h:36
Color color_
Definition: vispicksetdisplay.h:138
Used for displaying picks.
Definition: vispicksetdisplay.h:34
Used for displaying picksets of varying types. The class is not intended for standalone usage...
Definition: vislocationdisplay.h:36
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
visBase::MarkerSet * markerset_
Definition: vispicksetdisplay.h:119
visBase::RandomPos2Body * bodydisplay_
Definition: vispicksetdisplay.h:128
A cartesian coordinate in 3D space.
Definition: coord.h:72
Definition: visannot.h:43
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
visBase::PolyLine * polyline_
Definition: vispicksetdisplay.h:120
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
int draggeridx_
Definition: vispicksetdisplay.h:131
visBase::Dragger * dragger_
Definition: vispicksetdisplay.h:130
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable...
Definition: vismarkerset.h:36
Definition: visdragger.h:78

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