cesium-native 0.56.0
Loading...
Searching...
No Matches
CesiumGltf::ExtensionKhrGaussianSplatting Struct Referencefinal

Data defining a 3D Gaussian Splat primitive. More...

#include <CesiumGltf/ExtensionKhrGaussianSplatting.h>

Inheritance diagram for CesiumGltf::ExtensionKhrGaussianSplatting:
CesiumUtility::ExtensibleObject

Classes

struct  ColorSpace
 Known values for Optional property specifying the color space of the spherical harmonics. This property defaults to BT.709. More...
 
struct  Projection
 Known values for Optional property specifying how to project the Gaussians to achieve a perspective correct value. This property defaults to perspective. More...
 
struct  SortingMethod
 Known values for Optional property specifying how to sort the Gaussians during rendering. This property defaults to cameraDistance. 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::string kernel = "ellipse"
 Optional property specifying parameters regarding the kernel used to generate the Gaussians. This property defaults to ellipse.
 
std::string projection = Projection::perspective
 Optional property specifying how to project the Gaussians to achieve a perspective correct value. This property defaults to perspective.
 
std::string sortingMethod = SortingMethod::cameraDistance
 Optional property specifying how to sort the Gaussians during rendering. This property defaults to cameraDistance.
 
std::string colorSpace = ColorSpace::BT_709
 Optional property specifying the color space of the spherical harmonics. This property defaults to BT.709.
 
- 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 = "ExtensionKhrGaussianSplatting"
 The original name of this type.
 
static constexpr const char * ExtensionName = "KHR_gaussian_splatting"
 The official name of the extension. This should be the same as its key in the extensions object.
 

Detailed Description

Data defining a 3D Gaussian Splat primitive.

Definition at line 14 of file ExtensionKhrGaussianSplatting.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::ExtensionKhrGaussianSplatting::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 112 of file ExtensionKhrGaussianSplatting.h.

Member Data Documentation

◆ colorSpace

std::string CesiumGltf::ExtensionKhrGaussianSplatting::colorSpace = ColorSpace::BT_709

Optional property specifying the color space of the spherical harmonics. This property defaults to BT.709.

Known values are defined in ColorSpace.

Definition at line 104 of file ExtensionKhrGaussianSplatting.h.

◆ ExtensionName

const char* CesiumGltf::ExtensionKhrGaussianSplatting::ExtensionName = "KHR_gaussian_splatting"
staticconstexpr

The official name of the extension. This should be the same as its key in the extensions object.

Definition at line 22 of file ExtensionKhrGaussianSplatting.h.

◆ kernel

std::string CesiumGltf::ExtensionKhrGaussianSplatting::kernel = "ellipse"

Optional property specifying parameters regarding the kernel used to generate the Gaussians. This property defaults to ellipse.

Definition at line 77 of file ExtensionKhrGaussianSplatting.h.

◆ projection

std::string CesiumGltf::ExtensionKhrGaussianSplatting::projection = Projection::perspective

Optional property specifying how to project the Gaussians to achieve a perspective correct value. This property defaults to perspective.

Known values are defined in Projection.

Definition at line 86 of file ExtensionKhrGaussianSplatting.h.

◆ sortingMethod

std::string CesiumGltf::ExtensionKhrGaussianSplatting::sortingMethod = SortingMethod::cameraDistance

Optional property specifying how to sort the Gaussians during rendering. This property defaults to cameraDistance.

Known values are defined in SortingMethod.

Definition at line 95 of file ExtensionKhrGaussianSplatting.h.

◆ TypeName

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

The original name of this type.

Definition at line 19 of file ExtensionKhrGaussianSplatting.h.


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