|
LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
NormalizedAngle is an angle that lies in the range [0, 2π), with one exception - a NormalizedAngle can be NaN.
More...
#include <NormalizedAngle.h>
Public Member Functions | |
| NormalizedAngle ()=default | |
| This constructor creates a NormalizedAngle with a value of zero. More... | |
| NormalizedAngle (NormalizedAngle const &a)=default | |
| This constructor creates a copy of a. More... | |
| NormalizedAngle (Angle const &a) | |
| This constructor creates a normalized copy of a. More... | |
| NormalizedAngle (double a) | |
| This constructor creates a NormalizedAngle with the given value in radians, normalized to be in the range [0, 2π). More... | |
| NormalizedAngle (LonLat const &, LonLat const &) | |
| This constructor creates a NormalizedAngle equal to the angle between the given points on the unit sphere. More... | |
| NormalizedAngle (Vector3d const &, Vector3d const &) | |
| This constructor creates a NormalizedAngle equal to the angle between the given 3-vectors, which need not have unit norm. More... | |
| operator Angle const & () const | |
| This conversion operator returns a const reference to the underlying Angle. More... | |
| bool | operator== (Angle const &a) const |
| bool | operator!= (Angle const &a) const |
| bool | operator< (Angle const &a) const |
| bool | operator> (Angle const &a) const |
| bool | operator<= (Angle const &a) const |
| bool | operator>= (Angle const &a) const |
| Angle | operator- () const |
| Angle | operator+ (Angle const &a) const |
| Angle | operator- (Angle const &a) const |
| Angle | operator* (double a) const |
| Angle | operator/ (double a) const |
| double | operator/ (Angle const &a) const |
| double | asDegrees () const |
asDegrees returns the value of this angle in units of degrees. More... | |
| double | asRadians () const |
asRadians returns the value of this angle in units of radians. More... | |
| bool | isNan () const |
isNan returns true if the angle value is NaN. More... | |
| NormalizedAngle | getAngleTo (NormalizedAngle const &a) const |
getAngleTo computes the angle α ∈ [0, 2π) such that adding α to this angle and then normalizing the result yields a. More... | |
Static Public Member Functions | |
| static NormalizedAngle | nan () |
| static NormalizedAngle | fromDegrees (double a) |
| static NormalizedAngle | fromRadians (double a) |
| static NormalizedAngle | between (NormalizedAngle const &a, NormalizedAngle const &b) |
For two angles a and b, between(a, b) returns the smaller of a.getAngleTo(b) and b.getAngleTo(a). More... | |
| static NormalizedAngle | center (NormalizedAngle const &a, NormalizedAngle const &b) |
For two normalized angles a and b, center(a, b) returns the angle m such that a.getAngleTo(m) is equal to m.getAngleTo(b). More... | |
NormalizedAngle is an angle that lies in the range [0, 2π), with one exception - a NormalizedAngle can be NaN.
Definition at line 43 of file NormalizedAngle.h.
|
default |
This constructor creates a NormalizedAngle with a value of zero.
|
default |
This constructor creates a copy of a.
|
inlineexplicit |
This constructor creates a normalized copy of a.
Definition at line 79 of file NormalizedAngle.h.
|
inlineexplicit |
This constructor creates a NormalizedAngle with the given value in radians, normalized to be in the range [0, 2π).
Definition at line 85 of file NormalizedAngle.h.
This constructor creates a NormalizedAngle equal to the angle between the given points on the unit sphere.
Definition at line 59 of file NormalizedAngle.cc.
This constructor creates a NormalizedAngle equal to the angle between the given 3-vectors, which need not have unit norm.
Definition at line 80 of file NormalizedAngle.cc.
|
inline |
asDegrees returns the value of this angle in units of degrees.
Definition at line 127 of file NormalizedAngle.h.
|
inline |
asRadians returns the value of this angle in units of radians.
Definition at line 130 of file NormalizedAngle.h.
|
static |
For two angles a and b, between(a, b) returns the smaller of a.getAngleTo(b) and b.getAngleTo(a).
The result will be in the range [0, π].
If one interprets an angle in [0, 2π) as a point on the unit circle, then between can be thought of as computing the arc length of the shortest unit circle segment between the points for a and b.
Definition at line 35 of file NormalizedAngle.cc.
|
static |
For two normalized angles a and b, center(a, b) returns the angle m such that a.getAngleTo(m) is equal to m.getAngleTo(b).
Definition at line 45 of file NormalizedAngle.cc.
|
inlinestatic |
Definition at line 49 of file NormalizedAngle.h.
|
inlinestatic |
Definition at line 53 of file NormalizedAngle.h.
|
inline |
getAngleTo computes the angle α ∈ [0, 2π) such that adding α to this angle and then normalizing the result yields a.
If one interprets an angle in [0, 2π) as a point on the unit circle, then this method can be thought of as computing the positive rotation angle required to map this point to a.
Definition at line 141 of file NormalizedAngle.h.
|
inline |
isNan returns true if the angle value is NaN.
Definition at line 133 of file NormalizedAngle.h.
|
inlinestatic |
Definition at line 45 of file NormalizedAngle.h.
|
inline |
This conversion operator returns a const reference to the underlying Angle.
It allows a NormalizedAngle to transparently replace an Angle as an argument in most function calls.
Definition at line 108 of file NormalizedAngle.h.
|
inline |
Definition at line 112 of file NormalizedAngle.h.
|
inline |
Definition at line 122 of file NormalizedAngle.h.
Definition at line 120 of file NormalizedAngle.h.
|
inline |
Definition at line 119 of file NormalizedAngle.h.
Definition at line 121 of file NormalizedAngle.h.
|
inline |
Definition at line 124 of file NormalizedAngle.h.
|
inline |
Definition at line 123 of file NormalizedAngle.h.
|
inline |
Definition at line 113 of file NormalizedAngle.h.
|
inline |
Definition at line 115 of file NormalizedAngle.h.
|
inline |
Definition at line 111 of file NormalizedAngle.h.
|
inline |
Definition at line 114 of file NormalizedAngle.h.
|
inline |
Definition at line 116 of file NormalizedAngle.h.