OpendTect  6.3
ui3dviewer.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: A.H. Lammertink
8  Date: 07/02/2002
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiosgmod.h"
14 #include "uiobj.h"
15 #include "uigroup.h"
16 #include "color.h"
17 #include "position.h"
18 #include "enums.h"
19 
20 class BufferStringSet;
21 class FontData;
22 class ui3DViewerBody;
23 
24 namespace visBase { class Scene; class PolygonSelection; class SceneColTab; }
25 namespace osgViewer { class View; }
26 
27 mExpClass(uiOSG) ui3DViewer : public uiObject
28 {
29 friend class ui3DViewerBody;
30 
31 public:
33  bool direct,
34  const char* nm="ui3DViewer");
35  ~ui3DViewer();
36 
37  void setMapView(bool yn);
38  bool isMapView() const;
39 
40  void setSceneID(int);
42  const visBase::Scene* getScene() const;
43  int sceneID() const;
44 
45  void setViewMode(bool);
46  bool isViewMode() const;
47 
48  void enableAnimation(bool);
49  bool isAnimationEnabled() const;
50 
51  void rotateH(float angle);
52  void rotateV(float angle);
53  void dolly(float rel); // relative size
54  void setCameraZoom(float);
55  float getCameraZoom();
56  const Coord3 getCameraPosition() const;
57 
58  enum PlaneType { X, Y, Z, Inl, Crl, YZ };
59  void viewPlane(PlaneType);
60  void align();
61 
65  StereoType getStereoType() const;
66  void setStereoOffset(float);
67  float getStereoOffset() const;
68 
69  void setMouseWheelZoomFactor(float);
72  float getMouseWheelZoomFactor() const;
73 
75  bool getReversedMouseWheelDirection() const;
76 
77  void viewAll(bool animate=true);
78  void toHomePos();
79  void saveHomePos();
80  void showRotAxis(bool);
81  void setAnnotationColor(const Color&);
82  Color getAnnotationColor() const;
83  void setAnnotationFont(const FontData&);
84  bool rotAxisShown() const;
85  void toggleCameraType();
86  bool isCameraPerspective() const;
87 
92 
93  void setBackgroundColor(const Color&);
94  Color getBackgroundColor() const;
95 
97 
102 
103  void setKeyBindings(const char* keybindname);
104  void getAllKeyBindings(BufferStringSet&) const;
105  const char* getCurrentKeyBindings() const;
106 
109  const osgViewer::View* getOsgViewerMainView() const;
110  const osgViewer::View* getOsgViewerHudView() const;
111  void setScenesPixelDensity(float dpi);
112  float getScenesPixelDensity() const;
113 
114  void updateZDomainInfo();
116 
117  void fillPar(IOPar&) const;
118  bool usePar(const IOPar&);
119  void savePropertySettings() const;
120 
121  static FixedString sKeyBindingSettingsKey();
122 
123 private:
124 
125  static const char* sKeySceneID() { return "Scene ID"; }
126  static const char* sKeyAnimate() { return "Animate"; }
127  static const char* sKeyBGColor() { return "Background color"; }
128  static const char* sKeyStereo() { return "Stereo viewing"; }
129  static const char* sKeyQuadBuf() { return "Quad buffer"; }
130  static const char* sKeyStereoOff() { return "Stereo offset"; }
131  static const char* sKeyPrintDlg() { return "Print dlg"; }
132  static const char* sKeyPersCamera() { return "Perspective camera"; }
133 
135 
136  uiObjectBody& mkBody(uiParent*,bool direct,const char*);
137 
138 };
#define mExpClass(module)
Definition: commondefs.h:157
void updateZDomainInfo()
Coord3 getCameraPosition() const
static const char * sKeyAnimate()
Definition: ui3dviewer.h:126
ui3DViewerBody * osgbody_
Definition: ui3dviewer.h:134
Definition: ui3dviewerbody.h:140
PlaneType
Definition: ui3dviewer.h:58
StereoType
Definition: ui3dviewer.h:62
bool isMapView() const
Definition: ui3dviewerbody.h:150
void setCameraZoom(float val)
static const char * sKeyBGColor()
Definition: ui3dviewer.h:127
OD::String that holds an existing text string.
Definition: fixedstring.h:27
Definition: visdata.h:22
const osgViewer::View * getOsgViewerHudView() const
Definition: ui3dviewerbody.h:137
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Baseclass for different body implementation (direct & indirect) of OSG.
Definition: ui3dviewerbody.h:59
Definition: ui3dviewerbody.h:118
void setStereoOffset(float)
void setAnnotationFont(const FontData &)
void setMouseWheelZoomFactor(float)
bool setStereoType(StereoType)
void setBackgroundColor(const Color &)
The base class for most UI elements.
Definition: uiobj.h:35
visBase::SceneColTab * getSceneColTab()
Definition: uiparent.h:24
Notifier< ui3DViewer > viewmodechanged
Definition: ui3dviewer.h:99
Set of BufferString objects.
Definition: bufstringset.h:25
Data needed to make an actual font.
Definition: fontdata.h:18
static const char * sKeyPersCamera()
Definition: ui3dviewer.h:132
float getMouseWheelZoomFactor() const
static const char * sKeySceneID()
Definition: ui3dviewer.h:125
static const char * sKeyQuadBuf()
Definition: ui3dviewer.h:129
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
FixedString None()
Definition: keystrs.h:90
const osgViewer::View * getOsgViewerMainView() const
Definition: ui3dviewerbody.h:136
bool isViewMode() const
WheelMode getWheelDisplayMode() const
static const char * sKeyStereo()
Definition: ui3dviewer.h:128
Notifier< ui3DViewer > destroyed
Definition: ui3dviewer.h:98
3D point or vector
Definition: commontypes.h:57
void viewAll(bool animate)
Definition: vispolygonselection.h:37
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool getReversedMouseWheelDirection() const
Definition: ui3dviewer.h:27
void setWheelDisplayMode(WheelMode)
CNotifier< ui3DViewer, bool > pageupdown
Definition: ui3dviewer.h:100
virtual void setViewMode(bool viewmode, bool trigger)
WheelMode
Definition: ui3dviewer.h:88
static const char * sKeyStereoOff()
Definition: ui3dviewer.h:130
void setMapView(bool yn)
void setReversedMouseWheelDirection(bool)
float getStereoOffset() const
void setScenesPixelDensity(float dpi)
bool isAnimationEnabled() const
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
void saveHomePos()
visBase::Scene * getScene()
Definition: ui3dviewerbody.h:70
Definition: ui3dviewerbody.h:140
Definition: visannot.h:40
void setSceneID(int)
Definition: visscenecoltab.h:25
Scene manages all DataObjects and has some managing functions such as the selection management and va...
Definition: visscene.h:38
Geom::Size2D< int > getViewportSizePixels() const
CallBack * vmcb
Definition: ui3dviewer.h:101
StereoType getStereoType() const
Color getBackgroundColor() const
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
static const char * sKeyPrintDlg()
Definition: ui3dviewer.h:131
visBase::PolygonSelection * getPolygonSelector()
Definition: ui3dviewerbody.h:118
Definition: ui3dviewer.h:58
CallBacks object-oriented (object + method).
Definition: callback.h:62
void toggleCameraType()
void showRotAxis(bool)
bool isCameraPerspective() const
float getCameraZoom() const
Definition: ui3dviewerbody.h:118

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