From 4d6deea6cb2ba9e803b9bd77038f5f70a9d7dd48 Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Tue, 10 Jul 2018 22:36:17 -0500 Subject: [PATCH] Return a moveable copy of the mesh and repair it prior to returning. --- xs/src/libslic3r/TriangleMesh.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xs/src/libslic3r/TriangleMesh.cpp b/xs/src/libslic3r/TriangleMesh.cpp index 383ff7602..6fdae8ee7 100644 --- a/xs/src/libslic3r/TriangleMesh.cpp +++ b/xs/src/libslic3r/TriangleMesh.cpp @@ -728,7 +728,8 @@ TriangleMesh::make_cube(double x, double y, double z) { Pointf3s vertices(&pv[0], &pv[0]+8); TriangleMesh mesh(vertices ,facets); - return mesh; + mesh.repair(); + return std::move(mesh); } // Generate the mesh for a cylinder and return it, using @@ -773,7 +774,8 @@ TriangleMesh::make_cylinder(double r, double h, double fa) { facets.push_back(Point3(id, 2, id - 1)); TriangleMesh mesh(vertices, facets); - return mesh; + mesh.repair(); + return std::move(mesh); } // Generates mesh for a sphere centered about the origin, using the generated angle @@ -854,7 +856,8 @@ TriangleMesh::make_sphere(double rho, double fa) { } id++; TriangleMesh mesh(vertices, facets); - return mesh; + mesh.repair(); + return std::move(mesh); } template