4 #include "GlobeRectangle.h"
7 #include <CesiumGeometry/CullingResult.h>
8 #include <CesiumGeometry/OrientedBoundingBox.h>
9 #include <CesiumGeospatial/Ellipsoid.h>
36 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID);
42 return this->_rectangle;
59 return this->_boundingBox;
91 const glm::dvec3& position,
92 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
105 const Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
121 const glm::dvec3& cartesianPosition)
const noexcept;
132 CESIUM_DEFAULT_ELLIPSOID)
const noexcept;
137 double minimumHeight,
138 double maximumHeight,
142 double _minimumHeight;
143 double _maximumHeight;
146 glm::dvec3 _southwestCornerCartesian;
147 glm::dvec3 _northeastCornerCartesian;
148 glm::dvec3 _westNormal;
149 glm::dvec3 _eastNormal;
150 glm::dvec3 _southNormal;
151 glm::dvec3 _northNormal;
152 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.
double computeDistanceSquaredToPosition(const Cartographic &position, const Ellipsoid &ellipsoid CESIUM_DEFAULT_ELLIPSOID) const noexcept
Computes the distance-squared from a longitude-latitude-height position to the closest point in this ...
CesiumGeometry::CullingResult intersectPlane(const CesiumGeometry::Plane &plane) const noexcept
Determines on which side of a plane the bounding region is located.
BoundingRegion computeUnion(const BoundingRegion &other, const CesiumGeospatial::Ellipsoid &ellipsoid CESIUM_DEFAULT_ELLIPSOID) const noexcept
Computes the union of this bounding region with another.
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 CESIUM_DEFAULT_ELLIPSOID)
Constructs a new bounding region.
double computeDistanceSquaredToPosition(const glm::dvec3 &position, const Ellipsoid &ellipsoid CESIUM_DEFAULT_ELLIPSOID) const noexcept
Computes the distance-squared from a position in ellipsoid-centered Cartesian coordinates to the clos...
const GlobeRectangle & getRectangle() const noexcept
Gets the bounding rectangle of the region.
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.