#include "offset.hh"
-
#ifndef STANDALONE
string
Offset::to_string () const
return atan2 (coordinate_a_[Y_AXIS], coordinate_a_[X_AXIS]);
}
+Real
+Offset::angle_degrees () const
+{
+ return arg () * 180 / M_PI;
+}
/**
euclidian vector length / complex modulus
*/
return !isnan (coordinate_a_[X_AXIS])
&& !isnan (coordinate_a_ [Y_AXIS])
&& !isinf (coordinate_a_[X_AXIS])
- && !isnan (coordinate_a_[Y_AXIS]);
+ && !isinf (coordinate_a_[Y_AXIS]);
+}
+
+Offset
+Offset::direction () const
+{
+ Offset d = *this;
+ d /= length ();
+ return d;
+}
+
+Offset
+Offset::swapped () const
+{
+ return Offset (coordinate_a_[Y_AXIS], coordinate_a_[X_AXIS]);
}