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

Joints and matrices defining a skin. More...

#include <CesiumGltf/Skin.h>

Inheritance diagram for CesiumGltf::Skin:
CesiumGltf::NamedObject 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 CesiumGltf::NamedObject
int64_t getSizeBytes () const
 Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. 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

int32_t inverseBindMatrices = -1
 The index of the accessor containing the floating-point 4x4 inverse-bind matrices.
 
int32_t skeleton = -1
 The index of the node used as a skeleton root.
 
std::vector< int32_t > joints
 Indices of skeleton nodes, used as joints in this skin.
 
- Public Attributes inherited from CesiumGltf::NamedObject
std::string name
 The user-defined name of this object.
 
- 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 = "Skin"
 The original name of this type.
 

Detailed Description

Joints and matrices defining a skin.

Definition at line 15 of file Skin.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::Skin::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 50 of file Skin.h.

Member Data Documentation

◆ inverseBindMatrices

int32_t CesiumGltf::Skin::inverseBindMatrices = -1

The index of the accessor containing the floating-point 4x4 inverse-bind matrices.

Its accessor.count property MUST be greater than or equal to the number of elements of the joints array. When undefined, each matrix is a 4x4 identity matrix.

Definition at line 29 of file Skin.h.

◆ joints

std::vector<int32_t> CesiumGltf::Skin::joints

Indices of skeleton nodes, used as joints in this skin.

Definition at line 42 of file Skin.h.

◆ skeleton

int32_t CesiumGltf::Skin::skeleton = -1

The index of the node used as a skeleton root.

The node MUST be the closest common root of the joints hierarchy or a direct or indirect parent node of the closest common root.

Definition at line 37 of file Skin.h.

◆ TypeName

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

The original name of this type.

Definition at line 19 of file Skin.h.


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