From 9683c2b129e5a1bacdb12a18497e544f4d4b82ae Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 27 Feb 2015 20:14:15 +1100 Subject: Fix T42833: Kink on nurbs curve Threshold for normalizing was too big. --- source/blender/blenkernel/intern/curve.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/curve.c') diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index e88a8ecde8e..b6a167da53d 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -1247,6 +1247,7 @@ void BKE_nurb_makeFaces(Nurb *nu, float *coord_array, int rowstride, int resolu, void BKE_nurb_makeCurve(Nurb *nu, float *coord_array, float *tilt_array, float *radius_array, float *weight_array, int resolu, int stride) { + const float eps = 1e-6f; BPoint *bp; float u, ustart, uend, ustep, sumdiv; float *basisu, *sum, *fp; @@ -1305,7 +1306,7 @@ void BKE_nurb_makeCurve(Nurb *nu, float *coord_array, float *tilt_array, float * *fp = basisu[i] * bp->vec[3]; sumdiv += *fp; } - if ((sumdiv != 0.0f) && (sumdiv < 0.999f || sumdiv > 1.001f)) { + if ((sumdiv != 0.0f) && (sumdiv < 1.0f - eps || sumdiv > 1.0f + eps)) { /* is normalizing needed? */ fp = sum; for (i = istart; i <= iend; i++, fp++) { -- cgit v1.2.3