X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Foffset.cc;h=294f69e6f8e5a3c2626497615c14038429df8ece;hb=555d8e498a31380d62be9f4853ab514b3786e986;hp=f578b191f9a4c8b93f4f694a8b8f06beefb522c8;hpb=16cb456cabf477f6d398ff731aa0f10b60913394;p=lilypond.git diff --git a/flower/offset.cc b/flower/offset.cc index f578b191f9..294f69e6f8 100644 --- a/flower/offset.cc +++ b/flower/offset.cc @@ -8,7 +8,6 @@ #include "offset.hh" - #ifndef STANDALONE string Offset::to_string () const @@ -75,6 +74,11 @@ Offset::arg () 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 */ @@ -91,5 +95,19 @@ Offset::is_sane () const 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]); }