Giant_Beast_2025/Plugins/MetaXR/Source/OculusXRHMD/Private/OculusXRFunctionLibraryOVR.h

75 lines
5.2 KiB
C++

// Copyright (c) Meta Platforms, Inc. and affiliates.
#pragma once
#include "OculusXRFunctionLibrary.h"
namespace OculusXRHMD
{
class FOculusXRFunctionLibraryOVR : public IOculusXRFunctionLibrary
{
public:
virtual void GetPose(FRotator& DeviceRotation, FVector& DevicePosition, FVector& NeckPosition) override;
virtual void SetBaseRotationAndBaseOffsetInMeters(FRotator Rotation, FVector BaseOffsetInMeters, EOrientPositionSelector::Type Options) override;
virtual void GetBaseRotationAndBaseOffsetInMeters(FRotator& OutRotation, FVector& OutBaseOffsetInMeters) override;
virtual void GetRawSensorData(FVector& AngularAcceleration, FVector& LinearAcceleration, FVector& AngularVelocity, FVector& LinearVelocity, float& TimeInSeconds, EOculusXRTrackedDeviceType DeviceType) override;
virtual bool IsDeviceTracked(EOculusXRTrackedDeviceType DeviceType) override;
virtual void GetSuggestedCpuAndGpuPerformanceLevels(EOculusXRProcessorPerformanceLevel& CpuPerfLevel, EOculusXRProcessorPerformanceLevel& GpuPerfLevel) override;
virtual void SetSuggestedCpuAndGpuPerformanceLevels(EOculusXRProcessorPerformanceLevel CpuPerfLevel, EOculusXRProcessorPerformanceLevel GpuPerfLevel) override;
virtual bool GetUserProfile(FOculusXRHmdUserProfile& Profile) override;
virtual void SetBaseRotationAndPositionOffset(FRotator BaseRot, FVector PosOffset, EOrientPositionSelector::Type Options) override;
virtual void GetBaseRotationAndPositionOffset(FRotator& OutRot, FVector& OutPosOffset) override;
virtual void AddLoadingSplashScreen(class UTexture2D* Texture, FVector TranslationInMeters, FRotator Rotation, FVector2D SizeInMeters, FRotator DeltaRotation, bool bClearBeforeAdd) override;
virtual void ClearLoadingSplashScreens() override;
virtual bool HasInputFocus() override;
virtual bool HasSystemOverlayPresent() override;
virtual void GetGPUUtilization(bool& IsGPUAvailable, float& GPUUtilization) override;
virtual float GetGPUFrameTime() override;
virtual void GetPerformanceMetrics(FOculusXRPerformanceMetrics& PerformanceMetrics) override;
virtual EOculusXRFoveatedRenderingMethod GetFoveatedRenderingMethod() override;
virtual void SetFoveatedRenderingMethod(EOculusXRFoveatedRenderingMethod Method) override;
virtual void SetFoveatedRenderingLevel(EOculusXRFoveatedRenderingLevel level, bool isDynamic) override;
virtual EOculusXRFoveatedRenderingLevel GetFoveatedRenderingLevel() override;
virtual bool GetEyeTrackedFoveatedRenderingSupported() override;
virtual FString GetDeviceName() override;
virtual EOculusXRDeviceType GetDeviceType() override;
virtual EOculusXRControllerType GetControllerType(EControllerHand deviceHand) override;
virtual TArray<float> GetAvailableDisplayFrequencies() override;
virtual float GetCurrentDisplayFrequency() override;
virtual void SetDisplayFrequency(float RequestedFrequency) override;
virtual void EnablePositionTracking(bool bPositionTracking) override;
virtual void EnableOrientationTracking(bool bOrientationTracking) override;
virtual void SetColorScaleAndOffset(FLinearColor ColorScale, FLinearColor ColorOffset, bool bApplyToAllLayers) override;
virtual class IStereoLayers* GetStereoLayers() override;
virtual bool IsGuardianConfigured() override;
virtual bool IsGuardianDisplayed() override;
virtual TArray<FVector> GetGuardianPoints(EOculusXRBoundaryType BoundaryType, bool UsePawnSpace /* = false */) override;
virtual FVector GetGuardianDimensions(EOculusXRBoundaryType BoundaryType) override;
virtual FTransform GetPlayAreaTransform() override;
virtual FOculusXRGuardianTestResult GetPointGuardianIntersection(const FVector Point, EOculusXRBoundaryType BoundaryType) override;
virtual FOculusXRGuardianTestResult GetNodeGuardianIntersection(EOculusXRTrackedDeviceType DeviceType, EOculusXRBoundaryType BoundaryType) override;
virtual void SetGuardianVisibility(bool GuardianVisible) override;
virtual bool GetSystemHmd3DofModeEnabled() override;
virtual EOculusXRColorSpace GetHmdColorDesc() override;
virtual void SetClientColorDesc(EOculusXRColorSpace ColorSpace) override;
virtual void SetLocalDimmingOn(bool LocalDimmingOn) override;
virtual bool IsPassthroughSupported() override;
virtual bool IsColorPassthroughSupported() override;
virtual void StartEnvironmentDepth() override;
virtual void StopEnvironmentDepth() override;
virtual bool IsEnvironmentDepthStarted() override;
virtual void SetEnvironmentDepthHandRemoval(bool RemoveHands) override;
virtual void SetXROcclusionsMode(UObject* WorldContextObject, EOculusXROcclusionsMode Mode) override;
virtual void SetEyeBufferSharpenType(EOculusXREyeBufferSharpenType EyeBufferSharpenType) override;
virtual bool IsPassthroughRecommended() override;
virtual void GetOpenXRInstanceProcAddrFunc(void** Func) override;
virtual void GetNativeOpenXRHandles(uint64_t* OutXrInstance, uint64_t* OutXrSession) override;
virtual void GetAppSpace(uint64_t* OutAppSpace) override;
virtual void GetNextPredictedDisplayTime(uint64_t* NextPredictedDisplayTime) override;
virtual void RegisterOpenXrEventHandler(void (*OpenXrEventHandler)(void* data, void* context), void* Context) override;
virtual void UnregisterOpenXrEventHandler(void (*OpenXrEventHandler)(void* data, void* context)) override;
};
} // namespace OculusXRHMD