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

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