40 lines
1.6 KiB
C++

// Copyright (c) Meta Platforms, Inc. and affiliates.
#pragma once
#include "OculusXRMovementTypes.h"
class OCULUSXRMOVEMENT_API IOculusXRMovementFunctions
{
public:
virtual bool GetBodyState(FOculusXRBodyState& outOculusXRBodyState, float WorldToMeters) = 0;
virtual bool IsBodyTrackingEnabled() = 0;
virtual bool IsBodyTrackingSupported() = 0;
virtual bool StartBodyTracking() = 0;
virtual bool StopBodyTracking() = 0;
virtual bool StartBodyTrackingByJointSet(EOculusXRBodyJointSet jointSet) = 0;
virtual bool RequestBodyTrackingFidelity(EOculusXRBodyTrackingFidelity fidelity) = 0;
virtual bool ResetBodyTrackingCalibration() = 0;
virtual bool SuggestBodyTrackingCalibrationOverride(float height) = 0;
virtual bool GetBodySkeleton(FOculusXRBodySkeleton& outOculusXRBodyState, float WorldToMeters) = 0;
virtual bool GetFaceState(FOculusXRFaceState& outOculusXRFaceState) = 0;
virtual bool IsFaceTrackingEnabled() = 0;
virtual bool IsFaceTrackingSupported() = 0;
virtual bool StartFaceTracking() = 0;
virtual bool StopFaceTracking() = 0;
virtual bool SetFaceTrackingVisemesEnabled(bool enabled) = 0;
virtual bool GetFaceVisemesState(FOculusXRFaceVisemesState& outOculusXRFaceVisemesState) = 0;
virtual bool IsFaceTrackingVisemesEnabled() = 0;
virtual bool IsFaceTrackingVisemesSupported() = 0;
virtual bool GetEyeGazesState(FOculusXREyeGazesState& outOculusXREyeGazesState, float WorldToMeters) = 0;
virtual bool IsEyeTrackingEnabled() = 0;
virtual bool IsEyeTrackingSupported() = 0;
virtual bool StartEyeTracking() = 0;
virtual bool StopEyeTracking() = 0;
virtual bool IsFullBodyTrackingEnabled() = 0;
};