5#include <CesiumGltf/EnumValue.h>
6#include <CesiumGltf/Library.h>
7#include <CesiumUtility/ExtensibleObject.h>
21 static constexpr const char* TypeName =
"Enum";
28 inline static const std::string INT8 =
"INT8";
31 inline static const std::string UINT8 =
"UINT8";
34 inline static const std::string INT16 =
"INT16";
37 inline static const std::string UINT16 =
"UINT16";
40 inline static const std::string INT32 =
"INT32";
43 inline static const std::string UINT32 =
"UINT32";
46 inline static const std::string INT64 =
"INT64";
49 inline static const std::string UINT64 =
"UINT64";
55 std::optional<std::string>
name;
68 std::string valueType = ValueType::UINT16;
74 std::vector<CesiumGltf::EnumValue>
values;
84 accum += int64_t(
sizeof(
Enum));
88 accum += int64_t(this->name->capacity() *
sizeof(
char));
90 if (this->description) {
91 accum += int64_t(this->description->capacity() *
sizeof(
char));
Classes for working with glTF models.
Known values for The type of the integer enum value.
An object defining the values of an enum.
std::vector< CesiumGltf::EnumValue > values
An array of enum values. Duplicate names or duplicate integer values are not allowed.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
std::optional< std::string > name
The name of the enum, e.g. for display purposes.
std::optional< std::string > description
The description of the enum.
The base class for objects that have extensions and extras.
int64_t getSizeBytes() const
Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including ...