7#include "Containers/Array.h"
8#include "Kismet/BlueprintFunctionLibrary.h"
9#include "Kismet/GameplayStatics.h"
11#include <CesiumGltf/PropertyTextureView.h>
13#include "CesiumPropertyTexture.generated.h"
39 GENERATED_USTRUCT_BODY()
72 const TSharedPtr<FCesiumMetadataEnumCollection>& pEnumCollection);
84 TMap<FString, FCesiumPropertyTextureProperty> _properties;
91 : public UBlueprintFunctionLibrary {
104 Category =
"Cesium|Metadata|PropertyTexture")
117 Category =
"Cesium|Metadata|PropertyTexture")
118 static const FString&
130 Category =
"Cesium|Metadata|PropertyTexture")
143 Category =
"Cesium|Metadata|PropertyTexture")
144 static const TArray<FString>
158 Category =
"Cesium|Metadata|PropertyTexture")
161 const FString& PropertyName);
181 Category =
"Cesium|Metadata|PropertyTexture")
184 const FVector2D& UV);
202 Category =
"Cesium|Metadata|PropertyTexture")
205 const FHitResult& Hit);
ECesiumPropertyTextureStatus
@ ErrorInvalidPropertyTexture
@ ErrorInvalidPropertyTextureClass
static const ECesiumPropertyTextureStatus GetPropertyTextureStatus(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture)
Gets the status of the property texture.
static TMap< FString, FCesiumMetadataValue > GetMetadataValuesFromHit(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture, const FHitResult &Hit)
Given a trace hit result, gets all of the property values from property texture on the hit component,...
static const FString & GetPropertyTextureName(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture)
Gets the name of the property texture.
static const FCesiumPropertyTextureProperty & FindProperty(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture, const FString &PropertyName)
Retrieve a FCesiumPropertyTextureProperty by name.
static const TMap< FString, FCesiumPropertyTextureProperty > GetProperties(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture)
Gets all the properties of the property texture, mapped by property name.
static TMap< FString, FCesiumMetadataValue > GetMetadataValuesForUV(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture, const FVector2D &UV)
Gets all of the property values at the given texture coordinates, mapped by property name.
static const TArray< FString > GetPropertyNames(UPARAM(ref) const FCesiumPropertyTexture &PropertyTexture)
Gets the names of the properties in this property texture.
A blueprint-accessible wrapper for a property texture property from a glTF.
A blueprint-accessible wrapper of a property texture from a glTF.
FCesiumPropertyTexture(const CesiumGltf::Model &model, const CesiumGltf::PropertyTexture &propertyTexture, const TSharedPtr< FCesiumMetadataEnumCollection > &pEnumCollection)
Constructs a property texture from the given glTF.
FCesiumPropertyTexture()
Construct an empty property texture instance.
FString getClassName() const
Gets the name of the metadata class that this property table conforms to.
FCesiumPropertyTexture(const CesiumGltf::Model &model, const CesiumGltf::PropertyTexture &propertyTexture)
Constructs a property texture from the given glTF.
friend class UCesiumPropertyTextureBlueprintLibrary