mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-01-17 22:28:16 +01:00
17 lines
4.9 KiB
OpenSCAD
17 lines
4.9 KiB
OpenSCAD
use <voxel/vx_cylinder.scad>;
|
|
use <voxel/vx_sphere.scad>;
|
|
use <voxel/vx_intersection.scad>;
|
|
|
|
module test_vx_intersection() {
|
|
echo("==== test_vx_intersection ====");
|
|
|
|
expected = [[0, 0, 0], [-1, -1, 1], [0, -1, 1], [1, -1, 1], [-1, 0, 1], [0, 0, 1], [1, 0, 1], [-1, 1, 1], [0, 1, 1], [1, 1, 1], [-2, -2, 2], [-1, -2, 2], [0, -2, 2], [1, -2, 2], [2, -2, 2], [-2, -1, 2], [-1, -1, 2], [0, -1, 2], [1, -1, 2], [2, -1, 2], [-2, 0, 2], [-1, 0, 2], [0, 0, 2], [1, 0, 2], [2, 0, 2], [-2, 1, 2], [-1, 1, 2], [0, 1, 2], [1, 1, 2], [2, 1, 2], [-2, 2, 2], [-1, 2, 2], [0, 2, 2], [1, 2, 2], [2, 2, 2], [-2, -3, 3], [-1, -3, 3], [0, -3, 3], [1, -3, 3], [2, -3, 3], [-3, -2, 3], [-2, -2, 3], [-1, -2, 3], [0, -2, 3], [1, -2, 3], [2, -2, 3], [3, -2, 3], [-3, -1, 3], [-2, -1, 3], [-1, -1, 3], [0, -1, 3], [1, -1, 3], [2, -1, 3], [3, -1, 3], [-3, 0, 3], [-2, 0, 3], [-1, 0, 3], [0, 0, 3], [1, 0, 3], [2, 0, 3], [3, 0, 3], [-3, 1, 3], [-2, 1, 3], [-1, 1, 3], [0, 1, 3], [1, 1, 3], [2, 1, 3], [3, 1, 3], [-3, 2, 3], [-2, 2, 3], [-1, 2, 3], [0, 2, 3], [1, 2, 3], [2, 2, 3], [3, 2, 3], [-2, 3, 3], [-1, 3, 3], [0, 3, 3], [1, 3, 3], [2, 3, 3], [-2, -4, 4], [-1, -4, 4], [0, -4, 4], [1, -4, 4], [2, -4, 4], [-3, -3, 4], [-2, -3, 4], [-1, -3, 4], [0, -3, 4], [1, -3, 4], [2, -3, 4], [3, -3, 4], [-4, -2, 4], [-3, -2, 4], [-2, -2, 4], [-1, -2, 4], [0, -2, 4], [1, -2, 4], [2, -2, 4], [3, -2, 4], [4, -2, 4], [-4, -1, 4], [-3, -1, 4], [-2, -1, 4], [-1, -1, 4], [0, -1, 4], [1, -1, 4], [2, -1, 4], [3, -1, 4], [4, -1, 4], [-4, 0, 4], [-3, 0, 4], [-2, 0, 4], [-1, 0, 4], [0, 0, 4], [1, 0, 4], [2, 0, 4], [3, 0, 4], [4, 0, 4], [-4, 1, 4], [-3, 1, 4], [-2, 1, 4], [-1, 1, 4], [0, 1, 4], [1, 1, 4], [2, 1, 4], [3, 1, 4], [4, 1, 4], [-4, 2, 4], [-3, 2, 4], [-2, 2, 4], [-1, 2, 4], [0, 2, 4], [1, 2, 4], [2, 2, 4], [3, 2, 4], [4, 2, 4], [-3, 3, 4], [-2, 3, 4], [-1, 3, 4], [0, 3, 4], [1, 3, 4], [2, 3, 4], [3, 3, 4], [-2, 4, 4], [-1, 4, 4], [0, 4, 4], [1, 4, 4], [2, 4, 4], [-3, -5, 5], [-2, -5, 5], [-1, -5, 5], [0, -5, 5], [1, -5, 5], [2, -5, 5], [3, -5, 5], [-4, -4, 5], [-3, -4, 5], [-2, -4, 5], [-1, -4, 5], [0, -4, 5], [1, -4, 5], [2, -4, 5], [3, -4, 5], [4, -4, 5], [-5, -3, 5], [-4, -3, 5], [-3, -3, 5], [-2, -3, 5], [-1, -3, 5], [0, -3, 5], [1, -3, 5], [2, -3, 5], [3, -3, 5], [4, -3, 5], [5, -3, 5], [-5, -2, 5], [-4, -2, 5], [-3, -2, 5], [-2, -2, 5], [-1, -2, 5], [0, -2, 5], [1, -2, 5], [2, -2, 5], [3, -2, 5], [4, -2, 5], [5, -2, 5], [-5, -1, 5], [-4, -1, 5], [-3, -1, 5], [-2, -1, 5], [-1, -1, 5], [0, -1, 5], [1, -1, 5], [2, -1, 5], [3, -1, 5], [4, -1, 5], [5, -1, 5], [-5, 0, 5], [-4, 0, 5], [-3, 0, 5], [-2, 0, 5], [-1, 0, 5], [0, 0, 5], [1, 0, 5], [2, 0, 5], [3, 0, 5], [4, 0, 5], [5, 0, 5], [-5, 1, 5], [-4, 1, 5], [-3, 1, 5], [-2, 1, 5], [-1, 1, 5], [0, 1, 5], [1, 1, 5], [2, 1, 5], [3, 1, 5], [4, 1, 5], [5, 1, 5], [-5, 2, 5], [-4, 2, 5], [-3, 2, 5], [-2, 2, 5], [-1, 2, 5], [0, 2, 5], [1, 2, 5], [2, 2, 5], [3, 2, 5], [4, 2, 5], [5, 2, 5], [-5, 3, 5], [-4, 3, 5], [-3, 3, 5], [-2, 3, 5], [-1, 3, 5], [0, 3, 5], [1, 3, 5], [2, 3, 5], [3, 3, 5], [4, 3, 5], [5, 3, 5], [-4, 4, 5], [-3, 4, 5], [-2, 4, 5], [-1, 4, 5], [0, 4, 5], [1, 4, 5], [2, 4, 5], [3, 4, 5], [4, 4, 5], [-3, 5, 5], [-2, 5, 5], [-1, 5, 5], [0, 5, 5], [1, 5, 5], [2, 5, 5], [3, 5, 5], [-1, -5, 6], [0, -5, 6], [1, -5, 6], [-3, -4, 6], [-2, -4, 6], [-1, -4, 6], [0, -4, 6], [1, -4, 6], [2, -4, 6], [3, -4, 6], [-4, -3, 6], [-3, -3, 6], [-2, -3, 6], [-1, -3, 6], [0, -3, 6], [1, -3, 6], [2, -3, 6], [3, -3, 6], [4, -3, 6], [-4, -2, 6], [-3, -2, 6], [-2, -2, 6], [-1, -2, 6], [0, -2, 6], [1, -2, 6], [2, -2, 6], [3, -2, 6], [4, -2, 6], [-5, -1, 6], [-4, -1, 6], [-3, -1, 6], [-2, -1, 6], [-1, -1, 6], [0, -1, 6], [1, -1, 6], [2, -1, 6], [3, -1, 6], [4, -1, 6], [5, -1, 6], [-5, 0, 6], [-4, 0, 6], [-3, 0, 6], [-2, 0, 6], [-1, 0, 6], [0, 0, 6], [1, 0, 6], [2, 0, 6], [3, 0, 6], [4, 0, 6], [5, 0, 6], [-5, 1, 6], [-4, 1, 6], [-3, 1, 6], [-2, 1, 6], [-1, 1, 6], [0, 1, 6], [1, 1, 6], [2, 1, 6], [3, 1, 6], [4, 1, 6], [5, 1, 6], [-4, 2, 6], [-3, 2, 6], [-2, 2, 6], [-1, 2, 6], [0, 2, 6], [1, 2, 6], [2, 2, 6], [3, 2, 6], [4, 2, 6], [-4, 3, 6], [-3, 3, 6], [-2, 3, 6], [-1, 3, 6], [0, 3, 6], [1, 3, 6], [2, 3, 6], [3, 3, 6], [4, 3, 6], [-3, 4, 6], [-2, 4, 6], [-1, 4, 6], [0, 4, 6], [1, 4, 6], [2, 4, 6], [3, 4, 6], [-1, 5, 6], [0, 5, 6], [1, 5, 6], [-2, -3, 7], [-1, -3, 7], [0, -3, 7], [1, -3, 7], [2, -3, 7], [-3, -2, 7], [-2, -2, 7], [-1, -2, 7], [0, -2, 7], [1, -2, 7], [2, -2, 7], [3, -2, 7], [-3, -1, 7], [-2, -1, 7], [-1, -1, 7], [0, -1, 7], [1, -1, 7], [2, -1, 7], [3, -1, 7], [-3, 0, 7], [-2, 0, 7], [-1, 0, 7], [0, 0, 7], [1, 0, 7], [2, 0, 7], [3, 0, 7], [-3, 1, 7], [-2, 1, 7], [-1, 1, 7], [0, 1, 7], [1, 1, 7], [2, 1, 7], [3, 1, 7], [-3, 2, 7], [-2, 2, 7], [-1, 2, 7], [0, 2, 7], [1, 2, 7], [2, 2, 7], [3, 2, 7], [-2, 3, 7], [-1, 3, 7], [0, 3, 7], [1, 3, 7], [2, 3, 7]];
|
|
actual = vx_intersection(
|
|
vx_cylinder([1, 8], 8, filled = true),
|
|
vx_sphere(8, filled = true)
|
|
);
|
|
|
|
assert(expected == actual);
|
|
}
|
|
|
|
test_vx_intersection(); |