From e84c7bc7a0ef79c8313058e71cbc73019762c6c8 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Thu, 13 Jun 2019 20:26:21 +0800 Subject: [PATCH] refactor --- src/in_polyline.scad | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/in_polyline.scad b/src/in_polyline.scad index f0b093a2..c00d29e7 100644 --- a/src/in_polyline.scad +++ b/src/in_polyline.scad @@ -11,12 +11,11 @@ include <__private__/__to3d.scad>; include <__private__/__in_line.scad>; -function _in_polyline_sub(pts, pt, epsilon, iend, i = 0) = - i == iend ? false : ( - __in_line([pts[i], pts[i + 1]], pt, epsilon) ? true : - _in_polyline_sub(pts, pt, epsilon, iend, i + 1) - ); - function in_polyline(line_pts, pt, epsilon = 0.0001) = - _in_polyline_sub(line_pts, pt, epsilon, len(line_pts) - 1); + let( + leng = len(line_pts), + iend = leng - 1, + maybe_last = [for(i = 0; i < iend && !__in_line([line_pts[i], line_pts[i + 1]], pt, epsilon); i = i + 1) i][leng - 2] + ) + is_undef(maybe_last); \ No newline at end of file