Extended Reality (XR) Session interface. More...
#include <Aspect_XRSession.hxx>

Public Types | |
| enum | TrackingUniverseOrigin { TrackingUniverseOrigin_Seated , TrackingUniverseOrigin_Standing } |
| Identifies which style of tracking origin the application wants to use for the poses it is requesting. More... | |
| enum | InfoString { InfoString_Vendor , InfoString_Device , InfoString_Tracker , InfoString_SerialNumber } |
| Info string enumeration. More... | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
Public Member Functions | |
| virtual bool | IsOpen () const =0 |
| Return TRUE if session is opened. | |
| virtual bool | Open ()=0 |
| Initialize session. | |
| virtual void | Close ()=0 |
| Release session. | |
| virtual bool | WaitPoses ()=0 |
| Fetch actual poses of tracked devices. | |
| virtual NCollection_Vec2< int > | RecommendedViewport () const =0 |
| Return recommended viewport Width x Height for rendering into VR. | |
| virtual NCollection_Mat4< double > | EyeToHeadTransform (Aspect_Eye theEye) const =0 |
| Return transformation from eye to head. | |
| NCollection_Mat4< double > | HeadToEyeTransform (Aspect_Eye theEye) const |
| Return transformation from head to eye. | |
| virtual NCollection_Mat4< double > | ProjectionMatrix (Aspect_Eye theEye, double theZNear, double theZFar) const =0 |
| Return projection matrix. | |
| virtual bool | HasProjectionFrustums () const =0 |
| Return FALSE if projection frustums are unsupported and general 4x4 projection matrix should be fetched instead. | |
| virtual void | ProcessEvents ()=0 |
| Receive XR events. | |
| virtual bool | SubmitEye (void *theTexture, Aspect_GraphicsLibrary theGraphicsLib, Aspect_ColorSpace theColorSpace, Aspect_Eye theEye)=0 |
| Submit texture eye to XR Composer. | |
| Standard_Real | UnitFactor () const |
| Return unit scale factor defined as scale factor for m (meters); 1.0 by default. | |
| void | SetUnitFactor (Standard_Real theFactor) |
| Set unit scale factor. | |
| Standard_Real | Aspect () const |
| Return aspect ratio. | |
| Standard_Real | FieldOfView () const |
| Return field of view. | |
| Standard_Real | IOD () const |
| Return Intra-ocular Distance (IOD); also known as Interpupillary Distance (IPD). Defined in meters by default (. | |
| Standard_ShortReal | DisplayFrequency () const |
| Return display frequency or 0 if unknown. | |
| const Aspect_FrustumLRBT< double > & | ProjectionFrustum (Aspect_Eye theEye) const |
| Return projection frustum. | |
| const gp_Trsf & | HeadPose () const |
| Return head orientation in right-handed system: +y is up +x is to the right -z is forward Distance unit is meters by default (. | |
| gp_Trsf | LeftHandPose () const |
| Return left hand orientation. | |
| gp_Trsf | RightHandPose () const |
| Return right hand orientation. | |
| const Aspect_TrackedDevicePoseArray & | TrackedPoses () const |
| Return number of tracked poses array. | |
| bool | HasTrackedPose (Standard_Integer theDevice) const |
| Return TRUE if device orientation is defined. | |
| virtual Standard_Integer | NamedTrackedDevice (Aspect_XRTrackedDeviceRole theDevice) const =0 |
| Return index of tracked device of known role, or -1 if undefined. | |
| Handle< Graphic3d_ArrayOfTriangles > | LoadRenderModel (Standard_Integer theDevice, Handle< Image_Texture > &theTexture) |
| Load model for displaying device. | |
| Handle< Graphic3d_ArrayOfTriangles > | LoadRenderModel (Standard_Integer theDevice, Standard_Boolean theToApplyUnitFactor, Handle< Image_Texture > &theTexture) |
| Load model for displaying device. | |
| virtual Aspect_XRDigitalActionData | GetDigitalActionData (const Handle< Aspect_XRAction > &theAction) const =0 |
| Fetch data for digital input action (like button). | |
| virtual Aspect_XRAnalogActionData | GetAnalogActionData (const Handle< Aspect_XRAction > &theAction) const =0 |
| Fetch data for digital input action (like axis). | |
| virtual Aspect_XRPoseActionData | GetPoseActionDataForNextFrame (const Handle< Aspect_XRAction > &theAction) const =0 |
| Fetch data for pose input action (like fingertip position). The returned values will match the values returned by the last call to WaitPoses(). | |
| void | TriggerHapticVibrationAction (const Handle< Aspect_XRAction > &theAction, const Aspect_XRHapticActionData &theParams) |
| Trigger vibration. | |
| void | AbortHapticVibrationAction (const Handle< Aspect_XRAction > &theAction) |
| Abort vibration. | |
| TrackingUniverseOrigin | TrackingOrigin () const |
| Return tracking origin. | |
| virtual void | SetTrackingOrigin (TrackingUniverseOrigin theOrigin) |
| Set tracking origin. | |
| const Handle< Aspect_XRAction > & | GenericAction (Aspect_XRTrackedDeviceRole theDevice, Aspect_XRGenericAction theAction) const |
| Return generic action for specific hand or NULL if undefined. | |
| virtual TCollection_AsciiString | GetString (InfoString theInfo) const =0 |
| Query information. | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. | |
| virtual | ~Standard_Transient () |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| Standard_Transient * | This () const |
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
| Standard_Integer | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. | |
| Standard_Integer | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. | |
Protected Member Functions | |
| Aspect_XRSession () | |
| Empty constructor. | |
| virtual Handle< Graphic3d_ArrayOfTriangles > | loadRenderModel (Standard_Integer theDevice, Standard_Boolean theToApplyUnitFactor, Handle< Image_Texture > &theTexture)=0 |
| Load model for displaying device. | |
| virtual void | triggerHapticVibrationAction (const Handle< Aspect_XRAction > &theAction, const Aspect_XRHapticActionData &theParams)=0 |
| Trigger vibration. | |
Protected Attributes | |
| NCollection_Array1< Handle< Aspect_XRAction > > | myRoleActions [Aspect_XRTrackedDeviceRole_NB] |
| generic actions | |
| Aspect_XRActionSetMap | myActionSets |
| actions sets | |
| TrackingUniverseOrigin | myTrackOrigin |
| tracking origin | |
| Aspect_TrackedDevicePoseArray | myTrackedPoses |
| array of tracked poses | |
| gp_Trsf | myHeadPose |
| head orientation | |
| NCollection_Vec2< int > | myRendSize |
| viewport Width x Height for rendering into VR | |
| Aspect_FrustumLRBT< double > | myFrustumL |
| left eye projection frustum | |
| Aspect_FrustumLRBT< double > | myFrustumR |
| right eye projection frustum | |
| Standard_Real | myUnitFactor |
| unit scale factor defined as scale factor for m (meters) | |
| Standard_Real | myAspect |
| aspect ratio | |
| Standard_Real | myFieldOfView |
| field of view | |
| Standard_Real | myIod |
| intra-ocular distance in meters | |
| Standard_ShortReal | myDispFreq |
| display frequency | |
Additional Inherited Members | |
| static constexpr const char * | get_type_name () |
| Returns a type descriptor about this object. | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
| Returns type descriptor of Standard_Transient class. | |
Extended Reality (XR) Session interface.
|
protected |
Empty constructor.
| void Aspect_XRSession::AbortHapticVibrationAction | ( | const Handle< Aspect_XRAction > & | theAction | ) |
Abort vibration.
|
inline |
Return aspect ratio.
|
pure virtual |
Release session.
Implemented in Aspect_OpenVRSession.
|
inline |
Return display frequency or 0 if unknown.
|
pure virtual |
Return transformation from eye to head.
Implemented in Aspect_OpenVRSession.
|
inline |
Return field of view.
|
inline |
Return generic action for specific hand or NULL if undefined.
|
pure virtual |
Fetch data for digital input action (like axis).
| [in] | theAction | action of Aspect_XRActionType_InputAnalog type |
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Fetch data for digital input action (like button).
| [in] | theAction | action of Aspect_XRActionType_InputDigital type |
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Fetch data for pose input action (like fingertip position). The returned values will match the values returned by the last call to WaitPoses().
| [in] | theAction | action of Aspect_XRActionType_InputPose type |
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Query information.
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Return FALSE if projection frustums are unsupported and general 4x4 projection matrix should be fetched instead.
Implemented in Aspect_OpenVRSession.
|
inline |
Return TRUE if device orientation is defined.
|
inline |
Return head orientation in right-handed system: +y is up +x is to the right -z is forward Distance unit is meters by default (.
|
inline |
Return transformation from head to eye.
|
inline |
Return Intra-ocular Distance (IOD); also known as Interpupillary Distance (IPD). Defined in meters by default (.
|
pure virtual |
Return TRUE if session is opened.
Implemented in Aspect_OpenVRSession.
|
inline |
Return left hand orientation.
|
inline |
Load model for displaying device.
| [in] | theDevice | device index |
| [out] | theTexture | texture source |
|
inline |
Load model for displaying device.
| [in] | theDevice | device index |
| [in] | theToApplyUnitFactor | flag to apply unit scale factor |
| [out] | theTexture | texture source |
|
protectedpure virtual |
Load model for displaying device.
| [in] | theDevice | device index |
| [in] | theToApplyUnitFactor | flag to apply unit scale factor |
| [out] | theTexture | texture source |
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Return index of tracked device of known role, or -1 if undefined.
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Initialize session.
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Receive XR events.
Implemented in Aspect_OpenVRSession.
|
inline |
Return projection frustum.
|
pure virtual |
Return projection matrix.
Implemented in Aspect_OpenVRSession.
|
pure virtual |
Return recommended viewport Width x Height for rendering into VR.
Implemented in Aspect_OpenVRSession.
|
inline |
Return right hand orientation.
|
inlinevirtual |
Set tracking origin.
Reimplemented in Aspect_OpenVRSession.
|
inline |
Set unit scale factor.
|
pure virtual |
Submit texture eye to XR Composer.
| [in] | theTexture | texture handle |
| [in] | theGraphicsLib | graphics library in which texture handle is defined |
| [in] | theColorSpace | texture color space; sRGB means no color conversion by composer; Linear means to sRGB color conversion by composer |
| [in] | theEye | eye to display |
Implemented in Aspect_OpenVRSession.
|
inline |
Return number of tracked poses array.
|
inline |
Return tracking origin.
| void Aspect_XRSession::TriggerHapticVibrationAction | ( | const Handle< Aspect_XRAction > & | theAction, |
| const Aspect_XRHapticActionData & | theParams ) |
Trigger vibration.
|
protectedpure virtual |
Trigger vibration.
Implemented in Aspect_OpenVRSession.
|
inline |
Return unit scale factor defined as scale factor for m (meters); 1.0 by default.
|
pure virtual |
Fetch actual poses of tracked devices.
Implemented in Aspect_OpenVRSession.
|
protected |
actions sets
|
protected |
aspect ratio
|
protected |
display frequency
|
protected |
field of view
|
protected |
left eye projection frustum
|
protected |
right eye projection frustum
|
protected |
head orientation
|
protected |
intra-ocular distance in meters
|
protected |
viewport Width x Height for rendering into VR
|
protected |
generic actions
|
protected |
array of tracked poses
|
protected |
tracking origin
|
protected |
unit scale factor defined as scale factor for m (meters)