diff --git a/partitions.scad b/partitions.scad index 144c768..69aa455 100644 --- a/partitions.scad +++ b/partitions.scad @@ -95,10 +95,10 @@ function half_of(p, v=UP, cp) = assert(is_vector(v,2) || (is_vector(v,3) && v.z==0),"Must give 2-vector") assert(!all_zero(v), "Vector v must be nonzero") let( - bounds = pointlist_bounds(move(-cp,p)), - L = 2*max(flatten(bounds)), - n = unit(v), - u = [-n.y,n.x], + v=unit(v), + bounds = pointlist_bounds(is_region(p)?flatten(p):p), + L = 2*max(norm(bounds[0]-cp), norm(bounds[1]-cp)), + u = [-v.y,v.x], box = [cp+u*L, cp+(v+u)*L, cp+(v-u)*L, cp-u*L] ) intersection(box,p) diff --git a/version.scad b/version.scad index 2b41277..73771dc 100644 --- a/version.scad +++ b/version.scad @@ -9,7 +9,8 @@ ////////////////////////////////////////////////////////////////////// -BOSL_VERSION = [2,0,672]; + +BOSL_VERSION = [2,0,674]; // Section: BOSL Library Version Functions