cesium-native 0.43.0
Loading...
Searching...
No Matches
Cesium3DTiles::BufferSpec Struct Reference

A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI. More...

#include <Cesium3DTiles/BufferSpec.h>

Inheritance diagram for Cesium3DTiles::BufferSpec:
CesiumUtility::ExtensibleObject Cesium3DTiles::Buffer

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::optional< std::string > uri
 The URI (or IRI) of the file that contains the binary buffer data. Relative paths are relative to the file containing the buffer JSON. uri is required when using the JSON subtree format and not required when using the binary subtree format - when omitted the buffer refers to the binary chunk of the subtree file. Data URIs are not allowed.
 
int64_t byteLength = int64_t()
 The length of the buffer in bytes.
 
std::optional< std::string > name
 The name of the buffer.
 
- 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 = "Buffer"
 The original name of this type.
 

Protected Member Functions

 BufferSpec ()=default
 This class is not meant to be instantiated directly. Use Buffer instead.
 

Friends

struct Buffer
 

Detailed Description

A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI.

Definition at line 17 of file BufferSpec.h.

Member Function Documentation

◆ getSizeBytes()

int64_t Cesium3DTiles::BufferSpec::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 48 of file BufferSpec.h.

Friends And Related Symbol Documentation

◆ Buffer

friend struct Buffer
friend

Definition at line 67 of file BufferSpec.h.

Member Data Documentation

◆ byteLength

int64_t Cesium3DTiles::BufferSpec::byteLength = int64_t()

The length of the buffer in bytes.

Definition at line 35 of file BufferSpec.h.

◆ name

std::optional<std::string> Cesium3DTiles::BufferSpec::name

The name of the buffer.

Definition at line 40 of file BufferSpec.h.

◆ TypeName

const char* Cesium3DTiles::BufferSpec::TypeName = "Buffer"
staticconstexpr

The original name of this type.

Definition at line 21 of file BufferSpec.h.

◆ uri

std::optional<std::string> Cesium3DTiles::BufferSpec::uri

The URI (or IRI) of the file that contains the binary buffer data. Relative paths are relative to the file containing the buffer JSON. uri is required when using the JSON subtree format and not required when using the binary subtree format - when omitted the buffer refers to the binary chunk of the subtree file. Data URIs are not allowed.

Definition at line 30 of file BufferSpec.h.


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