cesium-native  0.41.0
Cesium3DTilesSelection::ViewState Class Referencefinal

The state of the view that is used during the traversal of a tileset. More...

#include <Cesium3DTilesSelection/ViewState.h>

Public Member Functions

const glm::dvec3 & getPosition () const noexcept
 Gets the position of the camera in Earth-centered, Earth-fixed coordinates.
 
const glm::dvec3 & getDirection () const noexcept
 Gets the look direction of the camera in Earth-centered, Earth-fixed coordinates.
 
const glm::dvec3 & getUp () const noexcept
 Gets the up direction of the camera in Earth-centered, Earth-fixed coordinates.
 
const std::optional< CesiumGeospatial::Cartographic > & getPositionCartographic () const noexcept
 Gets the position of the camera as a longitude / latitude / height. More...
 
const glm::dvec2 & getViewportSize () const noexcept
 Gets the size of the viewport in pixels.
 
double getHorizontalFieldOfView () const noexcept
 Gets the horizontal field-of-view angle in radians.
 
double getVerticalFieldOfView () const noexcept
 Gets the vertical field-of-view angle in radians.
 
bool isBoundingVolumeVisible (const BoundingVolume &boundingVolume) const noexcept
 Returns whether the given BoundingVolume is visible for this camera. More...
 
double computeDistanceSquaredToBoundingVolume (const BoundingVolume &boundingVolume) const noexcept
 Computes the squared distance to the given BoundingVolume. More...
 
double computeScreenSpaceError (double geometricError, double distance) const noexcept
 Computes the screen space error from a given geometric error. More...
 

Static Public Member Functions

static ViewState create (const glm::dvec3 &position, const glm::dvec3 &direction, const glm::dvec3 &up, const glm::dvec2 &viewportSize, double horizontalFieldOfView, double verticalFieldOfView, const CesiumGeospatial::Ellipsoid &ellipsoid CESIUM_DEFAULT_ELLIPSOID)
 Creates a new instance of a view state. More...
 

Detailed Description

The state of the view that is used during the traversal of a tileset.

An instance of a view state can be created with the create function.

Definition at line 24 of file ViewState.h.

Member Function Documentation

◆ computeDistanceSquaredToBoundingVolume()

double Cesium3DTilesSelection::ViewState::computeDistanceSquaredToBoundingVolume ( const BoundingVolume boundingVolume) const
noexcept

Computes the squared distance to the given BoundingVolume.

Computes the squared euclidean distance from the position of this camera to the closest point of the given bounding volume.

Parameters
boundingVolumeThe bounding volume
Returns
The squared distance

◆ computeScreenSpaceError()

double Cesium3DTilesSelection::ViewState::computeScreenSpaceError ( double  geometricError,
double  distance 
) const
noexcept

Computes the screen space error from a given geometric error.

Computes the screen space error (SSE) that results from the given geometric error, when it is viewed with this camera from the given distance.

The given distance will be clamped to a small positive value if it is negative or too close to zero.

Parameters
geometricErrorThe geometric error
distanceThe viewing distance
Returns
The screen space error

◆ create()

static ViewState Cesium3DTilesSelection::ViewState::create ( const glm::dvec3 &  position,
const glm::dvec3 &  direction,
const glm::dvec3 &  up,
const glm::dvec2 &  viewportSize,
double  horizontalFieldOfView,
double  verticalFieldOfView,
const CesiumGeospatial::Ellipsoid &ellipsoid  CESIUM_DEFAULT_ELLIPSOID 
)
static

Creates a new instance of a view state.

Parameters
positionThe position of the eye point of the camera.
directionThe view direction vector of the camera.
upThe up vector of the camera.
viewportSizeThe size of the viewport, in pixels.
horizontalFieldOfViewThe horizontal field-of-view (opening) angle of the camera, in radians.
verticalFieldOfViewThe vertical field-of-view (opening) angle of the camera, in radians.
ellipsoidThe ellipsoid that will be used to compute the cartographic position from the cartesian position. Default value: CesiumGeospatial::Ellipsoid::WGS84.

◆ getPositionCartographic()

const std::optional<CesiumGeospatial::Cartographic>& Cesium3DTilesSelection::ViewState::getPositionCartographic ( ) const
inlinenoexcept

Gets the position of the camera as a longitude / latitude / height.

The result may be std::nullopt if the Cartesian position is very near the center of the Ellipsoid.

Definition at line 78 of file ViewState.h.

◆ isBoundingVolumeVisible()

bool Cesium3DTilesSelection::ViewState::isBoundingVolumeVisible ( const BoundingVolume boundingVolume) const
noexcept

Returns whether the given BoundingVolume is visible for this camera.

Returns whether the given bounding volume is visible for this camera, meaning that the given volume is at least partially contained in the frustum of this camera.

Returns
Whether the bounding volume is visible

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