summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-06-30 18:19:57 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-06-30 18:19:57 (GMT)
commited6224024ee603ae5cd7ba910691858549d38388 (patch)
treeadf1ab0d2074155d138acc2f5dd3cc20f9aaa434
parent78244d328918b149b86d9b925010e934244d0137 (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.cc20
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) {
contact: Jan Huwald // Impressum