diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index 6aa12431c..94b1f3156 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -72,15 +72,10 @@ namespace Slic3r { #if ENABLE_SMOOTH_NORMALS static void smooth_normals_corner(TriangleMesh& mesh, std::vector& normals) { - mesh.repair(); - using MapMatrixXfUnaligned = Eigen::Map>; using MapMatrixXiUnaligned = Eigen::Map>; - std::vector face_normals(mesh.stl.stats.number_of_facets); - for (uint32_t i = 0; i < mesh.stl.stats.number_of_facets; ++i) { - face_normals[i] = mesh.stl.facet_start[i].normal; - } + std::vector face_normals = its_face_normals(mesh.its); Eigen::MatrixXd vertices = MapMatrixXfUnaligned(mesh.its.vertices.front().data(), Eigen::Index(mesh.its.vertices.size()), 3).cast(); @@ -102,8 +97,6 @@ static void smooth_normals_corner(TriangleMesh& mesh, std::vector& n static void smooth_normals_vertex(TriangleMesh& mesh, std::vector& normals) { - mesh.repair(); - using MapMatrixXfUnaligned = Eigen::Map>; using MapMatrixXiUnaligned = Eigen::Map>;