diff --git a/Angle.cpp b/Angle.cpp index 0993af6..39f12df 100644 --- a/Angle.cpp +++ b/Angle.cpp @@ -9,17 +9,6 @@ const float Rad2Deg = 57.29578F; const float Deg2Rad = 0.0174532924F; -template <> AngleOf AngleOf::Degrees(float degrees) { - if (isfinite(degrees)) { - while (degrees < -180) - degrees += 360; - while (degrees >= 180) - degrees -= 360; - } - - return AngleOf(degrees); -} - //===== Generic template AngleOf::AngleOf() : value(0) {} @@ -285,6 +274,17 @@ template class AngleOf; //===== AngleSingle, AngleOf +template <> AngleOf AngleOf::Degrees(float degrees) { + if (isfinite(degrees)) { + while (degrees < -180) + degrees += 360; + while (degrees >= 180) + degrees -= 360; + } + + return AngleOf(degrees); +} + template <> AngleOf AngleOf::Radians(float radians) { if (isfinite(radians)) { while (radians <= -pi) diff --git a/Angle.h b/Angle.h index e6e81a5..22a39b5 100644 --- a/Angle.h +++ b/Angle.h @@ -28,12 +28,12 @@ public: // const static AngleOf deg90; // const static AngleOf deg180; + constexpr static auto Deg = Degrees; /// @brief Creates an angle in degrees /// @param degrees the angle in degrees /// @return The angle value static AngleOf Degrees(float degrees); /// @brief Short-hand Deg alias for the Degrees function - // constexpr static auto Deg = Degrees; /// @brief Creates an angle in radians /// @param radians the angle in radians /// @return The angle value