cesium-native 0.43.0
Loading...
Searching...
No Matches
CesiumGltf::ExtensionExtInstanceFeaturesFeatureId Struct Referencefinal

Feature IDs stored in a GPU mesh instancing attribute. More...

#include <CesiumGltf/ExtensionExtInstanceFeaturesFeatureId.h>

Inheritance diagram for CesiumGltf::ExtensionExtInstanceFeaturesFeatureId:
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

int64_t featureCount = int64_t()
 The number of unique features in the attribute.
 
std::optional< int64_t > nullFeatureId
 A value that indicates that no feature is associated with this instance.
 
std::optional< std::string > label
 A label assigned to this feature ID set. Labels must be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.
 
std::optional< int64_t > attribute
 An integer value used to construct a string in the format _FEATURE_ID_<set index> which is a reference to a key in EXT_mesh_gpu_instancing.attributes dictionary (e.g. a value of 0 corresponds to _FEATURE_ID_0).
 
std::optional< int64_t > propertyTable
 The index of the property table containing per-feature property values. Only applicable when using the EXT_structural_metadata extension.
 
- 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
 The original name of this type.
 

Detailed Description

Feature IDs stored in a GPU mesh instancing attribute.

Definition at line 16 of file ExtensionExtInstanceFeaturesFeatureId.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::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 61 of file ExtensionExtInstanceFeaturesFeatureId.h.

Member Data Documentation

◆ attribute

std::optional<int64_t> CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::attribute

An integer value used to construct a string in the format _FEATURE_ID_<set index> which is a reference to a key in EXT_mesh_gpu_instancing.attributes dictionary (e.g. a value of 0 corresponds to _FEATURE_ID_0).

Definition at line 47 of file ExtensionExtInstanceFeaturesFeatureId.h.

◆ featureCount

int64_t CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::featureCount = int64_t()

The number of unique features in the attribute.

Definition at line 27 of file ExtensionExtInstanceFeaturesFeatureId.h.

◆ label

std::optional<std::string> CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::label

A label assigned to this feature ID set. Labels must be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

Definition at line 39 of file ExtensionExtInstanceFeaturesFeatureId.h.

◆ nullFeatureId

std::optional<int64_t> CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::nullFeatureId

A value that indicates that no feature is associated with this instance.

Definition at line 33 of file ExtensionExtInstanceFeaturesFeatureId.h.

◆ propertyTable

std::optional<int64_t> CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::propertyTable

The index of the property table containing per-feature property values. Only applicable when using the EXT_structural_metadata extension.

Definition at line 53 of file ExtensionExtInstanceFeaturesFeatureId.h.

◆ TypeName

const char* CesiumGltf::ExtensionExtInstanceFeaturesFeatureId::TypeName
staticconstexpr
Initial value:
=
"ExtensionExtInstanceFeaturesFeatureId"

The original name of this type.

Definition at line 21 of file ExtensionExtInstanceFeaturesFeatureId.h.


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