LSSTApplications
12.1-5-gbdcc3ab+2,15.0+13,15.0+26,15.0-1-g19261fa+17,15.0-1-g60afb23+26,15.0-1-g615e0bb+18,15.0-1-g788a293+26,15.0-1-ga91101e+26,15.0-1-gae1598d+12,15.0-1-gd076f1f+24,15.0-1-gdf18595+5,15.0-1-gf4f1c34+12,15.0-11-g7db6e543+4,15.0-12-g3681e7a+4,15.0-15-gc15de322,15.0-16-g83b84f4,15.0-2-g100d730+19,15.0-2-g1f9c9cf+4,15.0-2-g8aea5f4+1,15.0-2-gf38729e+21,15.0-29-ga12a2b06e,15.0-3-g11fe1a0+14,15.0-3-g707930d+3,15.0-3-g9103c06+12,15.0-3-gd3cbb57+3,15.0-4-g2d82b59,15.0-4-g535e784+10,15.0-4-g92ca6c3+4,15.0-4-gf906033+2,15.0-5-g23e394c+14,15.0-5-g4be42a9,15.0-6-g69628aa,15.0-6-g86e3f3d+1,15.0-6-gfa9b38f+4,15.0-7-g949993c+3,15.0-8-g67a62d3+1,15.0-8-gcf05001+1,15.0-9-g1e7c341+1,w.2018.21
LSSTDataManagementBasePackage
|
A class representing an angle. More...
#include <Angle.h>
Public Member Functions | |
constexpr | Angle (double val, AngleUnit units=radians) noexcept |
Construct an Angle with the specified value (interpreted in the given units). More... | |
constexpr | Angle () noexcept |
Construct the zero angle. More... | |
constexpr | Angle (Angle const &other) noexcept=default |
Copy constructor. More... | |
constexpr | Angle (Angle &&other) noexcept=default |
Move constructor. More... | |
Angle & | operator= (Angle const &other) noexcept=default |
Copy assignment. More... | |
Angle & | operator= (Angle &&other) noexcept=default |
Move assignment. More... | |
~Angle ()=default | |
constexpr | operator double () const noexcept |
Convert an Angle to a double in radians. More... | |
constexpr double | asAngularUnits (AngleUnit const &units) const noexcept |
Return an Angle's value in the specified units. More... | |
constexpr double | asRadians () const noexcept |
Return an Angle's value in radians. More... | |
constexpr double | asDegrees () const noexcept |
Return an Angle's value in degrees. More... | |
constexpr double | asHours () const noexcept |
Return an Angle's value in hours. More... | |
constexpr double | asArcminutes () const noexcept |
Return an Angle's value in arcminutes. More... | |
constexpr double | asArcseconds () const noexcept |
Return an Angle's value in arcseconds. More... | |
Angle | wrap () const noexcept |
Wrap this angle to the range [0, 2π). More... | |
Angle | wrapCtr () const noexcept |
Wrap this angle to the range [-π, π). More... | |
Angle | wrapNear (Angle const &refAng) const noexcept |
Wrap this angle to a value x such that -π ≤ x - refAng ≤ π, approximately. More... | |
Angle | separation (Angle const &other) const noexcept |
The signed difference between two Angles. More... | |
Angle & | operator*= (double const &d) noexcept |
Multiply this angle by the given factor. More... | |
Angle & | operator*= (int const &d) noexcept |
Multiply this angle by the given factor. More... | |
Angle & | operator+= (double const &d) noexcept |
Increase this angle by the given number of radians. More... | |
Angle & | operator+= (int const &d) noexcept |
Increase this angle by the given number of radians. More... | |
Angle & | operator-= (double const &d) noexcept |
Decrease this angle by the given number of radians. More... | |
Angle & | operator-= (int const &d) noexcept |
Decrease this angle by the given number of radians. More... | |
constexpr bool | operator== (const Angle &rhs) const noexcept |
Test if two Angles represent the same angle (without wrapping). More... | |
constexpr bool | operator!= (const Angle &rhs) const noexcept |
Test if two Angles represent the same angle (without wrapping). More... | |
constexpr bool | operator<= (const Angle &rhs) const noexcept |
Compare the sizes of two Angles (without wrapping). More... | |
constexpr bool | operator>= (const Angle &rhs) const noexcept |
Compare the sizes of two Angles (without wrapping). More... | |
constexpr bool | operator< (const Angle &rhs) const noexcept |
Compare the sizes of two Angles (without wrapping). More... | |
constexpr bool | operator> (const Angle &rhs) const noexcept |
Compare the sizes of two Angles (without wrapping). More... | |
Friends | |
class | AngleUnit |
Related Functions | |
(Note that these are not member functions.) | |
constexpr Angle | operator+ (Angle a, Angle d) noexcept |
Sum of two angles. More... | |
constexpr Angle | operator- (Angle a, Angle d) noexcept |
Difference of two angles. More... | |
constexpr Angle | operator* (Angle a, Angle d) noexcept |
Product of two angles. More... | |
constexpr Angle | operator- (Angle angle) |
An angle in the opposite sense. More... | |
constexpr Angle | operator/ (Angle a, int d) noexcept |
Ratio of an angle and a scalar. More... | |
constexpr Angle | operator/ (Angle a, double d) noexcept |
Ratio of an angle and a scalar. More... | |
std::ostream & | operator<< (std::ostream &s, Angle a) |
Print an Angle to a stream. More... | |
template<typename T > | |
constexpr Angle | operator* (T lhs, AngleUnit rhs) noexcept |
Use AngleUnit to convert a POD (e.g. int, double) to an Angle; e.g. 180*degrees. More... | |
constexpr Angle | operator* (Angle a, double d) noexcept |
Product of an angle and a scalar. More... | |
A class representing an angle.
Angles may be manipulated like doubles, and automatically converted to doubles, but they may not be constructed from doubles without calling a constructor or multiplying by an AngleUnit. Angles can be modified only by assignment; all other operations that transform an Angle return a new Angle instead.
Unless otherwise specified, all methods and associated operators shall not throw exceptions.
|
inlinenoexcept |
|
defaultnoexcept |
Copy constructor.
|
defaultnoexcept |
Move constructor.
|
default |
|
inlinenoexcept |
|
inlinenoexcept |
Return an Angle's value in arcminutes.
Definition at line 150 of file Angle.h.
|
inlinenoexcept |
Return an Angle's value in arcseconds.
Definition at line 153 of file Angle.h.
|
inlinenoexcept |
Return an Angle's value in degrees.
Definition at line 144 of file Angle.h.
|
inlinenoexcept |
Return an Angle's value in hours.
Definition at line 147 of file Angle.h.
|
inlinenoexcept |
Return an Angle's value in radians.
Definition at line 141 of file Angle.h.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Wrap this angle to the range [0, 2π).
Definition at line 372 of file Angle.h.
|
inlinenoexcept |
Wrap this angle to the range [-π, π).
Definition at line 381 of file Angle.h.
Wrap this angle to a value x
such that -π ≤ x - refAng
≤ π, approximately.
refAng | reference angle to match |
x - refAng
in radians. The upper limit in radians and both limits in other units are somewhat squishy, due to roundoff error. Definition at line 400 of file Angle.h.
Product of two angles.
Definition at line 291 of file Angle.h.
Product of an angle and a scalar.
Definition at line 298 of file Angle.h.
Use AngleUnit to convert a POD (e.g. int, double) to an Angle; e.g. 180*degrees.
lhs | the value to convert |
rhs | the conversion coefficient |
Definition at line 364 of file Angle.h.
Sum of two angles.
Definition at line 277 of file Angle.h.
Difference of two angles.
Definition at line 283 of file Angle.h.
An angle in the opposite sense.
Definition at line 310 of file Angle.h.
Ratio of an angle and a scalar.
Definition at line 318 of file Angle.h.
Ratio of an angle and a scalar.
Definition at line 325 of file Angle.h.
|
related |
Print an Angle to a stream.
The exact details of the string representation are unspecified and subject to change, but the following may be regarded as typical: "0.567 rad"
.
s | The output stream. |
a | The angle. |
Definition at line 10 of file Angle.cc.