This class implements simple computations on angles. More...
#include <jrl/mathtools/angle.hh>
Public Member Functions | |
Angle () | |
Angle (const double &angle) | |
Angle (const Angle &angle) | |
Copy Constructor. More... | |
~Angle () | |
Trivial destructor. More... | |
const double & | value () const |
Angle value. More... | |
double | degree () const |
Return value in degrees (for output only!). More... | |
operator const double & () const | |
Cast into a double. More... | |
Angle & | operator= (const Angle &angle) |
Operator =. More... | |
Angle & | operator= (const double &value) |
Operator = with a double. More... | |
Angle | interpolate (const double &alpha, const Angle &angle) const |
Interpolation between two angles. More... | |
std::ostream & | display (std::ostream &os) const |
output to a stream. More... | |
double | distance (const Angle &angle) const |
Distance on unit circle. More... | |
Angle | operator+ (const Angle &angle) const |
Arithmetic operators overload. More... | |
Angle | operator- (const Angle &angle) const |
Angle & | operator+= (const Angle &rhs) |
Angle & | operator-= (const Angle &rhs) |
template<typename T > | |
Angle | operator+ (const T &angle) const |
template<typename T > | |
Angle | operator- (const T &angle) const |
template<typename T > | |
Angle & | operator+= (const T &rhs) |
template<typename T > | |
Angle & | operator-= (const T &rhs) |
template<typename T > | |
Angle | operator* (const T &rhs) const |
template<typename T > | |
Angle | operator*= (const T &rhs) const |
template<typename T > | |
Angle | operator/= (const T &rhs) const |
Static Public Member Functions | |
static Angle | radian (const double &value) |
Named constructors. More... | |
static Angle | degree (const double &value) |
Protected Member Functions | |
void | setBetweenMinusAndPlusPI () |
Set angle between -PI and PI. More... | |
void | set (const double &value) |
Update angle value. More... | |
Protected Attributes | |
double | angle_ |
angular value. More... | |
This class implements simple computations on angles.
All angles MUST be expressed in radian.
Facilities are provided for degree/radian conversion for display/debugging only.
|
inline |
Referenced by degree(), interpolate(), operator*(), operator+(), operator-(), and radian().
|
inline |
|
inline |
Copy Constructor.
|
inline |
Trivial destructor.
|
inlinestatic |
References Angle(), jrlMathTools::degreeToRadian(), and value().
|
inline |
Return value in degrees (for output only!).
References jrlMathTools::radianToDegree(), and value().
|
inline |
|
inline |
Distance on unit circle.
References value().
|
inline |
Cast into a double.
References value().
|
inline |
|
inline |
References value().
|
inline |
|
inline |
References value().
|
inline |
|
inline |
References value().
|
inline |
References value().
|
inline |
Operator = with a double.
References value().
|
inlinestatic |
|
inlineprotected |
Update angle value.
References angle_, setBetweenMinusAndPlusPI(), and value().
|
inlineprotected |
|
inline |
Angle value.
References angle_.
Referenced by jrlMathTools::cos(), degree(), distance(), interpolate(), operator const double &(), jrlMathTools::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/=(), operator=(), radian(), set(), jrlMathTools::sin(), and jrlMathTools::tan().
|
protected |
angular value.
Referenced by display(), operator*(), set(), setBetweenMinusAndPlusPI(), and value().