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

A generic, re-usable shape definition with no inherent meaning attached to it. More...

#include <CesiumGltf/Shape.h>

Inheritance diagram for CesiumGltf::Shape:
CesiumGltf::NamedObject CesiumUtility::ExtensibleObject

Classes

struct  Type
 Known values for The type of shape this shape object represents. If any properties are explicitly specified for the shape, the shape properties object MUST match the shape type. More...
 

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 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::string type = Type::box
 The type of shape this shape object represents. If any properties are explicitly specified for the shape, the shape properties object MUST match the shape type.
 
std::optional< CesiumGltf::Box > box
 Parameter values defining a box shape.
 
std::optional< CesiumGltf::Capsule > capsule
 Parameter values defining a capsule shape.
 
std::optional< CesiumGltf::Cylinder > cylinder
 Parameter values defining a cylinder shape.
 
std::optional< CesiumGltf::Plane > plane
 Parameter values defining a plane shape.
 
std::optional< CesiumGltf::Sphere > sphere
 Parameter values defining a sphere shape.
 
- 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 = "Shape"
 The original name of this type.
 

Detailed Description

A generic, re-usable shape definition with no inherent meaning attached to it.

Definition at line 21 of file Shape.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::Shape::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 90 of file Shape.h.

Member Data Documentation

◆ box

std::optional<CesiumGltf::Box> CesiumGltf::Shape::box

Parameter values defining a box shape.

Definition at line 62 of file Shape.h.

◆ capsule

std::optional<CesiumGltf::Capsule> CesiumGltf::Shape::capsule

Parameter values defining a capsule shape.

Definition at line 67 of file Shape.h.

◆ cylinder

std::optional<CesiumGltf::Cylinder> CesiumGltf::Shape::cylinder

Parameter values defining a cylinder shape.

Definition at line 72 of file Shape.h.

◆ plane

std::optional<CesiumGltf::Plane> CesiumGltf::Shape::plane

Parameter values defining a plane shape.

Definition at line 77 of file Shape.h.

◆ sphere

std::optional<CesiumGltf::Sphere> CesiumGltf::Shape::sphere

Parameter values defining a sphere shape.

Definition at line 82 of file Shape.h.

◆ type

std::string CesiumGltf::Shape::type = Type::box

The type of shape this shape object represents. If any properties are explicitly specified for the shape, the shape properties object MUST match the shape type.

Known values are defined in Type.

Definition at line 57 of file Shape.h.

◆ TypeName

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

The original name of this type.

Definition at line 25 of file Shape.h.


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