opensurgsim
|
OculusView is a customization of SurgSim::Graphics::OsgView with projection matrices pulled from the Oculus device. More...
#include <OculusView.h>
Public Member Functions | |
OculusView (const std::string &name) | |
Constructor. More... | |
~OculusView () | |
Destructor. | |
SURGSIM_CLASSNAME (SurgSim::Devices::OculusView) | |
void | setInputComponent (std::shared_ptr< Framework::Component > input) |
Set the InputComponent this view connects to. More... | |
std::shared_ptr< Input::InputComponent > | getInputComponent () const |
![]() | |
OsgView (const std::string &name) | |
Constructor. More... | |
~OsgView () | |
Destructor. | |
SURGSIM_CLASSNAME (SurgSim::Graphics::OsgView) | |
void | setPosition (const std::array< int, 2 > &position) override |
Set the position of this view. More... | |
std::array< int, 2 > | getPosition () const override |
Get the position of this view. More... | |
void | setDimensions (const std::array< int, 2 > &dimensions) override |
Set the dimensions of this view. More... | |
std::array< int, 2 > | getDimensions () const override |
Get the dimensions of this view. More... | |
void | setDimensionsDouble (const std::array< double, 2 > &dimensions) override |
Set the dimensions of this view in doubles. More... | |
std::array< double, 2 > | getDimensionsDouble () const override |
Get the dimensions of this view in doubles. More... | |
void | setWindowBorderEnabled (bool enabled) override |
Sets whether the view window has a border. More... | |
bool | isWindowBorderEnabled () const override |
Returns whether the view window has a border. More... | |
void | setCamera (std::shared_ptr< SurgSim::Framework::Component > camera) override |
Sets the camera which provides the viewpoint in the scene Only allows OsgCamera components, any other will not be set and it will return false. More... | |
void | enableManipulator (bool val) |
Enables a camera manipulator, implemented via a trackball, this is a temporary solution as it uses the OSG input events rather than reading from the OpenSurgSim input. More... | |
bool | isManipulatorEnabled () |
void | setManipulatorParameters (const SurgSim::Math::Vector3d &position, const SurgSim::Math::Vector3d &lookat) |
As the camera is not accessible from here and as it cannot be controlled from the outside any more we let the user set the parameters from here. More... | |
void | setManipulatorPosition (const SurgSim::Math::Vector3d &position) |
Set the camera manipulator position. More... | |
SurgSim::Math::Vector3d | getManipulatorPosition () |
void | setManipulatorLookAt (const SurgSim::Math::Vector3d &lookAt) |
Set the camera manipulator lookAt. More... | |
SurgSim::Math::Vector3d | getManipulatorLookAt () |
void | setOsgMapsUniforms (bool val) |
Enable osg modelview uniforms mapping, in this mode osg replaces the gl builtins with osg_* names, for uniforms and vertex attributes. More... | |
bool | getOsgMapsUniforms () |
std::shared_ptr< SurgSim::Input::CommonDevice > | getKeyboardDevice () |
Return the keyboard to be used with this view. More... | |
void | enableKeyboardDevice (bool val) |
Turn on/off the keyboard device to be used. More... | |
bool | isKeyboardDeviceEnabled () |
std::shared_ptr< SurgSim::Input::CommonDevice > | getMouseDevice () |
Return the mouse to be used with this view. More... | |
void | enableMouseDevice (bool val) |
Turn on/off the mouse device to be used. More... | |
bool | isMouseDeviceEnabled () |
void | update (double dt) override |
Updates the view. More... | |
osg::ref_ptr< osgViewer::View > | getOsgView () const |
![]() | |
View (const std::string &name) | |
Constructor. More... | |
std::shared_ptr< Camera > | getCamera () const |
Gets the camera which provides the viewpoint in the scene. More... | |
virtual bool | isStereo () const |
virtual void | setStereoMode (int val) |
Set the mode that this view should use for stereo display, see StereMode for all the modes. More... | |
int | getStereoMode () const |
void | setDisplayType (int type) |
Set the kind of display. More... | |
int | getDisplayType () const |
void | setFullScreen (bool val) |
Request the display to use the whole screen. More... | |
bool | isFullScreen () const |
void | setTargetScreen (int val) |
Request a certain screen to be used for this view. More... | |
int | getTargetScreen () const |
void | setEyeSeparation (double val) |
Set the distance between the users eyes, this is necessary to calculate the correct projection matrices for stereo rendering. More... | |
double | getEyeSeparation () const |
void | setScreenDistance (double val) |
Set the distance of the user from the screen, this is necessary to calculate the correct projection matrices for stereo rendering. More... | |
double | getScreenDistance () const |
void | setScreenWidth (double val) |
Set the width of the screen, this is necessary to calculate the correct projection matrices for stereo rendering. More... | |
double | getScreenWidth () const |
void | setScreenHeight (double val) |
Set the height of the screen, this is necessary to calculate the correct projection matrices for stereo rendering. More... | |
double | getScreenHeight () const |
![]() | |
Component (const std::string &name) | |
Constructor. More... | |
virtual | ~Component () |
Destructor. | |
std::string | getName () const |
Gets component name. More... | |
std::string | getFullName () const |
Gets a string containing the name of the Component and (if it has one) its SceneElement. More... | |
void | setName (const std::string &name) |
Sets the name of component. More... | |
boost::uuids::uuid | getUuid () const |
Gets the id of the component. | |
bool | isInitialized () const |
bool | initialize (const std::weak_ptr< Runtime > &runtime) |
Initialize this component, this needs to be called before wakeUp() can be called. More... | |
bool | isAwake () const |
bool | wakeUp () |
Wakeup this component, this will be called when the component is inserted into the ComponentManager that is responsible for handling this component. More... | |
void | retire () |
Retire this component, this will be called when the component is removed from the ComponentManager that is responsible for handling this component. More... | |
void | setScene (std::weak_ptr< Scene > scene) |
Sets the scene. More... | |
std::shared_ptr< Scene > | getScene () |
Gets the scene. More... | |
void | setSceneElement (std::weak_ptr< SceneElement > sceneElement) |
Sets the scene element. More... | |
std::shared_ptr< SceneElement > | getSceneElement () |
Gets the scene element. More... | |
std::shared_ptr< const SceneElement > | getSceneElement () const |
Gets the scene element, constant version. More... | |
std::shared_ptr< Runtime > | getRuntime () const |
Get the runtime which contains this component. More... | |
virtual std::string | getClassName () const |
The class name for this class, this being the base class it should return SurgSim::Framework::Component but this would make missing implemenentations of this hard to catch, therefore this calls SURGSIM_FAILURE. More... | |
std::shared_ptr< Component > | getSharedPtr () |
Gets a shared pointer to this component. More... | |
virtual void | doRetire () |
Interface to be implemented by derived classes Has a default implementation, does nothing. | |
bool | isActive () const |
virtual void | setLocalActive (bool val) |
Set the component's active state. More... | |
bool | isLocalActive () const |
![]() | |
Accessible () | |
Default Constructor. | |
~Accessible () | |
Destructor. | |
template<class T > | |
T | getValue (const std::string &name) const |
Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More... | |
boost::any | getValue (const std::string &name) const |
Retrieves the value with the name by executing the getter if it is found. More... | |
template<class T > | |
bool | getValue (const std::string &name, T *value) const |
Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More... | |
void | setValue (const std::string &name, const boost::any &value) |
Sets a value of a property that has setter. More... | |
bool | isReadable (const std::string &name) const |
Check whether a property is readable. More... | |
bool | isWriteable (const std::string &name) const |
Check whether a property is writable. More... | |
void | setGetter (const std::string &name, GetterType func) |
Sets a getter for a given property. More... | |
void | setSetter (const std::string &name, SetterType func) |
Sets a setter for a given property. More... | |
void | setAccessors (const std::string &name, GetterType getter, SetterType setter) |
Sets the accessors getter and setter in one function. More... | |
void | removeAccessors (const std::string &name) |
Removes all the accessors (getter and setter) for a given property. More... | |
void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty) |
Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More... | |
void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder) |
Sets the functions used to convert data from and to a YAML::Node. More... | |
void | setDecoder (const std::string &name, DecoderType decoder) |
Sets the functions used to convert data from a YAML::Node. More... | |
YAML::Node | encode () const |
Encode this Accessible to a YAML::Node. More... | |
void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >()) |
Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More... | |
std::vector< std::string > | getProperties () |
template<> | |
boost::any | getValue (const std::string &name) const |
Protected Member Functions | |
osg::ref_ptr< osg::DisplaySettings > | createDisplaySettings () const override |
![]() | |
bool | doInitialize () override |
Initialize the view. More... | |
bool | doWakeUp () override |
Wake up the view. | |
int | doSetTargetScreen (int val) override |
Determine Screen Size. | |
![]() | |
virtual std::shared_ptr< PoseComponent > | getPoseComponent () |
Get the PoseComponent for this component. More... | |
virtual std::shared_ptr< const PoseComponent > | getPoseComponent () const |
Get the PoseComponent for this component, constant access. More... | |
Additional Inherited Members | |
![]() | |
enum | StereoMode { STEREO_MODE_NONE = -1, STEREO_MODE_QUAD_BUFFER, STEREO_MODE_ANAGLYPHIC, STEREO_MODE_HORIZONTAL_SPLIT, STEREO_MODE_VERTICAL_SPLIT, STEREO_MODE_LEFT_EYE, STEREO_MODE_RIGHT_EYE, STEREO_MODE_HORIZONTAL_INTERLACE, STEREO_MODE_VERTICAL_INTERLACE, STEREO_MODE_CHECKERBOARD, STEREO_MODE_COUNT } |
enum | DisplayType { DISPLAY_TYPE_MONITOR, DISPLAY_TYPE_HMD, DISPLAY_TYPE_COUNT } |
![]() | |
typedef std::function< boost::any(void)> | GetterType |
typedef std::function< void(boost::any)> | SetterType |
typedef std::function< YAML::Node(void)> | EncoderType |
typedef std::function< void(const YAML::Node *)> | DecoderType |
![]() | |
typedef ObjectFactory1< Component, std::string > | FactoryType |
![]() | |
static FactoryType & | getFactory () |
OculusView is a customization of SurgSim::Graphics::OsgView with projection matrices pulled from the Oculus device.
|
explicit |
Constructor.
name | Name of the view |
|
overrideprotectedvirtual |
Reimplemented from SurgSim::Graphics::OsgView.
std::shared_ptr< Input::InputComponent > SurgSim::Devices::OculusView::getInputComponent | ( | ) | const |
void SurgSim::Devices::OculusView::setInputComponent | ( | std::shared_ptr< Framework::Component > | input | ) |
Set the InputComponent this view connects to.
Projection matrices of the Oculus device are passed via the DataGroup the InputComponent carries.
input | The InputComponent |