Open 3D Engine OpenXRVk Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
OpenXRVk::ReferenceSpacesManager Class Referencefinal

#include <OpenXRVkReferenceSpacesManager.h>

Inherits OpenXRReferenceSpacesInterface::Registrar.

Public Member Functions

 AZ_CLASS_ALLOCATOR (ReferenceSpacesManager, AZ::SystemAllocator)
 
bool Init (XrInstance xrInstance, XrSession xrSession, XrViewConfigurationType xrViewConfigurationType, uint32_t numEyeViews)
 
bool SyncViews (XrTime predictedDisplayTime)
 Called by the Session each tick.
 
void OnSessionReady ()
 
const AZStd::vector< XrView > & GetXrViews () const
 This is useful for the Swapchain system.
 
XrSpace GetViewSpaceXrSpace () const
 This is useful for the Swapchain system.
 
AZStd::vector< AZStd::string > GetReferenceSpaceNames () const override
 OpenXRReferenceSpacesInterface overrides.
 
AZ::Outcome< bool, AZStd::string > AddReferenceSpace (ReferenceSpaceId referenceSpaceType, const AZStd::string &spaceName, const AZ::Transform &poseInReferenceSpace) override
 
AZ::Outcome< bool, AZStd::string > RemoveReferenceSpace (const AZStd::string &spaceName) override
 
const void * GetReferenceSpaceNativeHandle (const AZStd::string &spaceName) const override
 
AZ::Outcome< AZ::Transform, AZStd::string > GetReferenceSpacePose (const AZStd::string &spaceName, const AZStd::string &baseSpaceName) const override
 
AZ::Outcome< bool, AZStd::string > SetBaseSpaceForViewSpacePose (const AZStd::string &spaceName) override
 
const AZStd::string & GetBaseSpaceForViewSpacePose () const override
 
const AZ::Transform & GetViewSpacePose () const override
 
uint32_t GetViewCount () const override
 
const AZ::Transform & GetViewPose (uint32_t eyeIndex) const override
 
const AZ::RPI::FovData & GetViewFovData (uint32_t eyeIndex) const override
 
const AZStd::vector< AZ::Transform > & GetViewPoses () const override
 
void ForceViewPosesCacheUpdate () override
 

Static Public Attributes

static constexpr char LogName [] = "OpenXRVkReferenceSpacesManager"
 

Detailed Description

Concrete implementation of OpenXRReferenceSpacesInterface. The OpenXRVk::Session class should own an instance of this class. Automatically instantiates the default system provided reference spaces as mandated by the OpenXR Spec: View, Local and Stage.

Member Function Documentation

◆ Init()

bool OpenXRVk::ReferenceSpacesManager::Init ( XrInstance  xrInstance,
XrSession  xrSession,
XrViewConfigurationType  xrViewConfigurationType,
uint32_t  numEyeViews 
)

Instantiates the OpenXR Guaranteed Reference Spaces: View, Local and Stage. And prepares all the internal data required to service the OpenXRReferenceSpacesInterface interface.

◆ OnSessionReady()

void OpenXRVk::ReferenceSpacesManager::OnSessionReady ( )

The Session calls this function when it receives the XR_SESSION_STATE_READY event.


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