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

A camera's projection. A node MAY reference a camera to apply a transform to place the camera in the scene. More...

#include <CesiumGltf/Camera.h>

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

Classes

struct  Type
 Known values for Specifies if the camera uses a perspective or orthographic projection. 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 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< CesiumGltf::CameraOrthographicorthographic
 An orthographic camera containing properties to create an orthographic projection matrix. This property MUST NOT be defined when perspective is defined.
 
std::optional< CesiumGltf::CameraPerspectiveperspective
 A perspective camera containing properties to create a perspective projection matrix. This property MUST NOT be defined when orthographic is defined.
 
std::string type = Type::perspective
 Specifies if the camera uses a perspective or orthographic projection.
 
- 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 = "Camera"
 The original name of this type.
 

Detailed Description

A camera's projection. A node MAY reference a camera to apply a transform to place the camera in the scene.

Definition at line 18 of file Camera.h.

Member Function Documentation

◆ getSizeBytes()

int64_t CesiumGltf::Camera::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 68 of file Camera.h.

Member Data Documentation

◆ orthographic

std::optional<CesiumGltf::CameraOrthographic> CesiumGltf::Camera::orthographic

An orthographic camera containing properties to create an orthographic projection matrix. This property MUST NOT be defined when perspective is defined.

Definition at line 41 of file Camera.h.

◆ perspective

std::optional<CesiumGltf::CameraPerspective> CesiumGltf::Camera::perspective

A perspective camera containing properties to create a perspective projection matrix. This property MUST NOT be defined when orthographic is defined.

Definition at line 48 of file Camera.h.

◆ type

std::string CesiumGltf::Camera::type = Type::perspective

Specifies if the camera uses a perspective or orthographic projection.

Known values are defined in Type.

Based on this, either the camera's perspective or orthographic property MUST be defined.

Definition at line 60 of file Camera.h.

◆ TypeName

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

The original name of this type.

Definition at line 22 of file Camera.h.


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