cesium-native 0.43.0
Loading...
Searching...
No Matches
Cesium3DTiles::Schema Struct Referencefinal

An object defining classes and enums. More...

#include <Cesium3DTiles/Schema.h>

Inheritance diagram for Cesium3DTiles::Schema:
CesiumUtility::ExtensibleObject

Public Member Functions

int64_t getSizeBytes () const
 Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure.
 
- Public Member Functions inherited from CesiumUtility::ExtensibleObject
template<typename T >
bool hasExtension () const noexcept
 Checks if an extension exists given its static type.
 
template<typename T >
const T * getExtension () const noexcept
 Gets an extension given its static type.
 
template<typename T >
T * getExtension () noexcept
 Gets an extension given its static type.
 
const JsonValuegetGenericExtension (const std::string &extensionName) const noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
JsonValuegetGenericExtension (const std::string &extensionName) noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
template<typename T , typename... ConstructorArgumentTypes>
T & addExtension (ConstructorArgumentTypes &&... constructorArguments)
 Adds a statically-typed extension to this object.
 
template<typename T >
void removeExtension ()
 Removes a statically-typed extension from this object.
 
int64_t getSizeBytes () const
 Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including its extensions. Calling this method may be slow as it requires traversing the entire object.
 

Public Attributes

std::string id
 Unique identifier for the schema. Schema IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.
 
std::optional< std::string > name
 The name of the schema, e.g. for display purposes.
 
std::optional< std::string > description
 The description of the schema.
 
std::optional< std::string > version
 Application-specific version of the schema.
 
std::unordered_map< std::string, Cesium3DTiles::Classclasses
 A dictionary, where each key is a class ID and each value is an object defining the class. Class IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.
 
std::unordered_map< std::string, Cesium3DTiles::Enumenums
 A dictionary, where each key is an enum ID and each value is an object defining the values for the enum. Enum IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.
 
- Public Attributes inherited from CesiumUtility::ExtensibleObject
std::unordered_map< std::string, std::any > extensions
 The extensions attached to this object.
 
JsonValue::Object extras
 Application-specific data.
 
JsonValue::Object unknownProperties
 Unknown properties that exist on this object but do not have any representation in the statically-typed classes.
 

Static Public Attributes

static constexpr const char * TypeName = "Schema"
 The original name of this type.
 

Detailed Description

An object defining classes and enums.

Definition at line 18 of file Schema.h.

Member Function Documentation

◆ getSizeBytes()

int64_t Cesium3DTiles::Schema::getSizeBytes ( ) const
inline

Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure.

Definition at line 65 of file Schema.h.

Member Data Documentation

◆ classes

std::unordered_map<std::string, Cesium3DTiles::Class> Cesium3DTiles::Schema::classes

A dictionary, where each key is a class ID and each value is an object defining the class. Class IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

Definition at line 50 of file Schema.h.

◆ description

std::optional<std::string> Cesium3DTiles::Schema::description

The description of the schema.

Definition at line 38 of file Schema.h.

◆ enums

std::unordered_map<std::string, Cesium3DTiles::Enum> Cesium3DTiles::Schema::enums

A dictionary, where each key is an enum ID and each value is an object defining the values for the enum. Enum IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

Definition at line 57 of file Schema.h.

◆ id

std::string Cesium3DTiles::Schema::id

Unique identifier for the schema. Schema IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

Definition at line 28 of file Schema.h.

◆ name

std::optional<std::string> Cesium3DTiles::Schema::name

The name of the schema, e.g. for display purposes.

Definition at line 33 of file Schema.h.

◆ TypeName

const char* Cesium3DTiles::Schema::TypeName = "Schema"
staticconstexpr

The original name of this type.

Definition at line 22 of file Schema.h.

◆ version

std::optional<std::string> Cesium3DTiles::Schema::version

Application-specific version of the schema.

Definition at line 43 of file Schema.h.


The documentation for this struct was generated from the following file: