bmh/FlightSimulation/Plugins/CesiumForUnreal_5.4/Source/CesiumRuntime/Public/CesiumMetadataUtilityBlueprintLibrary.h
2025-02-07 22:52:32 +08:00

85 lines
3.0 KiB
C++

// Copyright 2020-2024 CesiumGS, Inc. and Contributors
#pragma once
#include "CesiumFeatureIdAttribute.h"
#include "CesiumMetadataPrimitive.h"
#include "CesiumMetadataValue.h"
#include "CesiumPrimitiveMetadata.h"
#include "Containers/UnrealString.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "UObject/ObjectMacros.h"
#include "CesiumMetadataUtilityBlueprintLibrary.generated.h"
UCLASS()
class CESIUMRUNTIME_API UCesiumMetadataUtilityBlueprintLibrary
: public UBlueprintFunctionLibrary {
GENERATED_BODY()
public:
PRAGMA_DISABLE_DEPRECATION_WARNINGS
/**
* Gets the primitive metadata of a glTF primitive component. If component is
* not a Cesium glTF primitive component, the returned metadata is empty
*/
UFUNCTION(
BlueprintCallable,
BlueprintPure,
Meta =
(DeprecatedFunction,
DeprecationMessage =
"CesiumMetadataPrimitive is deprecated. Use CesiumPrimitiveFeatures and CesiumPrimitiveMetadata instead."))
static const FCesiumMetadataPrimitive&
GetPrimitiveMetadata(const UPrimitiveComponent* component);
/**
* Gets the metadata of a face of a glTF primitive component. If the component
* is not a Cesium glTF primitive component, the returned metadata is empty.
* If the primitive has multiple feature tables, the metadata in the first
* table is returned.
*/
UFUNCTION(
BlueprintCallable,
BlueprintPure,
Meta =
(DeprecatedFunction,
DeprecationMessage =
"The CesiumMetadataUtility blueprint library is deprecated. Use GetMetadataValuesForFace in the CesiumMetadataPicking blueprint library instead."))
static TMap<FString, FCesiumMetadataValue>
GetMetadataValuesForFace(const UPrimitiveComponent* component, int64 faceID);
/**
* Gets the metadata as string of a face of a glTF primitive component. If the
* component is not a Cesium glTF primitive component, the returned metadata
* is empty. If the primitive has multiple feature tables, the metadata in the
* first table is returned.
*/
UFUNCTION(
BlueprintCallable,
BlueprintPure,
Meta =
(DeprecatedFunction,
DeprecationMessage =
"The CesiumMetadataUtility blueprint library is deprecated. Use GetMetadataValuesForFaceAsStrings in the CesiumMetadataPicking blueprint library instead."))
static TMap<FString, FString> GetMetadataValuesAsStringForFace(
const UPrimitiveComponent* component,
int64 faceID);
/**
* Gets the feature ID associated with a given face for a feature id
* attribute.
*/
UFUNCTION(
BlueprintCallable,
BlueprintPure,
Meta =
(DeprecatedFunction,
DeprecationMessage =
"Use GetFeatureIDFromFace with CesiumPrimitiveFeatures instead."))
static int64 GetFeatureIDFromFaceID(
UPARAM(ref) const FCesiumMetadataPrimitive& Primitive,
UPARAM(ref) const FCesiumFeatureIdAttribute& FeatureIDAttribute,
int64 FaceID);
PRAGMA_ENABLE_DEPRECATION_WARNINGS
};