OpenFrames
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
OpenFrames::OpenVRTrackball Class Reference

This class extends FollowingTrackball to include the OpenVR HMD transform. More...

#include <OpenVRDevice.hpp>

Inheritance diagram for OpenFrames::OpenVRTrackball:
OpenFrames::FollowingTrackball

Classes

class  MotionData
 Data used when computing world transformations during user events. More...
 

Public Types

enum  OneButtonMode { ONEBUTTON_TRANSLATE, ONEBUTTON_ROTATE, ONEBUTTON_DISABLE }
 
enum  TwoButtonMode { TWOBUTTON_ROTATESCALE, TWOBUTTON_DISABLE }
 

Public Member Functions

 OpenVRTrackball (OpenVRDevice *ovrDevice)
 
virtual const char * className () const
 
virtual osg::Matrixd getMatrix () const
 
virtual osg::Matrixd getInverseMatrix () const
 
const osg::Matrixd & getRoomToTrackballMatrix () const
 
void setRoomToTrackballMatrix (const osg::Matrixd &roomPose)
 
double getDefaultWorldUnitsPerMeterRatio () const
 
void setDefaultWorldUnitsPerMeterRatio (const double &wum)
 
void setOneButtonMode (OneButtonMode mode)
 
OneButtonMode getOneButtonMode () const
 
void setTwoButtonMode (TwoButtonMode mode)
 
TwoButtonMode getTwoButtonMode () const
 
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
- Public Member Functions inherited from OpenFrames::FollowingTrackball
void setTransformSources (TransformAccumulator *xform, TransformAccumulator *xform_lookat, View::ViewFrameType frameType, View::ViewRotationType rotationType)
 

Protected Types

enum  MotionMode { NONE = 0, ONEBUTTON, TWOBUTTON }
 

Protected Member Functions

void processMotion ()
 
void processOneButtonMotion ()
 
void processTwoButtonMotion ()
 
virtual void saveState ()
 
virtual void restoreState ()
 
virtual void resetState ()
 
void saveCurrentMotionData ()
 
- Protected Member Functions inherited from OpenFrames::FollowingTrackball
void computeWorldToViewMatrix (osg::Matrixd &matrix) const
 

Protected Attributes

osg::observer_ptr< OpenVRDevice_ovrDevice
 
osg::Matrixd _roomPose
 
osg::Matrixd _savedRoomPose
 
double _savedWorldUnitsPerMeter
 
double _defaultWorldUnitsPerMeter
 
MotionMode _motionMode
 
OneButtonMode _oneButtonMode
 
TwoButtonMode _twoButtonMode
 
struct OpenFrames::OpenVRTrackball::MotionData _motionData
 
- Protected Attributes inherited from OpenFrames::FollowingTrackball
osg::observer_ptr< TransformAccumulator_xform
 
osg::observer_ptr< TransformAccumulator_xform_lookat
 
View::ViewFrameType _frameType
 
View::ViewRotationType _rotationType
 

Detailed Description

This class extends FollowingTrackball to include the OpenVR HMD transform.

This class extends FollowingTrackball to include the OpenVR HMD transform, resulting in the World->Head transform. That can be combined with the Head->Eye transform to create the per-eye view matrices.

Member Enumeration Documentation

◆ MotionMode

Type of user motion when one or two buttons are pressed


The documentation for this class was generated from the following file: