diff --git a/test/test_all.scad b/test/test_all.scad index dd62108a..23e71315 100644 --- a/test/test_all.scad +++ b/test/test_all.scad @@ -91,6 +91,7 @@ include ; include ; include ; include ; +include ; // Matrix include ; diff --git a/test/voxel/test_vx_difference.scad b/test/voxel/test_vx_difference.scad new file mode 100644 index 00000000..1afd5001 --- /dev/null +++ b/test/voxel/test_vx_difference.scad @@ -0,0 +1,17 @@ +use ; +use ; +use ; + +module test_vx_difference() { + echo("==== test_vx_difference ===="); + + expected = [[-3, -5, 0], [-2, -5, 0], [-1, -5, 0], [0, -5, 0], [1, -5, 0], [2, -5, 0], [3, -5, 0], [-4, -4, 0], [-3, -4, 0], [3, -4, 0], [4, -4, 0], [-5, -3, 0], [-4, -3, 0], [4, -3, 0], [5, -3, 0], [-5, -2, 0], [5, -2, 0], [-5, -1, 0], [5, -1, 0], [-5, 0, 0], [5, 0, 0], [-5, 1, 0], [5, 1, 0], [-5, 2, 0], [5, 2, 0], [-5, 3, 0], [-4, 3, 0], [4, 3, 0], [5, 3, 0], [-4, 4, 0], [-3, 4, 0], [3, 4, 0], [4, 4, 0], [-3, 5, 0], [-2, 5, 0], [-1, 5, 0], [0, 5, 0], [1, 5, 0], [2, 5, 0], [3, 5, 0], [-3, -5, 1], [-2, -5, 1], [-1, -5, 1], [0, -5, 1], [1, -5, 1], [2, -5, 1], [3, -5, 1], [-4, -4, 1], [-3, -4, 1], [3, -4, 1], [4, -4, 1], [-5, -3, 1], [-4, -3, 1], [4, -3, 1], [5, -3, 1], [-5, -2, 1], [5, -2, 1], [-5, -1, 1], [5, -1, 1], [-5, 0, 1], [5, 0, 1], [-5, 1, 1], [5, 1, 1], [-5, 2, 1], [5, 2, 1], [-5, 3, 1], [-4, 3, 1], [4, 3, 1], [5, 3, 1], [-4, 4, 1], [-3, 4, 1], [3, 4, 1], [4, 4, 1], [-3, 5, 1], [-2, 5, 1], [-1, 5, 1], [0, 5, 1], [1, 5, 1], [2, 5, 1], [3, 5, 1], [-3, -5, 2], [-2, -5, 2], [-1, -5, 2], [0, -5, 2], [1, -5, 2], [2, -5, 2], [3, -5, 2], [-4, -4, 2], [-3, -4, 2], [3, -4, 2], [4, -4, 2], [-5, -3, 2], [-4, -3, 2], [4, -3, 2], [5, -3, 2], [-5, -2, 2], [5, -2, 2], [-5, -1, 2], [5, -1, 2], [-5, 0, 2], [5, 0, 2], [-5, 1, 2], [5, 1, 2], [-5, 2, 2], [5, 2, 2], [-5, 3, 2], [-4, 3, 2], [4, 3, 2], [5, 3, 2], [-4, 4, 2], [-3, 4, 2], [3, 4, 2], [4, 4, 2], [-3, 5, 2], [-2, 5, 2], [-1, 5, 2], [0, 5, 2], [1, 5, 2], [2, 5, 2], [3, 5, 2], [-3, -5, 3], [-2, -5, 3], [-1, -5, 3], [0, -5, 3], [1, -5, 3], [2, -5, 3], [3, -5, 3], [-4, -4, 3], [-3, -4, 3], [-2, -4, 3], [-1, -4, 3], [0, -4, 3], [1, -4, 3], [2, -4, 3], [3, -4, 3], [4, -4, 3], [-5, -3, 3], [-4, -3, 3], [-3, -3, 3], [3, -3, 3], [4, -3, 3], [5, -3, 3], [-5, -2, 3], [-4, -2, 3], [4, -2, 3], [5, -2, 3], [-5, -1, 3], [-4, -1, 3], [4, -1, 3], [5, -1, 3], [-5, 0, 3], [-4, 0, 3], [4, 0, 3], [5, 0, 3], [-5, 1, 3], [-4, 1, 3], [4, 1, 3], [5, 1, 3], [-5, 2, 3], [-4, 2, 3], [4, 2, 3], [5, 2, 3], [-5, 3, 3], [-4, 3, 3], [-3, 3, 3], [3, 3, 3], [4, 3, 3], [5, 3, 3], [-4, 4, 3], [-3, 4, 3], [-2, 4, 3], [-1, 4, 3], [0, 4, 3], [1, 4, 3], [2, 4, 3], [3, 4, 3], [4, 4, 3], [-3, 5, 3], [-2, 5, 3], [-1, 5, 3], [0, 5, 3], [1, 5, 3], [2, 5, 3], [3, 5, 3]]; + actual = vx_difference( + vx_cylinder(6, 4, filled = true), + vx_sphere(5, filled = true) + ); + + assert(expected == actual); +} + +test_vx_difference(); \ No newline at end of file