From f89262054f6661cd3e24c53bfc8f038c7232d406 Mon Sep 17 00:00:00 2001 From: Kp Date: Thu, 12 Mar 2015 02:21:20 +0000 Subject: [PATCH] Skip sqrt in check_sphere_to_face --- similar/main/fvi.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/similar/main/fvi.cpp b/similar/main/fvi.cpp index 713633cc2..be146ca5e 100644 --- a/similar/main/fvi.cpp +++ b/similar/main/fvi.cpp @@ -218,12 +218,11 @@ static int check_sphere_to_face(const vms_vector &pnt, const side *s,int facenum vm_vec_scale_add(closest_point,v0,edgevec,d); } - const auto dist = vm_vec_dist(checkp,closest_point); - - if (dist <= rad) - return (itype==IT_POINT)?IT_NONE:itype; - else + const auto dist = vm_vec_dist2(checkp,closest_point); + const fix64 rad64 = rad; + if (dist > vm_distance_squared{rad64 * rad64}) return IT_NONE; + return itype; }