VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes | Private Member Functions
makVrv::DtVirtualRealityProvider Class Referenceabstract

An abstract interface that provides VR System API services. More...

Inheritance diagram for makVrv::DtVirtualRealityProvider:
Inheritance graph
[legend]

Public Member Functions

 DtVirtualRealityProvider (DtDe &de)
 CTOR. More...
 
virtual ~DtVirtualRealityProvider ()
 DTOR. More...
 
virtual DtSubmitOverlayCallbackcreateOverlayCallback (osg::Texture2D *tex, DtDe &de, DtVirtualRealityDriver &driver)=0
 create a system specific overlay callback More...
 
virtual DtSubmitViewCallbackcreateViewCallback (DtVirtualRealityPostProcessor &pp, DtVirtualRealityDriver &driver, vrvVirtualReality::DtEye eye)=0
 create a system specific view callback More...
 
virtual const std::string & providerName ()=0
 get the name of this VR System provider More...
 
virtual const std::string & deviceName ()=0
 some systems can support multiple devices. Get the name of the attached device More...
 
virtual bool initializeVR ()=0
 initialize the VR subsystem More...
 
virtual bool hasFocusViews ()=0
 does this headset support focus views More...
 
virtual bool useVrs ()=0
 should we use variable rate shading More...
 
virtual
DtVariableRateShadingImageUpdater
findVrsUpdater (DtVirtualRealityChannel *channel)=0
 return a vrs updater allocating it if needed More...
 
virtual void getRecommendedRenderTargetSize (int &width, int &height, vrvVirtualReality::DtEye whichEye)=0
 get recommended VR target size More...
 
virtual void getProjectionAngles (vrvVirtualReality::DtEye eye, double &left, double &right, double &bottom, double &top, double znear, double zfar)=0
 get recommended projection frustum angles in degrees. Znear and zFar are passed in More...
 
virtual osg::Matrixd getEyeToHeadTransform (vrvVirtualReality::DtEye eye)=0
 get the head to eye transform More...
 
virtual void tick ()=0
 update the VR system More...
 
virtual bool getHmdPose (DtVector &pos, DtQuat &ori)=0
 get the HMD pose More...
 
virtual bool getTrackedPose (DtVector &pos, DtQuat &ori, int index)=0
 get the pose of a tracked item More...
 
virtual bool reset ()=0
 reset the HMD More...
 
virtual bool shutdown ()=0
 shutdown the VR subsystem More...
 
virtual bool hasTrackedCamera ()=0
 check if there is a tracked camera More...
 
virtual DtTrackedCamerafindTrackedCamera ()=0
 get the tracked camera of the VR system. More...
 
virtual DtMixedRealityMaskfindMixedRealityMask ()=0
 return the mixed reality mask object allocating one if not already allocated will return zero for providers that don't support mixed reality More...
 

Protected Attributes

DtDemyDe
 
DtTrackedCameramyTrackedCamera
 
DtMixedRealityMaskmyMixedRealityMask
 

Private Member Functions

 DtVirtualRealityProvider (const DtVirtualRealityProvider &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtVirtualRealityProvideroperator= (const DtVirtualRealityProvider &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

An abstract interface that provides VR System API services.

Providers are created and provided to the DtVirtualRealityDriver for use. Derived classes will have a static isVrSupported() function that can be used to know if the right equipment and software are present for use.

Constructor & Destructor Documentation

makVrv::DtVirtualRealityProvider::DtVirtualRealityProvider ( const DtVirtualRealityProvider other)
private

Copy Constructor not implemented – Copy Not Allowed.

makVrv::DtVirtualRealityProvider::DtVirtualRealityProvider ( DtDe de)

CTOR.

virtual makVrv::DtVirtualRealityProvider::~DtVirtualRealityProvider ( )
virtual

DTOR.

Member Function Documentation

DtVirtualRealityProvider& makVrv::DtVirtualRealityProvider::operator= ( const DtVirtualRealityProvider other)
private

Assignment Operator Not implemented – Assignment Not Allowed.

virtual DtSubmitOverlayCallback* makVrv::DtVirtualRealityProvider::createOverlayCallback ( osg::Texture2D *  tex,
DtDe de,
DtVirtualRealityDriver driver 
)
pure virtual

create a system specific overlay callback

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtSubmitViewCallback* makVrv::DtVirtualRealityProvider::createViewCallback ( DtVirtualRealityPostProcessor pp,
DtVirtualRealityDriver driver,
vrvVirtualReality::DtEye  eye 
)
pure virtual

create a system specific view callback

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual const std::string& makVrv::DtVirtualRealityProvider::providerName ( )
pure virtual

get the name of this VR System provider

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual const std::string& makVrv::DtVirtualRealityProvider::deviceName ( )
pure virtual

some systems can support multiple devices. Get the name of the attached device

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::initializeVR ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasFocusViews ( )
pure virtual

does this headset support focus views

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::useVrs ( )
pure virtual

should we use variable rate shading

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtVariableRateShadingImageUpdater* makVrv::DtVirtualRealityProvider::findVrsUpdater ( DtVirtualRealityChannel channel)
pure virtual

return a vrs updater allocating it if needed

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual void makVrv::DtVirtualRealityProvider::getRecommendedRenderTargetSize ( int width,
int height,
vrvVirtualReality::DtEye  whichEye 
)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::getProjectionAngles ( vrvVirtualReality::DtEye  eye,
double left,
double right,
double bottom,
double top,
double  znear,
double  zfar 
)
pure virtual

get recommended projection frustum angles in degrees. Znear and zFar are passed in

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual osg::Matrixd makVrv::DtVirtualRealityProvider::getEyeToHeadTransform ( vrvVirtualReality::DtEye  eye)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::tick ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::getHmdPose ( DtVector pos,
DtQuat ori 
)
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::getTrackedPose ( DtVector pos,
DtQuat ori,
int  index 
)
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::reset ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::shutdown ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasTrackedCamera ( )
pure virtual
virtual DtTrackedCamera* makVrv::DtVirtualRealityProvider::findTrackedCamera ( )
pure virtual

get the tracked camera of the VR system.

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtMixedRealityMask* makVrv::DtVirtualRealityProvider::findMixedRealityMask ( )
pure virtual

return the mixed reality mask object allocating one if not already allocated will return zero for providers that don't support mixed reality

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

Member Data Documentation

DtDe& makVrv::DtVirtualRealityProvider::myDe
protected
DtTrackedCamera* makVrv::DtVirtualRealityProvider::myTrackedCamera
protected
DtMixedRealityMask* makVrv::DtVirtualRealityProvider::myMixedRealityMask
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)