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.