summaryrefslogtreecommitdiff
path: root/src/PolySetCGALRenderer.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-04-12 18:35:44 (GMT)
committerMarius Kintel <marius@kintel.net>2011-04-12 18:35:44 (GMT)
commitd24b3cc84d0701a5423925765e515db7df9614c5 (patch)
tree0d63867d8b5a3c6ffe107371caa6b29cf8ad0f02 /src/PolySetCGALRenderer.cc
parent633343c47e0d2bced64d47f62e814489b8e76dc2 (diff)
parent1754a970a76c071fff91cc7c716aa0b78b4ac6be (diff)
Ported recent changes to master into the visitor branch
Diffstat (limited to 'src/PolySetCGALRenderer.cc')
-rw-r--r--src/PolySetCGALRenderer.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/PolySetCGALRenderer.cc b/src/PolySetCGALRenderer.cc
index 95e4806..71a8056 100644
--- a/src/PolySetCGALRenderer.cc
+++ b/src/PolySetCGALRenderer.cc
@@ -360,7 +360,13 @@ PolySet *PolySetCGALRenderer::renderPolySet(const DxfRotateExtrudeNode &node,
int fragments = get_fragments_from_r(max_x, node.fn, node.fs, node.fa);
- double points[fragments][dxf->paths[i].points.count()][3];
+ double ***points;
+ points = new double**[fragments];
+ for (int j=0; j < fragments; j++) {
+ points[j] = new double*[dxf->paths[i].points.count()];
+ for (int k=0; k < dxf->paths[i].points.count(); k++)
+ points[j][k] = new double[3];
+ }
for (int j = 0; j < fragments; j++) {
double a = (j*2*M_PI) / fragments;
@@ -404,6 +410,13 @@ PolySet *PolySetCGALRenderer::renderPolySet(const DxfRotateExtrudeNode &node,
}
}
}
+
+ for (int j=0; j < fragments; j++) {
+ for (int k=0; k < dxf->paths[i].points.count(); k++)
+ delete[] points[j][k];
+ delete[] points[j];
+ }
+ delete[] points;
}
delete dxf;
contact: Jan Huwald // Impressum