3#include <CesiumGeometry/CullingResult.h>
4#include <CesiumGeometry/OrientedBoundingBox.h>
5#include <CesiumGeospatial/Ellipsoid.h>
6#include <CesiumGeospatial/GlobeRectangle.h>
7#include <CesiumGeospatial/Library.h>
34 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID);
40 return this->_rectangle;
57 return this->_boundingBox;
89 const glm::dvec3& position,
90 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
103 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
119 const glm::dvec3& cartesianPosition)
const noexcept;
131 CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
136 double minimumHeight,
137 double maximumHeight,
141 double _minimumHeight;
142 double _maximumHeight;
145 glm::dvec3 _southwestCornerCartesian;
146 glm::dvec3 _northeastCornerCartesian;
147 glm::dvec3 _westNormal;
148 glm::dvec3 _eastNormal;
149 glm::dvec3 _southNormal;
150 glm::dvec3 _northNormal;
151 bool _planesAreInvalid;
A bounding volume defined as a closed and convex cuboid with any orientation.
A plane in Hessian Normal Format.
A bounding volume specified as a longitude/latitude bounding box and a minimum and maximum height.
BoundingRegion computeUnion(const BoundingRegion &other, const CesiumGeospatial::Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) const noexcept
Computes the union of this bounding region with another.
CesiumGeometry::CullingResult intersectPlane(const CesiumGeometry::Plane &plane) const noexcept
Determines on which side of a plane the bounding region is located.
double computeDistanceSquaredToPosition(const Cartographic &position, const Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) const noexcept
Computes the distance-squared from a longitude-latitude-height position to the closest point in this ...
double computeDistanceSquaredToPosition(const Cartographic &cartographicPosition, const glm::dvec3 &cartesianPosition) const noexcept
Computes the distance-squared from a position to the closest point in this bounding region,...
double getMaximumHeight() const noexcept
Gets the maximum height of the region.
BoundingRegion(const GlobeRectangle &rectangle, double minimumHeight, double maximumHeight, const Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84)
Constructs a new bounding region.
const GlobeRectangle & getRectangle() const noexcept
Gets the bounding rectangle of the region.
double computeDistanceSquaredToPosition(const glm::dvec3 &position, const Ellipsoid &ellipsoid=CesiumGeospatial::Ellipsoid::WGS84) const noexcept
Computes the distance-squared from a position in ellipsoid-centered Cartesian coordinates to the clos...
double getMinimumHeight() const noexcept
Gets the minimum height of the region.
const CesiumGeometry::OrientedBoundingBox & getBoundingBox() const noexcept
Gets an oriented bounding box containing this region.
A position defined by longitude, latitude, and height.
A quadratic surface defined in Cartesian coordinates.
A two-dimensional, rectangular region on a globe, specified using longitude and latitude coordinates....
Basic geometry classes for Cesium.
CullingResult
The result of culling an object.
Classes for geospatial computations in Cesium.