From a1e452472a8cc71c8a8337ed1a8f54e517b48a04 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Fri, 2 Sep 2011 14:46:45 +0200 Subject: [PATCH] Added intersection-tests --- .../scad/features/intersection-tests.scad | 35 +++++++++++++++++- tests/CMakeLists.txt | 3 +- .../intersection-tests-expected.png | Bin 0 -> 8295 bytes 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 tests/regression/cgalpngtest/intersection-tests-expected.png diff --git a/testdata/scad/features/intersection-tests.scad b/testdata/scad/features/intersection-tests.scad index 4101b037..f673b353 100644 --- a/testdata/scad/features/intersection-tests.scad +++ b/testdata/scad/features/intersection-tests.scad @@ -1,4 +1,35 @@ intersection() { - sphere(3); - cube([3,3,8], center=true); + sphere(r=5); + translate([0,0,3]) cube([4,4,6], center=true); +} + +translate([0,12,0]) intersection() { + cube([10,10,10], center=true); + cylinder(r=4, h=12, center=true); +} + +translate([12,0,0]) intersection() { + cube([10,10,10], center=true); + cylinder(r=4, h=12, center=true); + rotate([0,90,0]) cylinder(r=4, h=12, center=true); +} + +translate([12,12,0]) intersection() { + cube([10,10,10], center=true); + translate([0,0,7]) cylinder(r=4, h=4, center=true); +} + +translate([24,0,0]) intersection() { + cube([10,10,10], center=true); + translate([0,0,6.99]) cylinder(r=4, h=4, center=true); +} + +translate([-12,0,0]) intersection() { + cube([10,10,10], center=true); + translate([0,-10,-10]) cube([10,10,10], center=true); +} + +translate([-12,12,0]) intersection() { + cube([10,10,10], center=true); + translate([0,-9.99,-9.99]) cube([10,10,10], center=true); } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 26533af0..161eadef 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -208,7 +208,8 @@ LIST(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/sphere-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/cylinder-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/union-tests.scad - ${CMAKE_SOURCE_DIR}/../testdata/scad/features/difference-tests.scad) + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/difference-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/intersection-tests.scad) #LIST(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example001.scad) add_cmdline_test(cgalpngtest png ${CGALPNGTEST_FILES}) diff --git a/tests/regression/cgalpngtest/intersection-tests-expected.png b/tests/regression/cgalpngtest/intersection-tests-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..6d004b0349a2b7bcdbbc2abfb4e6c67f3bd837e3 GIT binary patch literal 8295 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 Y3u_5Dkd&GV{XhWN**G06K0vtgKez|QbN~PV literal 0 HcmV?d00001