70 lines
3.1 KiB
C
70 lines
3.1 KiB
C
|
|
// Copyright HTC Corporation. All Rights Reserved.
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "CoreMinimal.h"
|
||
|
|
#include "Kismet/BlueprintFunctionLibrary.h"
|
||
|
|
#include "Modules/ModuleManager.h"
|
||
|
|
#include "ViveOpenXRSceneUnderstandingFunctionLibrary.generated.h"
|
||
|
|
|
||
|
|
DECLARE_LOG_CATEGORY_EXTERN(LogViveOpenXR, Log, All);
|
||
|
|
|
||
|
|
UENUM(BlueprintType, Category = "ViveOpenXR|OpenXR|SceneUnderstanding")
|
||
|
|
enum class EXrBoundType : uint8
|
||
|
|
{
|
||
|
|
None = 0 UMETA(Hidden),
|
||
|
|
Sphere = 1,
|
||
|
|
OrientedBox = 2,
|
||
|
|
Frustum = 3,
|
||
|
|
};
|
||
|
|
|
||
|
|
UENUM(BlueprintType, Category = "ViveOpenXR|OpenXR|SceneUnderstanding")
|
||
|
|
enum class EXrSceneComputeConsistency : uint8
|
||
|
|
{
|
||
|
|
None = 0 UMETA(Hidden),
|
||
|
|
SnapshotComplete = 1,
|
||
|
|
SnapshotIncompleteFast = 2,
|
||
|
|
OcclusionOptimized = 3,
|
||
|
|
};
|
||
|
|
|
||
|
|
UENUM(BlueprintType, Category = "ViveOpenXR|OpenXR|SceneUnderstanding")
|
||
|
|
enum class EXrMeshComputeLod : uint8
|
||
|
|
{
|
||
|
|
None = 0 UMETA(Hidden),
|
||
|
|
Coarse = 1,
|
||
|
|
Medium = 2,
|
||
|
|
Fine = 3,
|
||
|
|
Unlimited = 4,
|
||
|
|
};
|
||
|
|
|
||
|
|
UCLASS(ClassGroup = OpenXR)
|
||
|
|
class VIVEOPENXRSCENEUNDERSTANDING_API UViveOpenXRSceneUnderstandingFunctionLibrary : public UBlueprintFunctionLibrary
|
||
|
|
{
|
||
|
|
GENERATED_BODY()
|
||
|
|
|
||
|
|
public:
|
||
|
|
UFUNCTION(BlueprintPure, meta = (DisplayName = "Is Scene Understanding Enabled", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void GetIsSceneUnderstandingEnabled(bool& result);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Scene Compute Sphere Bound", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void SetSceneComputeSphereBound(FVector center, float radius);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Scene Compute Oriented Box Bound", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void SetSceneComputeOrientedBoxBound(FRotator rotator, FVector position, FVector extents);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Scene Compute Frustum Bound", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void SetSceneComputeFrustumBound(FRotator rotator, FVector position, float angleUp, float angleDown, float angleRight, float angleLeft, float farDistance);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Clear Scene Compute Bounds", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void ClearSceneComputeBounds(EXrBoundType type);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Scene Compute Consistency", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void SetSceneComputeConsistency(EXrSceneComputeConsistency consistency);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Mesh Compute Lod", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void SetMeshComputeLod(EXrMeshComputeLod lod);
|
||
|
|
|
||
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Enable Cosmos Pass Through", Keywords = "ViveOpenXR Scene Understanding"), Category = "ViveOpenXR|SceneUnderstanding")
|
||
|
|
static void OpenPassThroughEXE(FString path, FString param);
|
||
|
|
};
|