OpendTect  6.3
vispicksetdisplay.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: Kristofer Tingdahl
8  Date: 4-11-2002
9 _______________________________________________________________________
10 
11 
12 -*/
13 
14 #include "vissurveymod.h"
15 #include "trigonometry.h"
16 #include "vislocationdisplay.h"
17 
18 namespace visBase { class MarkerSet; class PolyLine;
19  class DrawStyle; class RandomPos2Body;
20  class Dragger; }
21 
22 namespace visSurvey
23 {
24 
34 public:
35 
39  "PickSetDisplay",
40  toUiString(sFactoryKeyword()))
41 
42  void setSet(Pick::Set*);
43  bool isPolygon() const;
44 
45  bool hasColor() const { return true; }
46  void setColor(Color);
47 
48  void displayBody(bool);
49  bool isBodyDisplayed() const;
50 
51  bool setBodyDisplay();
52  visBase::RandomPos2Body* getDisplayBody() const { return bodydisplay_; }
53 
54  void getPickingMessage(uiString&) const;
55 
56  void setDisplayTransformation(const mVisTrans*);
57  const mVisTrans* getDisplayTransformation() const;
58 
59  void setPixelDensity(float);
60  float getPixelDensity() const;
61 
62  bool needLine();
63  void createLine();
64  void redrawLine();
65  void showLine(bool);
66  bool lineShown() const;
67 
68  void showDragger(bool yn);
69  bool draggerShown() const;
70 
71  void redrawAll(int draggeridx=-1);
72 
73  void fillPar(IOPar&) const;
74  bool usePar(const IOPar&);
75 
76 protected:
77  ~PickSetDisplay();
78 
79  virtual void setPosition(int,const Pick::Location&);
80  virtual void setPosition(int,const Pick::Location&,
81  bool add);
82  Coord3 getPosition(int loc) const;
83  virtual void removePosition(int idx);
84  virtual void removeAll();
85 
86  void setPolylinePos(int,const Coord3&);
87  void removePolylinePos(int);
88 
89  ::Quaternion getDirection(const Pick::Location&) const;
90 
91  virtual void dispChg();
92  virtual void locChg(const Monitorable::ChangeData&);
93 
94  virtual int clickedMarkerIndex(
95  const visBase::EventInfo&) const;
96  virtual bool isMarkerClick(const visBase::EventInfo&) const;
97 
98  void otherObjectsMoved(
100  virtual void updateDragger();
101 
102  visBase::MarkerSet* createOneMarker() const;
103  void turnOnSelectionMode(bool);
104  void polygonFinishedCB(CallBacker*);
105  void updateSelections(
107  bool updateMarkerAtSection(const SurveyObject*,int);
108  void updateLineAtSection();
109 
110  virtual bool removeSelections(TaskRunner*);
111  virtual bool draggerNormal() const;
112  virtual void setDraggerNormal(const Coord3&);
113 
116  bool needline_;
117 
118  static const char* sKeyNrPicks();
119  static const char* sKeyPickPrefix();
120  static const char* sKeyDisplayBody();
121 
127 
128 private:
129  void setPickSelect(int,bool);
130  void unSelectAll();
133 };
134 
135 } // namespace visSurvey
Quaternion is an extension to complex numbers.
Definition: trigonometry.h:329
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
BoolTypeSet pickselstatus_
Definition: vispicksetdisplay.h:132
bool showdragger_
Definition: vispicksetdisplay.h:126
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Pick location in space,.
Definition: picklocation.h:44
bool needline_
Definition: vispicksetdisplay.h:116
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
visBase::RandomPos2Body * getDisplayBody() const
Definition: vispicksetdisplay.h:52
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:287
Definition: uistring.h:88
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:18
bool hasColor() const
Definition: vispicksetdisplay.h:45
Monitorable set of pick locations.
Definition: pickset.h:41
Set of pointers to objects.
Definition: commontypes.h:28
3D point or vector
Definition: commontypes.h:57
void removeAll()
Definition: vispolygonselection.h:37
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Class that can execute a task.
Definition: task.h:193
#define mVisTrans
Definition: visdata.h:25
Definition: vispolyline.h:33
bool shoulddisplaybody_
Definition: vispicksetdisplay.h:123
Definition: visrandompos2body.h:33
Color color_
Definition: vispicksetdisplay.h:131
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
Used for displaying picks.
Definition: vispicksetdisplay.h:32
Used for displaying picksets of varying types. The class is not intended for standalone usage...
Definition: vislocationdisplay.h:34
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
visBase::MarkerSet * markerset_
Definition: vispicksetdisplay.h:114
visBase::RandomPos2Body * bodydisplay_
Definition: vispicksetdisplay.h:122
Definition: visannot.h:40
visBase::PolyLine * polyline_
Definition: vispicksetdisplay.h:115
Base class for all &#39;Display&#39; objects.
Definition: vissurvobj.h:54
Definition: visevent.h:40
Definition: monitorable.h:113
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
int draggeridx_
Definition: vispicksetdisplay.h:125
visBase::Dragger * dragger_
Definition: vispicksetdisplay.h:124
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable...
Definition: vismarkerset.h:33
Definition: visdragger.h:76

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