1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 22:28:16 +01:00
dotSCAD/test/voxel/test_vx_intersection.scad
2022-04-14 20:14:37 +08:00

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();