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

An attribute containing property values. More...

#include <CesiumGltf/PropertyAttributeProperty.h>

Inheritance diagram for CesiumGltf::PropertyAttributeProperty:
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 attribute
 The name of the attribute containing property values.
 
std::optional< CesiumUtility::JsonValueoffset
 An offset to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property's offset if both are defined.
 
std::optional< CesiumUtility::JsonValuescale
 A scale to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property's scale if both are defined.
 
std::optional< CesiumUtility::JsonValuemax
 Maximum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.
 
std::optional< CesiumUtility::JsonValuemin
 Minimum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.
 
- 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 = "PropertyAttributeProperty"
 The original name of this type.
 

Detailed Description

An attribute containing property values.

Definition at line 16 of file PropertyAttributeProperty.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::PropertyAttributeProperty::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 64 of file PropertyAttributeProperty.h.

Member Data Documentation

◆ attribute

std::string CesiumGltf::PropertyAttributeProperty::attribute

The name of the attribute containing property values.

Definition at line 26 of file PropertyAttributeProperty.h.

◆ max

std::optional<CesiumUtility::JsonValue> CesiumGltf::PropertyAttributeProperty::max

Maximum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

Definition at line 48 of file PropertyAttributeProperty.h.

◆ min

std::optional<CesiumUtility::JsonValue> CesiumGltf::PropertyAttributeProperty::min

Minimum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

Definition at line 56 of file PropertyAttributeProperty.h.

◆ offset

std::optional<CesiumUtility::JsonValue> CesiumGltf::PropertyAttributeProperty::offset

An offset to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property's offset if both are defined.

Definition at line 33 of file PropertyAttributeProperty.h.

◆ scale

std::optional<CesiumUtility::JsonValue> CesiumGltf::PropertyAttributeProperty::scale

A scale to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property's scale if both are defined.

Definition at line 40 of file PropertyAttributeProperty.h.

◆ TypeName

const char* CesiumGltf::PropertyAttributeProperty::TypeName = "PropertyAttributeProperty"
staticconstexpr

The original name of this type.

Definition at line 21 of file PropertyAttributeProperty.h.


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