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

Geometry to be rendered with the given material. More...

#include <CesiumGltf/MeshPrimitive.h>

Inheritance diagram for CesiumGltf::MeshPrimitive:
CesiumUtility::ExtensibleObject

Classes

struct  Mode
 Known values for The topology type of primitives to render. 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 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::unordered_map< std::string, int32_t > attributes
 A plain JSON object, where each key corresponds to a mesh attribute semantic and each value is the index of the accessor containing attribute's data.
 
int32_t indices = -1
 The index of the accessor that contains the vertex indices.
 
int32_t material = -1
 The index of the material to apply to this primitive when rendering.
 
int32_t mode = Mode::TRIANGLES
 The topology type of primitives to render.
 
std::vector< std::unordered_map< std::string, int32_t > > targets
 An array of morph targets.
 
- 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 = "MeshPrimitive"
 The original name of this type.
 

Detailed Description

Geometry to be rendered with the given material.

Definition at line 17 of file MeshPrimitive.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::MeshPrimitive::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 MeshPrimitive.h.

Member Data Documentation

◆ attributes

std::unordered_map<std::string, int32_t> CesiumGltf::MeshPrimitive::attributes

A plain JSON object, where each key corresponds to a mesh attribute semantic and each value is the index of the accessor containing attribute's data.

Definition at line 55 of file MeshPrimitive.h.

◆ indices

int32_t CesiumGltf::MeshPrimitive::indices = -1

The index of the accessor that contains the vertex indices.

When this is undefined, the primitive defines non-indexed geometry. When defined, the accessor MUST have SCALAR type and an unsigned integer component type.

Definition at line 64 of file MeshPrimitive.h.

◆ material

int32_t CesiumGltf::MeshPrimitive::material = -1

The index of the material to apply to this primitive when rendering.

Definition at line 69 of file MeshPrimitive.h.

◆ mode

int32_t CesiumGltf::MeshPrimitive::mode = Mode::TRIANGLES

The topology type of primitives to render.

Known values are defined in Mode.

Definition at line 77 of file MeshPrimitive.h.

◆ targets

std::vector<std::unordered_map<std::string, int32_t> > CesiumGltf::MeshPrimitive::targets

An array of morph targets.

Definition at line 82 of file MeshPrimitive.h.

◆ TypeName

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

The original name of this type.

Definition at line 22 of file MeshPrimitive.h.


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