|
LSST Applications g00d0e8bbd7+8c5ae1fdc5,g013ef56533+603670b062,g083dd6704c+2e189452a7,g199a45376c+0ba108daf9,g1c5cce2383+bc9f6103a4,g1fd858c14a+cd69ed4fc1,g210f2d0738+c4742f2e9e,g262e1987ae+612fa42d85,g29ae962dfc+83d129e820,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+5eaa884f2a,g47891489e3+e32160a944,g53246c7159+8c5ae1fdc5,g5b326b94bb+dcc56af22d,g64539dfbff+c4742f2e9e,g67b6fd64d1+e32160a944,g74acd417e5+c122e1277d,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g88cb488625+47d24e4084,g89139ef638+e32160a944,g8d7436a09f+d14b4ff40a,g8ea07a8fe4+b212507b11,g90f42f885a+e1755607f3,g97be763408+34be90ab8c,g98df359435+ec1fa61bf1,ga2180abaac+8c5ae1fdc5,ga9e74d7ce9+43ac651df0,gbf99507273+8c5ae1fdc5,gc2a301910b+c4742f2e9e,gca7fc764a6+e32160a944,gd7ef33dd92+e32160a944,gdab6d2f7ff+c122e1277d,gdb1e2cdc75+1b18322db8,ge410e46f29+e32160a944,ge41e95a9f2+c4742f2e9e,geaed405ab2+0d91c11c6d,w.2025.44
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. | |
| NormalizedAngle (NormalizedAngle const &a)=default | |
| This constructor creates a copy of a. | |
| NormalizedAngle (Angle const &a) | |
| This constructor creates a normalized copy of a. | |
| NormalizedAngle (double a) | |
| This constructor creates a NormalizedAngle with the given value in radians, normalized to be in the range [0, 2π). | |
| NormalizedAngle (LonLat const &, LonLat const &) | |
| This constructor creates a NormalizedAngle equal to the angle between the given points on the unit sphere. | |
| 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. | |
| operator Angle const & () const | |
| This conversion operator returns a const reference to the underlying Angle. | |
| 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. | |
| double | asRadians () const |
asRadians returns the value of this angle in units of radians. | |
| bool | isNan () const |
isNan returns true if the angle value is NaN. | |
| 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. | |
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). | |
| 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). | |
NormalizedAngle is an angle that lies in the range [0, 2π), with one exception - a NormalizedAngle can be NaN.
Definition at line 50 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 86 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 92 of file NormalizedAngle.h.
This constructor creates a NormalizedAngle equal to the angle between the given points on the unit sphere.
Definition at line 66 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 87 of file NormalizedAngle.cc.
|
inline |
asDegrees returns the value of this angle in units of degrees.
Definition at line 134 of file NormalizedAngle.h.
|
inline |
asRadians returns the value of this angle in units of radians.
Definition at line 137 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 42 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 52 of file NormalizedAngle.cc.
|
inlinestatic |
Definition at line 56 of file NormalizedAngle.h.
|
inlinestatic |
Definition at line 60 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 148 of file NormalizedAngle.h.
|
inline |
isNan returns true if the angle value is NaN.
Definition at line 140 of file NormalizedAngle.h.
|
inlinestatic |
Definition at line 52 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 115 of file NormalizedAngle.h.
|
inline |
Definition at line 119 of file NormalizedAngle.h.
|
inline |
Definition at line 129 of file NormalizedAngle.h.
Definition at line 127 of file NormalizedAngle.h.
|
inline |
Definition at line 126 of file NormalizedAngle.h.
Definition at line 128 of file NormalizedAngle.h.
|
inline |
Definition at line 131 of file NormalizedAngle.h.
|
inline |
Definition at line 130 of file NormalizedAngle.h.
|
inline |
Definition at line 120 of file NormalizedAngle.h.
|
inline |
Definition at line 122 of file NormalizedAngle.h.
|
inline |
Definition at line 118 of file NormalizedAngle.h.
|
inline |
Definition at line 121 of file NormalizedAngle.h.
|
inline |
Definition at line 123 of file NormalizedAngle.h.