8#include "Components/ActorComponent.h"
9#include "Containers/Array.h"
10#include "Containers/UnrealString.h"
14#include "Materials/MaterialFunctionMaterialLayer.h"
17#include "CesiumFeaturesMetadataComponent.generated.h"
19#pragma region Features descriptions
26 GENERATED_USTRUCT_BODY()
47 UPROPERTY(EditAnywhere, Category =
"Cesium")
53 UPROPERTY(EditAnywhere, Category = "Cesium")
64 bool bHasKhrTextureTransform = false;
69 UPROPERTY(EditAnywhere, Category = "Cesium")
70 FString PropertyTableName;
78 UPROPERTY(EditAnywhere, Category = "Cesium")
79 bool bHasNullFeatureId = false;
92 GENERATED_USTRUCT_BODY()
102 Category =
"Features",
103 Meta = (TitleProperty =
"Name"))
108#pragma region Metadata descriptions
128 GENERATED_USTRUCT_BODY()
134 UPROPERTY(EditAnywhere, Category =
"Cesium")
142 UPROPERTY(EditAnywhere, Category = "Cesium")
148 UPROPERTY(EditAnywhere, Category = "Cesium")
158 GENERATED_USTRUCT_BODY()
165 UPROPERTY(EditAnywhere, Category =
"Cesium")
171 UPROPERTY(EditAnywhere, Category = "Cesium",
Meta = (TitleProperty = "Name"))
183 GENERATED_USTRUCT_BODY()
189 UPROPERTY(EditAnywhere, Category =
"Cesium")
196 UPROPERTY(EditAnywhere, Category = "Cesium")
203 UPROPERTY(EditAnywhere, Category = "Cesium")
204 bool bHasKhrTextureTransform = false;
213 GENERATED_USTRUCT_BODY()
218 UPROPERTY(EditAnywhere, Category =
"Cesium")
224 UPROPERTY(EditAnywhere, Category = "Cesium",
Meta = (TitleProperty = "Name"))
239 GENERATED_USTRUCT_BODY()
252 Category =
"Metadata",
253 Meta = (TitleProperty =
"Name"))
254 TSet<FString> PropertyTextureNames;
263 GENERATED_USTRUCT_BODY()
271 Category =
"Metadata",
272 Meta = (TitleProperty =
"Name"))
281 Category = "Metadata",
282 Meta = (TitleProperty = "Name"))
296 GENERATED_USTRUCT_BODY()
326UCLASS(ClassGroup = (Cesium),
Meta = (BlueprintSpawnableComponent))
327class CESIUMRUNTIME_API UCesiumFeaturesMetadataComponent
328 :
public UActorComponent {
341 UFUNCTION(CallInEditor, Category =
"Cesium")
351 UFUNCTION(CallInEditor, Category =
"Cesium")
352 void GenerateMaterial();
355#if WITH_EDITORONLY_DATA
363 UPROPERTY(EditAnywhere, Category =
"Cesium")
364 UMaterialFunctionMaterialLayer* TargetMaterialLayer =
nullptr;
377 Category =
"Cesium|Primitive Features",
378 Meta = (TitleProperty =
"Name"))
379 TArray<FCesiumFeatureIdSetDescription> FeatureIdSets;
392 Category =
"Cesium|Primitive Metadata",
393 Meta = (TitleProperty =
"Name"))
394 TSet<FString> PropertyTextureNames;
402 Category =
"Cesium|Model Metadata",
403 Meta = (TitleProperty =
"Name"))
404 TArray<FCesiumPropertyTableDescription> PropertyTables;
412 Category =
"Cesium|Model Metadata",
413 Meta = (TitleProperty =
"Name"))
414 TArray<FCesiumPropertyTextureDescription> PropertyTextures;
ECesiumFeatureIdSetType
The type of a feature ID set.
Description of a feature ID set from EXT_mesh_features.
Description of the feature ID sets available from the EXT_mesh_features on a glTF's primitives.
Description of a property table containing properties to be encoded for access in Unreal materials.
Description of a property table property that should be encoded for access on the GPU.
Description of a property texture with properties that should be made accessible to Unreal materials.
Description of a property texture property that should be made accessible to Unreal materials.