6#include <CesiumGltf/Enum.h>
7#include <CesiumGltf/PropertyArrayView.h>
8#include <CesiumGltf/PropertyType.h>
9#include <CesiumGltf/PropertyTypeTraits.h>
11#include "CesiumMetadataValueType.generated.h"
67static_assert(int(CesiumGltf::PropertyType::Invalid) == 0);
68static_assert(int(CesiumGltf::PropertyComponentType::None) == 0);
108 Scalar = int(CesiumGltf::PropertyType::Scalar),
109 Vec2 = int(CesiumGltf::PropertyType::Vec2),
110 Vec3 = int(CesiumGltf::PropertyType::Vec3),
111 Vec4 = int(CesiumGltf::PropertyType::Vec4),
112 Mat2 = int(CesiumGltf::PropertyType::Mat2),
113 Mat3 = int(CesiumGltf::PropertyType::Mat3),
114 Mat4 = int(CesiumGltf::PropertyType::Mat4),
115 Boolean = int(CesiumGltf::PropertyType::Boolean),
116 String = int(CesiumGltf::PropertyType::String),
117 Enum = int(CesiumGltf::PropertyType::Enum)
127 Int8 = int(CesiumGltf::PropertyComponentType::Int8),
128 Uint8 = int(CesiumGltf::PropertyComponentType::Uint8),
129 Int16 = int(CesiumGltf::PropertyComponentType::Int16),
130 Uint16 = int(CesiumGltf::PropertyComponentType::Uint16),
131 Int32 = int(CesiumGltf::PropertyComponentType::Int32),
132 Uint32 = int(CesiumGltf::PropertyComponentType::Uint32),
133 Int64 = int(CesiumGltf::PropertyComponentType::Int64),
134 Uint64 = int(CesiumGltf::PropertyComponentType::Uint64),
135 Float32 = int(CesiumGltf::PropertyComponentType::Float32),
136 Float64 = int(CesiumGltf::PropertyComponentType::Float64),
143USTRUCT(BlueprintType)
145 GENERATED_USTRUCT_BODY()
152 bool IsArray = false);
157 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium")
171 "Type != ECesiumMetadataType::Invalid && Type != ECesiumMetadataType::Boolean && Type != ECesiumMetadataType::String"))
178 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Cesium")
207TypeToMetadataValueType(TSharedPtr<FCesiumMetadataEnum> pEnumDefinition) {
215 pEnumDefinition !=
nullptr) {
235 return {type, componentType, isArray};
242static size_t GetMetadataTypeByteSize(
245 size_t componentByteSize = 0;
250 size_t byteSize = componentByteSize;
253 byteSize =
sizeof(bool);
@ String
The feature's ID is a string.
@ Integer
The feature's ID is an integer.
size_t getSizeOfComponentType(PropertyComponentType componentType)