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

Properties conforming to a class, organized as property values stored in binary columnar arrays. More...

#include <Cesium3DTiles/PropertyTable.h>

Inheritance diagram for Cesium3DTiles::PropertyTable:
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::optional< std::string > name
 The name of the property table, e.g. for display purposes.
 
std::string classProperty
 The class that property values conform to. The value shall be a class ID declared in the classes dictionary.
 
int64_t count = int64_t()
 The number of elements in each property array.
 
std::unordered_map< std::string, Cesium3DTiles::PropertyTablePropertyproperties
 A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object describing where property values are stored. Required properties shall be included in this dictionary.
 
- 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 = "PropertyTable"
 The original name of this type.
 

Detailed Description

Properties conforming to a class, organized as property values stored in binary columnar arrays.

Definition at line 19 of file PropertyTable.h.

Member Function Documentation

◆ getSizeBytes()

int64_t Cesium3DTiles::PropertyTable::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 57 of file PropertyTable.h.

Member Data Documentation

◆ classProperty

std::string Cesium3DTiles::PropertyTable::classProperty

The class that property values conform to. The value shall be a class ID declared in the classes dictionary.

Definition at line 35 of file PropertyTable.h.

◆ count

int64_t Cesium3DTiles::PropertyTable::count = int64_t()

The number of elements in each property array.

Definition at line 40 of file PropertyTable.h.

◆ name

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

The name of the property table, e.g. for display purposes.

Definition at line 29 of file PropertyTable.h.

◆ properties

std::unordered_map<std::string, Cesium3DTiles::PropertyTableProperty> Cesium3DTiles::PropertyTable::properties

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object describing where property values are stored. Required properties shall be included in this dictionary.

Definition at line 49 of file PropertyTable.h.

◆ TypeName

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

The original name of this type.

Definition at line 24 of file PropertyTable.h.


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