diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/expected.json b/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/expected.json new file mode 100644 index 0000000000..5e1c184043 --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/expected.json @@ -0,0 +1,21 @@ +{ + "sources": [], + "what": "Boundary Fill of the cell inside one cylinder and outside the other: the crescent", + "source": "analytic", + "method": "A minus the lens: 1000 pi - 1228.370; faces: bottom, top, A's outer arc, B's inner arc = 4", + "body_count": 1, + "faces": 4, + "volume_mm3": 1913.222954981036, + "bbox": { + "min": [ + -10, + -10, + 0 + ], + "max": [ + 10, + 10, + 10 + ] + } +} diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/recipe.json b/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/recipe.json new file mode 100644 index 0000000000..d6256522fd --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-crescent-inside-one-tool/recipe.json @@ -0,0 +1,42 @@ +{ + "commands": [ + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "body_name": "A" + } + }, + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "base": [ + 10, + 0, + 0 + ], + "body_name": "B" + } + }, + { + "command": "solid.boundary_fill", + "params": { + "tools": [ + "A", + "B" + ], + "cells": [ + [ + -5, + 0, + 5 + ] + ], + "remove_tools": true + } + } + ] +} diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/expected.json b/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/expected.json new file mode 100644 index 0000000000..235cf5d6b7 --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/expected.json @@ -0,0 +1,21 @@ +{ + "sources": [], + "what": "Boundary Fill of the cell inside both of two overlapping cylinders (r10, axes 10 apart): the lens", + "source": "analytic", + "method": "two circles r with centres d = r apart overlap in 2r^2 acos(d/2r) - (d/2) sqrt(4r^2-d^2) = 200 pi/3 - 5 sqrt 300 = 122.837; h 10. Faces: bottom, top, two cylinder arcs = 4", + "body_count": 1, + "faces": 4, + "volume_mm3": 1228.3696986087568, + "bbox": { + "min": [ + 0, + -8.660254037844387, + 0 + ], + "max": [ + 10, + 8.660254037844387, + 10 + ] + } +} diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/recipe.json b/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/recipe.json new file mode 100644 index 0000000000..0309db09cd --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-lens-of-two-cylinders/recipe.json @@ -0,0 +1,42 @@ +{ + "commands": [ + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "body_name": "A" + } + }, + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "base": [ + 10, + 0, + 0 + ], + "body_name": "B" + } + }, + { + "command": "solid.boundary_fill", + "params": { + "tools": [ + "A", + "B" + ], + "cells": [ + [ + 5, + 0, + 5 + ] + ], + "remove_tools": true + } + } + ] +} diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/expected.json b/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/expected.json new file mode 100644 index 0000000000..344fe9ebd6 --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/expected.json @@ -0,0 +1,8 @@ +{ + "sources": [], + "what": "a cell point outside every tool encloses nothing: refused", + "source": "analytic", + "method": "(50,50,5) is in neither cylinder: no cell there, a clean refusal", + "outcome": "refused", + "refusal": "outside every tool" +} diff --git a/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/recipe.json b/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/recipe.json new file mode 100644 index 0000000000..400ceaf397 --- /dev/null +++ b/tests/kernel-cases/booleans/cov-boundary-fill-point-outside-every-tool-refused/recipe.json @@ -0,0 +1,41 @@ +{ + "commands": [ + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "body_name": "A" + } + }, + { + "command": "solid.cylinder", + "params": { + "radius": 10, + "height": 10, + "base": [ + 10, + 0, + 0 + ], + "body_name": "B" + } + }, + { + "command": "solid.boundary_fill", + "params": { + "tools": [ + "A", + "B" + ], + "cells": [ + [ + 50, + 50, + 5 + ] + ] + } + } + ] +}