33 lines
1.6 KiB
C++
33 lines
1.6 KiB
C++
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
|
|
#pragma once
|
|
|
|
#include "OculusXRSceneFunctions.h"
|
|
#include "OculusXRAnchorTypes.h"
|
|
#include "OculusXRSceneTypes.h"
|
|
|
|
namespace OculusXRScene
|
|
{
|
|
struct OCULUSXRSCENE_API FOculusXRScene
|
|
{
|
|
static EOculusXRAnchorResult::Type GetScenePlane(uint64 AnchorHandle, FVector& OutPos, FVector& OutSize);
|
|
static EOculusXRAnchorResult::Type GetSceneVolume(uint64 AnchorHandle, FVector& OutPos, FVector& OutSize);
|
|
static EOculusXRAnchorResult::Type GetSemanticClassification(uint64 AnchorHandle, TArray<FString>& OutSemanticClassifications);
|
|
static EOculusXRAnchorResult::Type GetBoundary2D(uint64 AnchorHandle, TArray<FVector2f>& OutVertices);
|
|
|
|
static EOculusXRAnchorResult::Type RequestSceneCapture(uint64& OutRequestID);
|
|
static EOculusXRAnchorResult::Type GetRoomLayout(uint64 AnchorHandle, const uint32 MaxWallsCapacity, FOculusXRUUID& OutCeilingUuid, FOculusXRUUID& OutFloorUuid, TArray<FOculusXRUUID>& OutWallsUuid);
|
|
static EOculusXRAnchorResult::Type GetTriangleMesh(uint64 AnchorHandle, TArray<FVector>& Vertices, TArray<int32>& Triangles);
|
|
|
|
// Requests to change the current boundary visibility
|
|
static EOculusXRAnchorResult::Type RequestBoundaryVisibility(EOculusXRBoundaryVisibility NewVisibilityRequest);
|
|
|
|
// Gets the current boundary visibility
|
|
static EOculusXRAnchorResult::Type GetBoundaryVisibility(EOculusXRBoundaryVisibility& OutVisibility);
|
|
|
|
private:
|
|
static TSharedPtr<IOculusXRSceneFunctions> GetOculusXRSceneFunctionsImpl();
|
|
static TSharedPtr<IOculusXRSceneFunctions> SceneFunctionsImpl;
|
|
};
|
|
} // namespace OculusXRScene
|