Cesium for Unreal 2.12.0
Loading...
Searching...
No Matches
CesiumMetadataPropertyDetails.h
Go to the documentation of this file.
1// Copyright 2020-2024 CesiumGS, Inc. and Contributors
2
3#pragma once
4
6#include "UObject/ObjectMacros.h"
7
8#include "CesiumMetadataPropertyDetails.generated.h"
9
14USTRUCT(BlueprintType)
15struct CESIUMRUNTIME_API FCesiumMetadataPropertyDetails {
16 GENERATED_USTRUCT_BODY()
17
20 ComponentType(ECesiumMetadataComponentType::None),
21 bIsArray(false) {}
22
25 ECesiumMetadataComponentType InComponentType,
26 bool IsArray)
27 : Type(InType), ComponentType(InComponentType), bIsArray(IsArray) {}
28
32 UPROPERTY(EditAnywhere, Category = "Cesium")
34
39 UPROPERTY(
40 EditAnywhere,
41 Category = "Cesium",
42 Meta =
43 (EditCondition =
47
52 UPROPERTY(EditAnywhere, Category = "Cesium")
53 bool bIsArray = false;
54
60 UPROPERTY(
61 EditAnywhere,
62 Category = "Cesium",
63 Meta = (EditCondition = "bIsArray"))
64 int64 ArraySize = 0;
65
74 UPROPERTY(
75 EditAnywhere,
76 Category = "Cesium",
77 Meta =
78 (EditCondition =
80 bool bIsNormalized = false;
81
87 UPROPERTY(
88 EditAnywhere,
89 Category = "Cesium",
90 Meta =
91 (EditCondition =
93 bool bHasOffset = false;
94
100 UPROPERTY(
101 EditAnywhere,
102 Category = "Cesium",
103 Meta =
104 (EditCondition =
106 bool bHasScale = false;
107
112 UPROPERTY(
113 EditAnywhere,
114 Category = "Cesium",
115 Meta =
116 (EditCondition =
118 bool bHasNoDataValue = false;
119
125 UPROPERTY(
126 EditAnywhere,
127 Category = "Cesium",
128 Meta =
129 (EditCondition =
130 "Type != ECesiumMetadataType::Invalid && Type != ECesiumMetadataType::Enum"))
131 bool bHasDefaultValue = false;
132
133 inline bool
134 operator==(const FCesiumMetadataPropertyDetails& ValueType) const {
135 return Type == ValueType.Type && ComponentType == ValueType.ComponentType &&
136 bIsArray == ValueType.bIsArray;
137 }
138
139 inline bool
141 return !operator==(ValueType);
142 }
143
148 return FCesiumMetadataValueType(Type, ComponentType, bIsArray);
149 }
150
156 Type = ValueType.Type;
157 ComponentType = ValueType.ComponentType;
158 bIsArray = ValueType.bIsArray;
159 }
160
166 bool HasValueTransforms() const {
167 return bIsNormalized || bHasOffset || bHasScale || bHasNoDataValue ||
168 bHasDefaultValue;
169 }
170};
ECesiumMetadataComponentType
The component type of a metadata property in EXT_structural_metadata.
ECesiumMetadataType
The type of a metadata property in EXT_structural_metadata.
Represents information about a metadata property according to how the property is defined in EXT_stru...
bool operator!=(const FCesiumMetadataPropertyDetails &ValueType) const
bool HasValueTransforms() const
Whether this property has one or more value transforms.
FCesiumMetadataValueType GetValueType() const
Returns the internal types as a FCesiumMetadataValueType.
void SetValueType(FCesiumMetadataValueType ValueType)
Sets the internal types to the values supplied by the input FCesiumMetadataValueType.
FCesiumMetadataPropertyDetails(ECesiumMetadataType InType, ECesiumMetadataComponentType InComponentType, bool IsArray)
Represents the true value type of a metadata value, akin to the property types in EXT_structural_meta...
ECesiumMetadataType Type
The type of the metadata property or value.
bool bIsArray
Whether or not this represents an array containing elements of the specified types.
ECesiumMetadataComponentType ComponentType
The component of the metadata property or value.