16 #ifndef SURGSIM_GRAPHICS_OSGVIEW_H 17 #define SURGSIM_GRAPHICS_OSGVIEW_H 19 #include <osgViewer/Viewer> 26 class DisplaySettings;
47 class OsgTrackballZoomManipulator;
72 virtual void setPosition(
const std::array<int, 2>& position)
override;
74 virtual std::array<int, 2> getPosition()
const override;
76 virtual void setDimensions(
const std::array<int, 2>& dimensions)
override;
78 virtual std::array<int, 2> getDimensions()
const override;
80 virtual void setWindowBorderEnabled(
bool enabled)
override;
82 virtual bool isWindowBorderEnabled()
const override;
88 virtual void setCamera(std::shared_ptr<SurgSim::Framework::Component> camera)
override;
93 void enableManipulator(
bool val);
96 bool isManipulatorEnabled();
121 void setOsgMapsUniforms(
bool val);
124 bool getOsgMapsUniforms();
128 std::shared_ptr<SurgSim::Input::CommonDevice> getKeyboardDevice();
132 void enableKeyboardDevice(
bool val);
135 bool isKeyboardDeviceEnabled();
139 std::shared_ptr<SurgSim::Input::CommonDevice> getMouseDevice();
143 void enableMouseDevice(
bool val);
146 bool isMouseDeviceEnabled();
148 virtual void update(
double dt)
override;
151 osg::ref_ptr<osgViewer::View> getOsgView()
const;
156 virtual bool doInitialize()
override;
159 virtual bool doWakeUp()
override;
164 void fixupStatsHandler(osgViewer::StatsHandler* statsHandler);
202 #endif // SURGSIM_GRAPHICS_OSGVIEW_H Base graphics view class, which defines the basic interface for all graphics views.
Definition: View.h:39
osg::ref_ptr< OsgTrackballZoomManipulator > m_manipulator
Definition: OsgView.h:185
Definition: DriveElementFromInputBehavior.cpp:27
bool m_osgMapUniforms
Wether to enable osg uniform mapping.
Definition: OsgView.h:183
osg::ref_ptr< osgViewer::View > m_view
OSG view which performs the actual work involved in setting up and rendering to a window...
Definition: OsgView.h:180
std::shared_ptr< SurgSim::Device::MouseDevice > m_mouseDevice
Definition: OsgView.h:195
SurgSim::Math::Vector3d m_manipulatorPosition
Definition: OsgView.h:186
bool m_mouseEnabled
Indicate if a mouse device is enabled.
Definition: OsgView.h:194
SURGSIM_STATIC_REGISTRATION(SerializationMockComponent)
bool m_isWindowBorderEnabled
Whether the view window has a border.
Definition: OsgView.h:171
std::array< int, 2 > m_position
Position of the view on the screen (in pixels)
Definition: OsgView.h:167
string(TOUPPER ${DEVICE}DEVICE_UPPER_CASE) option(BUILD_DEVICE_ $
Definition: CMakeLists.txt:35
#define SURGSIM_CLASSNAME(ClassName)
Declare the class name of a class with the appropriate function header, do not use quotes...
Definition: Macros.h:21
std::shared_ptr< SurgSim::Device::KeyboardDevice > m_keyboardDevice
Definition: OsgView.h:191
std::array< int, 2 > m_dimensions
Dimensions of the view on the screen (in pixels)
Definition: OsgView.h:169
SurgSim::Math::Vector3d m_manipulatorLookat
Definition: OsgView.h:187
bool m_isFirstUpdate
Whether the next update will be the first time the view has been updated On the first update...
Definition: OsgView.h:175
bool m_areWindowSettingsDirty
Whether the settings have been changed and the window needs to be updated.
Definition: OsgView.h:177
bool m_keyboardEnabled
Indicate if a keyboard device is enabled.
Definition: OsgView.h:190
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:56
OSG-based implementation of graphics view class.
Definition: OsgView.h:56