5#include "CesiumGltf/PropertyTextureView.h"
8#include "Containers/Array.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "Kismet/GameplayStatics.h"
11#include "CesiumPropertyTexture.generated.h"
37 GENERATED_USTRUCT_BODY()
54 const TSharedPtr<FCesiumMetadataEnumCollection>& EnumCollection);
66 TMap<FString, FCesiumPropertyTextureProperty> _properties;
73 : public UBlueprintFunctionLibrary {
86 Category =
"Cesium|Metadata|PropertyTexture")
99 Category =
"Cesium|Metadata|PropertyTexture")
100 static const FString&
112 Category =
"Cesium|Metadata|PropertyTexture")
125 Category =
"Cesium|Metadata|PropertyTexture")
126 static const TArray<FString>
140 Category =
"Cesium|Metadata|PropertyTexture")
143 const FString& PropertyName);
163 Category =
"Cesium|Metadata|PropertyTexture")
166 const FVector2D& UV);
184 Category =
"Cesium|Metadata|PropertyTexture")
187 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.
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)
FCesiumPropertyTexture(const CesiumGltf::Model &model, const CesiumGltf::PropertyTexture &PropertyTexture, const TSharedPtr< FCesiumMetadataEnumCollection > &EnumCollection)
friend class UCesiumPropertyTextureBlueprintLibrary