From a51a0ca772b21814e29bdb3b2b5fd854e29c5334 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 19 Apr 2014 22:12:50 +1000 Subject: Math Lib: add shell_v3v3_normalized_to_dist and v2 version bypass angle calculation to avoids (asin, sqrt, cos). --- source/blender/blenkernel/intern/fcurve.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/fcurve.c') diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index fc74ae5fe60..d4fa9de1043 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -1928,6 +1928,7 @@ static void berekenx(float *f, float *o, int b) /* Calculate F-Curve value for 'evaltime' using BezTriple keyframes */ static float fcurve_eval_keyframes(FCurve *fcu, BezTriple *bezts, float evaltime) { + const float eps = 1.e-8f; BezTriple *bezt, *prevbezt, *lastbezt; float v1[2], v2[2], v3[2], v4[2], opl[32], dx, fac; unsigned int a; @@ -2073,7 +2074,7 @@ static float fcurve_eval_keyframes(FCurve *fcu, BezTriple *bezts, float evaltime if (exact) { cvalue = prevbezt->vec[1][1]; } - else if (fabsf(bezt->vec[1][0] - evaltime) < SMALL_NUMBER) { + else if (fabsf(bezt->vec[1][0] - evaltime) < eps) { cvalue = bezt->vec[1][1]; } /* evaltime occurs within the interval defined by these two keyframes */ -- cgit v1.2.3