3#include <CesiumGeometry/Rectangle.h>
4#include <CesiumGeospatial/Cartographic.h>
5#include <CesiumGeospatial/Library.h>
6#include <CesiumUtility/Math.h>
61 double north) noexcept
62 : _west(west), _south(south), _east(east), _north(north) {}
103 double northDegrees)
noexcept {
114 constexpr double getWest() const noexcept {
return this->_west; }
119 void setWest(
double value)
noexcept { this->_west = value; }
124 constexpr double getSouth() const noexcept {
return this->_south; }
129 void setSouth(
double value)
noexcept { this->_south = value; }
134 constexpr double getEast() const noexcept {
return this->_east; }
139 void setEast(
double value)
noexcept { this->_east = value; }
144 constexpr double getNorth() const noexcept {
return this->_north; }
149 void setNorth(
double value)
noexcept { this->_north = value; }
196 double east = this->_east;
197 const double west = this->_west;
210 return this->_north - this->_south;
297 double relativeEpsilon) noexcept;
A position defined by longitude, latitude, and height.
A two-dimensional, rectangular region on a globe, specified using longitude and latitude coordinates....
constexpr double getWest() const noexcept
Returns the westernmost longitude, in radians.
constexpr double computeWidth() const noexcept
Computes the width of this rectangle.
constexpr double getNorth() const noexcept
Returns the northernmost latitude, in radians.
Cartographic computeCenter() const noexcept
Computes the Cartographic center position of this rectangle.
static const GlobeRectangle MAXIMUM
The maximum rectangle.
void setNorth(double value) noexcept
Sets the northernmost latitude, in radians.
constexpr GlobeRectangle(double west, double south, double east, double north) noexcept
Constructs a new instance.
static bool equals(const GlobeRectangle &left, const GlobeRectangle &right) noexcept
Checks whether two globe rectangles are exactly equal.
constexpr Cartographic getSouthwest() const noexcept
Returns the Cartographic position of the south-west corner.
bool isEmpty() const noexcept
Determines if this rectangle is empty.
constexpr Cartographic getNortheast() const noexcept
Returns the Cartographic position of the north-east corner.
static constexpr GlobeRectangle fromDegrees(double westDegrees, double southDegrees, double eastDegrees, double northDegrees) noexcept
static bool equalsEpsilon(const GlobeRectangle &left, const GlobeRectangle &right, double relativeEpsilon) noexcept
Checks whether two globe rectangles are equal up to a given relative epsilon.
constexpr double getEast() const noexcept
Returns the easternmost longitude, in radians.
void setWest(double value) noexcept
Sets the westernmost longitude, in radians.
bool contains(const Cartographic &cartographic) const noexcept
Returns true if this rectangle contains the given point.
std::optional< GlobeRectangle > computeIntersection(const GlobeRectangle &other) const noexcept
Computes the intersection of two rectangles.
constexpr Cartographic getSoutheast() const noexcept
Returns the Cartographic position of the south-east corner.
constexpr CesiumGeometry::Rectangle toSimpleRectangle() const noexcept
Returns this rectangle as a CesiumGeometry::Rectangle.
static constexpr GlobeRectangle fromRectangleRadians(const CesiumGeometry::Rectangle &rectangle) noexcept
Constructs a new GlobeRectangle from the provided Rectangle.
void setSouth(double value) noexcept
Sets the southernmost latitude, in radians.
void setEast(double value) noexcept
Sets the easternmost longitude, in radians.
constexpr double computeHeight() const noexcept
Computes the height of this rectangle.
GlobeRectangle computeUnion(const GlobeRectangle &other) const noexcept
Computes the union of this globe rectangle with another.
static const GlobeRectangle EMPTY
An empty rectangle.
constexpr Cartographic getNorthwest() const noexcept
Returns the Cartographic position of the north-west corner.
constexpr double getSouth() const noexcept
Returns the southernmost latitude, in radians.
std::pair< GlobeRectangle, std::optional< GlobeRectangle > > splitAtAntiMeridian() const noexcept
Splits this rectangle at the anti-meridian (180 degrees longitude), if necessary.
static constexpr double degreesToRadians(double angleDegrees) noexcept
Converts degrees to radians.
static constexpr double TwoPi
Two times pi.
Classes for geospatial computations in Cesium.