From 3673a5adba1ba2ed9d4d527ca4ba9d81f199b35d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 28 Jul 2016 18:33:14 +1000 Subject: Curve Fitting: Use normalized projection function --- extern/curve_fit_nd/intern/curve_fit_cubic_refit.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'extern') diff --git a/extern/curve_fit_nd/intern/curve_fit_cubic_refit.c b/extern/curve_fit_nd/intern/curve_fit_cubic_refit.c index 9024296395e..b51535bab10 100644 --- a/extern/curve_fit_nd/intern/curve_fit_cubic_refit.c +++ b/extern/curve_fit_nd/intern/curve_fit_cubic_refit.c @@ -947,14 +947,17 @@ static uint curve_incremental_simplify_corners( dims); if (split_index != SPLIT_POINT_INVALID) { + const double *co_prev = ¶ms.pd->points[k_prev->index * dims]; + const double *co_next = ¶ms.pd->points[k_next->index * dims]; + const double *co_split = ¶ms.pd->points[split_index * dims]; - project_vn_vnvn(k_proj_ref, &pd->points[k_prev->index * dims], k_prev->tan[1], dims); - project_vn_vnvn(k_proj_split, &pd->points[split_index * dims], k_prev->tan[1], dims); + project_vn_vnvn_normalized(k_proj_ref, co_prev, k_prev->tan[1], dims); + project_vn_vnvn_normalized(k_proj_split, co_split, k_prev->tan[1], dims); if (len_squared_vnvn(k_proj_ref, k_proj_split, dims) < error_sq_2x_max) { - project_vn_vnvn(k_proj_ref, &pd->points[k_next->index * dims], k_next->tan[0], dims); - project_vn_vnvn(k_proj_split, &pd->points[split_index * dims], k_next->tan[0], dims); + project_vn_vnvn_normalized(k_proj_ref, co_next, k_next->tan[0], dims); + project_vn_vnvn_normalized(k_proj_split, co_split, k_next->tan[0], dims); if (len_squared_vnvn(k_proj_ref, k_proj_split, dims) < error_sq_2x_max) { -- cgit v1.2.3