Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
diff options
context:
space:
mode:
authorVojtech Bubnik <bubnikv@gmail.com>2021-05-18 16:05:23 +0300
committerVojtech Bubnik <bubnikv@gmail.com>2021-05-18 16:05:30 +0300
commit70b4915f9c6a91fef72410cb912b75e1b886b16e (patch)
tree0e113c30ce76e2db452edd2b16aa65967e97468f /xs
parent1256aebd889222971825faf917ddc20e22b15b56 (diff)
TriangleMeshSlicer: Got rid of admesh!
Diffstat (limited to 'xs')
-rw-r--r--xs/xsp/TriangleMesh.xsp17
1 files changed, 10 insertions, 7 deletions
diff --git a/xs/xsp/TriangleMesh.xsp b/xs/xsp/TriangleMesh.xsp
index 377bf7b5e..2b07c78ee 100644
--- a/xs/xsp/TriangleMesh.xsp
+++ b/xs/xsp/TriangleMesh.xsp
@@ -181,8 +181,7 @@ TriangleMesh::slice(z)
// convert doubles to floats
std::vector<float> z_f = cast<float>(z);
- std::vector<ExPolygons> layers;
- slice_mesh(*THIS, z_f, 0.049f, layers);
+ std::vector<ExPolygons> layers = slice_mesh_ex(THIS->its, z_f, 0.049f);
AV* layers_av = newAV();
size_t len = layers.size();
@@ -202,14 +201,18 @@ TriangleMesh::slice(z)
RETVAL
void
-TriangleMesh::cut(z, upper, lower)
+TriangleMesh::cut(z, upper_mesh, lower_mesh)
float z;
- TriangleMesh* upper;
- TriangleMesh* lower;
+ TriangleMesh* upper_mesh;
+ TriangleMesh* lower_mesh;
CODE:
THIS->require_shared_vertices(); // TriangleMeshSlicer needs this
- TriangleMeshSlicer mslicer(THIS);
- mslicer.cut(z, upper, lower);
+ indexed_triangle_set upper, lower;
+ cut_mesh(THIS->its, z, upper_mesh ? &upper : nullptr, lower_mesh ? &lower : nullptr);
+ if (upper_mesh)
+ *upper_mesh = TriangleMesh(upper);
+ if (lower_mesh)
+ *lower_mesh = TriangleMesh(lower);
std::vector<double>
TriangleMesh::bb3()