Files
UnrealEngine/Engine/Source/Runtime/EyeTracker/Private/EyeTrackerFunctionLibrary.cpp
2025-05-18 13:04:45 +08:00

65 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "EyeTrackerFunctionLibrary.h"
#include "Engine/Engine.h"
#include "IEyeTracker.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(EyeTrackerFunctionLibrary)
bool UEyeTrackerFunctionLibrary::IsEyeTrackerConnected()
{
IEyeTracker const* const ET = GEngine ? GEngine->EyeTrackingDevice.Get() : nullptr;
if (ET)
{
EEyeTrackerStatus const Status = ET->GetEyeTrackerStatus();
return (Status != EEyeTrackerStatus::NotConnected);
}
return false;
}
bool UEyeTrackerFunctionLibrary::IsStereoGazeDataAvailable()
{
IEyeTracker const* const ET = GEngine ? GEngine->EyeTrackingDevice.Get() : nullptr;
if (ET)
{
return ET->IsStereoGazeDataAvailable();
}
return false;
}
bool UEyeTrackerFunctionLibrary::GetGazeData(FEyeTrackerGazeData& OutGazeData)
{
IEyeTracker const* const ET = GEngine ? GEngine->EyeTrackingDevice.Get() : nullptr;
if (ET)
{
return ET->GetEyeTrackerGazeData(OutGazeData);
}
OutGazeData = FEyeTrackerGazeData();
return false;
}
bool UEyeTrackerFunctionLibrary::GetStereoGazeData(FEyeTrackerStereoGazeData& OutGazeData)
{
IEyeTracker const* const ET = GEngine ? GEngine->EyeTrackingDevice.Get() : nullptr;
if (ET)
{
return ET->GetEyeTrackerStereoGazeData(OutGazeData);
}
OutGazeData = FEyeTrackerStereoGazeData();
return false;
}
void UEyeTrackerFunctionLibrary::SetEyeTrackedPlayer(APlayerController* PlayerController)
{
IEyeTracker* const ET = GEngine ? GEngine->EyeTrackingDevice.Get() : nullptr;
if (ET)
{
ET->SetEyeTrackedPlayer(PlayerController);
}
}