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().