mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-09 16:26:47 +02:00
return [] if no intersection
This commit is contained in:
@@ -7,9 +7,14 @@ function convex_intersection(shape1, shape2, epsilon = 0.0001) =
|
|||||||
(shape1 == [] || shape2 == []) ? [] :
|
(shape1 == [] || shape2 == []) ? [] :
|
||||||
let(
|
let(
|
||||||
leng = len(shape1),
|
leng = len(shape1),
|
||||||
pts = [each shape1, shape1[0]]
|
pts = [each shape1, shape1[0]],
|
||||||
|
convex = concat(
|
||||||
|
[for(p = shape1) if(in_shape(shape2, p, include_edge = true)) p],
|
||||||
|
[for(p = shape2) if(in_shape(shape1, p, include_edge = true)) p],
|
||||||
|
[for(i = [0:leng - 1]) each _intersection_ps(shape2, [pts[i], pts[i + 1]], epsilon)]
|
||||||
|
)
|
||||||
)
|
)
|
||||||
convex_ct_clk_order(
|
convex == [] ? [] : convex_ct_clk_order(
|
||||||
concat(
|
concat(
|
||||||
[for(p = shape1) if(in_shape(shape2, p, include_edge = true)) p],
|
[for(p = shape1) if(in_shape(shape2, p, include_edge = true)) p],
|
||||||
[for(p = shape2) if(in_shape(shape1, p, include_edge = true)) p],
|
[for(p = shape2) if(in_shape(shape1, p, include_edge = true)) p],
|
||||||
|
Reference in New Issue
Block a user