Change method signature for slice()

This commit is contained in:
Alessandro Ranellucci 2013-11-23 00:15:42 +01:00
parent 878d587196
commit 67a7e4f769
3 changed files with 11 additions and 13 deletions

View file

@ -129,20 +129,20 @@ SV*
TriangleMesh::slice(z)
std::vector<double>* z
CODE:
std::vector<Polygons>* layers = THIS->slice(*z);
std::vector<Polygons> layers;
THIS->slice(*z, layers);
AV* layers_av = newAV();
av_extend(layers_av, layers->size()-1);
for (unsigned int i = 0; i < layers->size(); i++) {
av_extend(layers_av, layers.size()-1);
for (unsigned int i = 0; i < layers.size(); i++) {
AV* polygons_av = newAV();
av_extend(polygons_av, (*layers)[i].size()-1);
av_extend(polygons_av, layers[i].size()-1);
unsigned int j = 0;
for (Polygons::iterator it = (*layers)[i].begin(); it != (*layers)[i].end(); ++it) {
for (Polygons::iterator it = layers[i].begin(); it != layers[i].end(); ++it) {
av_store(polygons_av, j++, (*it).to_SV_clone_ref());
}
av_store(layers_av, i, newRV_noinc((SV*)polygons_av));
}
delete layers;
RETVAL = (SV*)newRV_noinc((SV*)layers_av);
OUTPUT:
RETVAL