5#include <CesiumGltf/Library.h>
6#include <CesiumUtility/ExtensibleObject.h>
7#include <CesiumUtility/JsonValue.h>
10#include <unordered_map>
23 "ExtensionNodeExtNodeVisibilityConditions";
26 static constexpr const char*
ExtensionName =
"EXT_node_visibility_conditions";
33 std::unordered_map<std::string, CesiumUtility::JsonValue>
conditions;
47 this->conditions.bucket_count() *
49 for (
const auto& [k, v] : this->conditions) {
50 accum += int64_t(k.capacity() *
sizeof(
char) -
sizeof(std::string));
A generic implementation of a value in a JSON structure.
Classes for working with glTF models.
Defines the structure of the extension object that is associated with a KHR_node_visibility object to...
static constexpr const char * TypeName
The original name of this type.
std::unordered_map< std::string, CesiumUtility::JsonValue > conditions
Properties that define the conditions based on which the 'visible' flag becomes 'true'....
static constexpr const char * ExtensionName
The official name of the extension. This should be the same as its key in the extensions object.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
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 ...