From 0aee90946946191cf3a8d476f4c7c3dd7bd6265e Mon Sep 17 00:00:00 2001 From: kintel Date: Tue, 15 Jun 2010 22:46:12 +0000 Subject: Added crash testcase for crash reported by Dan Zuras git-svn-id: http://svn.clifford.at/openscad/trunk@559 b57f626f-c46c-0410-a088-ec61d464b74c diff --git a/testdata/scad/polyset-reduce-crash.scad b/testdata/scad/polyset-reduce-crash.scad new file mode 100644 index 0000000..ce9fae7 --- /dev/null +++ b/testdata/scad/polyset-reduce-crash.scad @@ -0,0 +1,38 @@ +N=20; + +rotate (a = [0, 0, 36]) { + union() { + translate ([1, 0]) { + polygon (points = [[(N - 1)*cos(180/N), -(N - 1)*sin(180/N)], + [(N - 3)*cos(270/N), -(N - 3)*sin(270/N)], + [(N - 1)*cos(270/N), -(N - 1)*sin(270/N)]]); + + polygon (points = [[(N - 1)*cos(180/N), -(N - 1)*sin(180/N)], + [(N - 3)*cos(180/N), -(N - 3)*sin(180/N)], + [(N - 3)*cos(270/N), -(N - 3)*sin(270/N)]]); + + polygon (points = [[N - 1, 0], [N - 3, 0], + [(N - 3)*cos(180/N), -(N - 3)*sin(180/N)]]); + + polygon (points = [[N - 1, 0], + [(N - 3)*cos(180/N), -(N - 3)*sin(180/N)], + [(N - 1)*cos(180/N), -(N - 1)*sin(180/N)]]); + + polygon (points = [[N - 1, 0], [N - 3, 0], + [(N - 3)*cos(180/N), (N - 3)*sin(180/N)]]); + + polygon (points = [[N - 1, 0], + [(N - 3)*cos(180/N), (N - 3)*sin(180/N)], + [(N - 1)*cos(180/N), (N - 1)*sin(180/N)]]); + + polygon (points = [[(N - 1)*cos(180/N), (N - 1)*sin(180/N)], + [(N - 3)*cos(180/N), (N - 3)*sin(180/N)], + [(N - 3)*cos(270/N), (N - 3)*sin(270/N)]]); + + polygon (points = [[(N - 1)*cos(180/N), (N - 1)*sin(180/N)], + [(N - 3)*cos(270/N), (N - 3)*sin(270/N)], + [(N - 1)*cos(270/N), (N - 1)*sin(270/N)]]); + } + circle (r = 20); + } +} diff --git a/testdata/scad/polyset-reduce-crash.txt b/testdata/scad/polyset-reduce-crash.txt new file mode 100644 index 0000000..bc9e8d5 --- /dev/null +++ b/testdata/scad/polyset-reduce-crash.txt @@ -0,0 +1,4 @@ +This testcase causes a crash in PolySet::PolyReducer::add_edges(). +It appears to be because we collapse two close vertices into the same +vertex. This is handled by just abort()'ing. + -- cgit v0.10.1