22#ifndef LSST_GEOM_SPHEREPOINT_H_
23#define LSST_GEOM_SPHEREPOINT_H_
165 operator sphgeom::LonLat() const noexcept;
227 Angle operator[](
size_t index) const;
240 return fabs(_latitude) >=
HALFPI;
278 bool operator==(
SpherePoint const& other) const noexcept;
286 bool operator!=(
SpherePoint const& other) const noexcept;
373 void _set(sphgeom::UnitVector3d const& unitVector);
A class representing an angle.
A class used to convert scalar POD types such as double to Angle.
Point in an unspecified spherical coordinate system.
std::pair< Angle, Angle > getTangentPlaneOffset(SpherePoint const &other) const
Get the offset from a tangent plane centered at this point to another point.
SpherePoint offset(Angle const &bearing, Angle const &amount) const
Return a point offset from this one along a great circle.
SpherePoint(SpherePoint const &other) noexcept
Create a copy of a SpherePoint.
bool isFinite() const noexcept
true if this point is a well-defined position.
Point2D getPosition(AngleUnit unit) const noexcept
Return longitude, latitude as a Point2D object.
Angle bearingTo(SpherePoint const &other) const
Orientation at this point of the great circle arc to another point.
bool atPole() const noexcept
true if this point is either coordinate pole.
Angle separation(SpherePoint const &other) const noexcept
Angular distance between two points.
SpherePoint(SpherePoint &&other) noexcept
Create a copy of a SpherePoint.
sphgeom::UnitVector3d getVector() const noexcept
A unit vector representation of this point.
SpherePoint() noexcept
Construct a SpherePoint with "nan" for longitude and latitude.
Angle getLatitude() const noexcept
The latitude of this point.
Angle getLongitude() const noexcept
The longitude of this point.
SpherePoint rotated(SpherePoint const &axis, Angle const &amount) const noexcept
Return a point rotated from this one around an axis.
Angle getDec() const noexcept
Synonym for getLatitude.
std::size_t hash_value() const noexcept
Return a hash of this object.
Angle getRa() const noexcept
Synonym for getLongitude.
SpherePoint averageSpherePoint(std::vector< SpherePoint > const &coords)
Return the average of a list of coordinates.
constexpr AngleUnit radians
constant with units of radians
size_t operator()(argument_type const &x) const noexcept