diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-30 18:19:57 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-30 18:19:57 (GMT) |
commit | ed6224024ee603ae5cd7ba910691858549d38388 (patch) | |
tree | adf1ab0d2074155d138acc2f5dd3cc20f9aaa434 | |
parent | 78244d328918b149b86d9b925010e934244d0137 (diff) |
Clifford Wolf:
Fixed cylinder primitive with r1 = 0 or r2 = 0 for CGAL
git-svn-id: http://svn.clifford.at/openscad/trunk@40 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r-- | primitives.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/primitives.cc b/primitives.cc index ae43a58..6954e87 100644 --- a/primitives.cc +++ b/primitives.cc @@ -294,14 +294,18 @@ sphere_next_r2: for (int i=0; i<fragments; i++) { int j = (i+1) % fragments; - p->append_poly(); - p->insert_vertex(circle1[i].x, circle1[i].y, z1); - p->insert_vertex(circle2[i].x, circle2[i].y, z2); - p->insert_vertex(circle1[j].x, circle1[j].y, z1); - p->append_poly(); - p->insert_vertex(circle2[i].x, circle2[i].y, z2); - p->insert_vertex(circle2[j].x, circle2[j].y, z2); - p->insert_vertex(circle1[j].x, circle1[j].y, z1); + if (r1 > 0) { + p->append_poly(); + p->insert_vertex(circle1[i].x, circle1[i].y, z1); + p->insert_vertex(circle2[i].x, circle2[i].y, z2); + p->insert_vertex(circle1[j].x, circle1[j].y, z1); + } + if (r2 > 0) { + p->append_poly(); + p->insert_vertex(circle2[i].x, circle2[i].y, z2); + p->insert_vertex(circle2[j].x, circle2[j].y, z2); + p->insert_vertex(circle1[j].x, circle1[j].y, z1); + } } if (r1 > 0) { |