Operator '!' is supposed to be true when an angle is 'no rotation'. It was failing...
[synfig.git] / ETL / trunk / ETL / _angle.h
index b873255..bd3231a 100644 (file)
@@ -198,6 +198,7 @@ public:
                return ret;
        }
 
+       //! Zero Rotation (0 degrees)
        static angle
        zero()
        {
@@ -206,23 +207,25 @@ public:
                return ret;
        }
 
+       //! One Complete Rotation (360 degrees)
        static angle
        one()
        {
                angle ret;
-               ret.v=PI;
+               ret.v=PI*2;
                return ret;
        }
 
+       //! One Half Rotation (180 degrees)
        static angle
        half()
        {
                angle ret;
-               ret.v=PI*0.5;
+               ret.v=PI;
                return ret;
        }
 
-       bool operator!()const { return v==0; }
+       bool operator!()const { return std::abs(mod().v) < epsilon; }
 
 private: