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. | |
| ~Angle () | |
| Trivial destructor. | |
| const double & | value () const |
| Angle value. | |
| double | degree () const |
| Return value in degrees (for output only!). | |
| operator const double & () const | |
| Cast into a double. | |
| Angle & | operator= (const Angle &angle) |
| Operator =. | |
| Angle & | operator= (const double &value) |
| Operator = with a double. | |
| Angle | interpolate (const double &alpha, const Angle &angle) const |
| Interpolation between two angles. | |
| std::ostream & | display (std::ostream &os) const |
| output to a stream. | |
| double | distance (const Angle &angle) const |
| Distance on unit circle. | |
| Angle | operator+ (const Angle &angle) const |
| Arithmetic operators overload. | |
| 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. | |
| static Angle | degree (const double &value) |
Protected Member Functions | |
| void | setBetweenMinusAndPlusPI () |
| Set angle between -PI and PI. | |
| void | set (const double &value) |
| Update angle value. | |
Protected Attributes | |
| double | angle_ |
| angular value. | |
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.
| jrlMathTools::Angle::Angle | ( | ) | [inline] |
Referenced by degree(), interpolate(), operator*(), operator+(), operator-(), and radian().
| jrlMathTools::Angle::Angle | ( | const double & | angle | ) | [inline] |
| jrlMathTools::Angle::Angle | ( | const Angle & | angle | ) | [inline] |
Copy Constructor.
| jrlMathTools::Angle::~Angle | ( | ) | [inline] |
Trivial destructor.
| static Angle jrlMathTools::Angle::degree | ( | const double & | value | ) | [inline, static] |
References Angle(), and jrlMathTools::degreeToRadian().
| double jrlMathTools::Angle::degree | ( | ) | const [inline] |
Return value in degrees (for output only!).
References jrlMathTools::radianToDegree(), and value().
| std::ostream& jrlMathTools::Angle::display | ( | std::ostream & | os | ) | const [inline] |
| double jrlMathTools::Angle::distance | ( | const Angle & | angle | ) | const [inline] |
Distance on unit circle.
References value().
| Angle jrlMathTools::Angle::interpolate | ( | const double & | alpha, |
| const Angle & | angle | ||
| ) | const [inline] |
| jrlMathTools::Angle::operator const double & | ( | ) | const [inline] |
Cast into a double.
References value().
| Angle jrlMathTools::Angle::operator* | ( | const T & | rhs | ) | const [inline] |
| Angle jrlMathTools::Angle::operator*= | ( | const T & | rhs | ) | const [inline] |
References value().
| Angle jrlMathTools::Angle::operator+ | ( | const T & | angle | ) | const [inline] |
| Angle& jrlMathTools::Angle::operator+= | ( | const T & | rhs | ) | [inline] |
References value().
| Angle jrlMathTools::Angle::operator- | ( | const T & | angle | ) | const [inline] |
| Angle& jrlMathTools::Angle::operator-= | ( | const T & | rhs | ) | [inline] |
References value().
| Angle jrlMathTools::Angle::operator/= | ( | const T & | rhs | ) | const [inline] |
References value().
Operator =.
References value().
| Angle& jrlMathTools::Angle::operator= | ( | const double & | value | ) | [inline] |
Operator = with a double.
References value().
| static Angle jrlMathTools::Angle::radian | ( | const double & | value | ) | [inline, static] |
Named constructors.
References Angle().
| void jrlMathTools::Angle::set | ( | const double & | value | ) | [inline, protected] |
Update angle value.
References angle_, setBetweenMinusAndPlusPI(), and value().
| void jrlMathTools::Angle::setBetweenMinusAndPlusPI | ( | ) | [inline, protected] |
| const double& jrlMathTools::Angle::value | ( | ) | const [inline] |
Angle value.
References angle_.
Referenced by jrlMathTools::cos(), degree(), distance(), interpolate(), operator const double &(), jrlMathTools::operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/=(), operator=(), set(), jrlMathTools::sin(), and jrlMathTools::tan().
double jrlMathTools::Angle::angle_ [protected] |
angular value.
Referenced by display(), operator*(), set(), setBetweenMinusAndPlusPI(), and value().