cesium-native 0.66.0
Loading...
Searching...
No Matches
CesiumGltf::BoundingVolume Struct Referencefinal

A bounding volume. More...

#include <CesiumGltf/BoundingVolume.h>

Inheritance diagram for CesiumGltf::BoundingVolume:
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 JsonValue * getGenericExtension (const std::string &extensionName) const noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
JsonValue * getGenericExtension (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::vector< double > rotation = {0, 0, 0, 1}
 The bounding volume's unit quaternion rotation relative to the node's local coordinate system.
 
std::vector< double > scale = {1, 1, 1}
 The bounding volume's scale along the rotated local X, Y, and Z axes.
 
int32_t shape = -1
 The index of the shape in the top-level shapes array used for this bounding volume. Required.
 
std::vector< double > translation = {0, 0, 0}
 The bounding volume's translation along the node's local X, Y, and Z axes.
 
- 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 = "BoundingVolume"
 The original name of this type.
 

Detailed Description

A bounding volume.

Definition at line 15 of file BoundingVolume.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::BoundingVolume::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 52 of file BoundingVolume.h.

Member Data Documentation

◆ rotation

std::vector<double> CesiumGltf::BoundingVolume::rotation = {0, 0, 0, 1}

The bounding volume's unit quaternion rotation relative to the node's local coordinate system.

Definition at line 26 of file BoundingVolume.h.

◆ scale

std::vector<double> CesiumGltf::BoundingVolume::scale = {1, 1, 1}

The bounding volume's scale along the rotated local X, Y, and Z axes.

Definition at line 32 of file BoundingVolume.h.

◆ shape

int32_t CesiumGltf::BoundingVolume::shape = -1

The index of the shape in the top-level shapes array used for this bounding volume. Required.

Definition at line 38 of file BoundingVolume.h.

◆ translation

std::vector<double> CesiumGltf::BoundingVolume::translation = {0, 0, 0}

The bounding volume's translation along the node's local X, Y, and Z axes.

Definition at line 44 of file BoundingVolume.h.

◆ TypeName

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

The original name of this type.

Definition at line 20 of file BoundingVolume.h.


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