[Bf-blender-cvs] [9683c2b] master: Fix T42833: Kink on nurbs curve
Campbell Barton
noreply at git.blender.org
Fri Feb 27 10:18:02 CET 2015
Commit: 9683c2b129e5a1bacdb12a18497e544f4d4b82ae
Author: Campbell Barton
Date: Fri Feb 27 20:14:15 2015 +1100
Branches: master
https://developer.blender.org/rB9683c2b129e5a1bacdb12a18497e544f4d4b82ae
Fix T42833: Kink on nurbs curve
Threshold for normalizing was too big.
===================================================================
M source/blender/blenkernel/intern/curve.c
===================================================================
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index e88a8ec..b6a167d 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++) {
More information about the Bf-blender-cvs
mailing list