Improve the derivative class for hermites. Compare http://synfig.org/images/a/a8...
[synfig.git] / synfig-core / trunk / src / synfig / valuenode_blinecalctangent.cpp
index 32400bd..0d27157 100644 (file)
@@ -6,7 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**     Copyright (c) 2007 Chris Moore
+**     Copyright (c) 2007, 2008 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -127,21 +127,12 @@ ValueNode_BLineCalcTangent::operator()(Time t)const
                                                           blinepoint0.get_tangent2(), blinepoint1.get_tangent1());
        etl::derivative< etl::hermite<Vector> > deriv(curve);
 
-#ifdef ETL_FIXED_DERIVATIVE
        switch (get_type())
        {
-               case ValueBase::TYPE_ANGLE:  return (deriv(amount-from_vertex)*(0.5)).angle();
-               case ValueBase::TYPE_VECTOR: return deriv(amount-from_vertex)*(0.5);
+               case ValueBase::TYPE_ANGLE:  return deriv(amount-from_vertex).angle();
+               case ValueBase::TYPE_VECTOR: return deriv(amount-from_vertex);
                default: assert(0); return ValueBase();
        }
-#else
-       switch (get_type())
-       {
-               case ValueBase::TYPE_ANGLE:  return (deriv(amount-from_vertex)*(-0.5)).angle();
-               case ValueBase::TYPE_VECTOR: return deriv(amount-from_vertex)*(-0.5);
-               default: assert(0); return ValueBase();
-       }
-#endif
 }
 
 String