Navigation
API > API/Plugins > API/Plugins/XRBase
Base utility class for implementations of the IXRTrackingSystem interface Contains helpers and default implementation of most abstract methods, so final implementations only need to override features that they support.
| Name | FXRTrackingSystemBase |
| Type | class |
| Header File | /Engine/Plugins/Runtime/XRBase/Source/XRBase/Public/XRTrackingSystemBase.h |
| Include Path | #include "XRTrackingSystemBase.h" |
Syntax
class FXRTrackingSystemBase : public IXRTrackingSystem
Implements Interfaces
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FXRTrackingSystemBase
(
IARSystemSupport* InARImplementation |
XRTrackingSystemBase.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FXRTrackingSystemBase() |
XRTrackingSystemBase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ARCompositionComponent | TSharedPtr< FARSupportInterface, ESPMode::ThreadSafe > | XRTrackingSystemBase.h |
Functions
Public
Overridden from IXRTrackingSystem
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CalibrateExternalTrackingSource
(
const FTransform& ExternalTrackingTransform |
Called to calibrate the offset transform between an external tracking source and the internal tracking source (e.g. mocap tracker to and HMD tracker). | XRTrackingSystemBase.h | |
virtual uint32 CountTrackedDevices
(
EXRTrackedDeviceType Type |
Get the count of tracked devices. | XRTrackingSystemBase.h | |
virtual bool DoesSupportPositionalTracking () |
Whether or not the system supports positional tracking (either via sensor or other means). | XRTrackingSystemBase.h | |
virtual TSharedPtr< FARSupportInterface, ESPMode::ThreadSafe > GetARCompositionComponent () |
XRTrackingSystemBase.h | ||
virtual const TSharedPtr< const FARSupportInterface, ESPMode::ThreadSafe > GetARCompositionComponent () |
XRTrackingSystemBase.h | ||
virtual bool GetCurrentInteractionProfile
(
const EControllerHand Hand, |
XRTrackingSystemBase.h | ||
virtual bool GetFloorToEyeTrackingTransform
(
FTransform& OutFloorToEye |
Returns a transform for converting from 'Floor' origin space to 'Eye' origin space. | XRTrackingSystemBase.h | |
virtual void GetHandTrackingState
(
UObject* WorldContext, |
XRTrackingSystemBase.h | ||
virtual IXRLoadingScreen * GetLoadingScreen() |
XRTrackingSystemBase.h | ||
virtual void GetMotionControllerState
(
UObject* WorldContext, |
XRTrackingSystemBase.h | ||
virtual bool GetRelativeEyePose
(
int32 DeviceId, |
XRTrackingSystemBase.h | ||
virtual FString GetTrackedDevicePropertySerialNumber
(
int32 DeviceId |
If the device id represents a tracking sensor, reports the serial number as a string if the device supports it. | XRTrackingSystemBase.h | |
virtual EXRTrackedDeviceType GetTrackedDeviceType
(
int32 DeviceId |
If the device id represents a tracking sensor, reports the device type. | XRTrackingSystemBase.h | |
virtual EHMDTrackingOrigin::Type GetTrackingOrigin () |
Returns current tracking origin. | XRTrackingSystemBase.h | |
virtual bool GetTrackingSensorProperties
(
int32 DeviceId, |
If the device id represents a tracking sensor, reports the frustum properties in game-world space of the sensor. | XRTrackingSystemBase.h | |
virtual FTransform GetTrackingToWorldTransform() |
Returns the system's latest known tracking-to-world transform. | XRTrackingSystemBase.h | |
virtual FString GetVersionString() |
Returns version string. | XRTrackingSystemBase.h | |
virtual TSharedPtr< class IXRCamera, ESPMode::ThreadSafe > GetXRCamera
(
int32 DeviceId |
Get the IXCamera instance for the given device. | XRTrackingSystemBase.h | |
virtual bool HasValidTrackingPosition () |
If the system currently has valid tracking positions. | XRTrackingSystemBase.h | |
virtual bool IsTracking
(
int32 DeviceId |
Check current tracking status of a device. | XRTrackingSystemBase.h | |
virtual void SetTrackingOrigin
(
EHMDTrackingOrigin::Type NewOrigin |
Sets tracking origin (either Local, LocalFloor, or Stage. CustomOpenXR origins are handled automatically, View tracking origins are not allowed.). | XRTrackingSystemBase.h | |
virtual void UpdateExternalTrackingPosition
(
const FTransform& ExternalTrackingTransform |
Called after calibration to attempt to pull the internal tracker (e.g. HMD tracking) in line with the external tracker (e.g. mocap tracker). | XRTrackingSystemBase.h | |
virtual void UpdateTrackingToWorldTransform
(
const FTransform& TrackingToWorldOverride |
Refreshes the system's known tracking-to-world transform. | XRTrackingSystemBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTransform ComputeTrackingToWorldTransform
(
FWorldContext& WorldContext |
XRTrackingSystemBase.h | ||
virtual IXRLoadingScreen * CreateLoadingScreen () |
Override this method if you need to customize the IXRLoadingScreen implementation. | XRTrackingSystemBase.h | |
virtual void OnInteractionProfileChanged() |
Meant to be called by sub-classes whenever the interaction profile is altered. | XRTrackingSystemBase.h | |
virtual void OnPlayAreaChanged() |
XRTrackingSystemBase.h | ||
virtual void OnTrackingOriginChanged() |
Meant to be called by sub-classes whenever the tracking origin is altered. | XRTrackingSystemBase.h | |
FTransform RefreshTrackingToWorldTransform
(
FWorldContext& WorldContext |
Computes the project's tracking-to-world transform based off how the user has set up their camera system (assumes the camera is parented to the XR origin, and in turn uses that transform). | XRTrackingSystemBase.h |