From e26d1d32331563a5ca5db322516738ac387dc43d Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Thu, 13 Jun 2019 08:45:13 +0800 Subject: [PATCH] refactor --- src/in_shape.scad | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/in_shape.scad b/src/in_shape.scad index f279f18c..8231c273 100644 --- a/src/in_shape.scad +++ b/src/in_shape.scad @@ -23,20 +23,12 @@ function _in_shape_in_line_equation(edge, pt) = ) (pt[1] == a * pt[0] + b); -function _in_shape_in_any_edges_sub(edges, leng, pt, i, epsilon) = - leng == i ? false : ( - __in_line(edges[i], pt, epsilon) ? true : _in_shape_in_any_edges_sub(edges, leng, pt, i + 1, epsilon) - ); - -function _in_shape_in_any_edges(edges, pt, epsilon) = _in_shape_in_any_edges_sub(edges, len(edges), pt, 0, epsilon); - -// function _in_shape_in_any_edges(edges, pt, epsilon) = -// let( -// leng = len(edges), -// last = [for(i = 0; i < leng && !__in_line(edges[i], pt, epsilon); i = i + 1) i][leng - 1] -// ) -// is_undef(last); - +function _in_shape_in_any_edges(edges, pt, epsilon) = + let( + leng = len(edges), + maybe_last = [for(i = 0; i < leng && !__in_line(edges[i], pt, epsilon); i = i + 1) i][leng - 1] + ) + is_undef(maybe_last); function _in_shape_interpolate_x(y, p1, p2) = p1[1] == p2[1] ? p1[0] : (