From 2f95c7721f9a1093bf87be296eacfc3800439981 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Fri, 17 Sep 2021 08:42:01 +0200 Subject: [PATCH] Follow-up of 5a84b46ec9a037adf677489d2051b3baef9fe4e1 - Faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z) --- src/libslic3r/TriangleMesh.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index 822548412b..c8bc2f7638 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -588,14 +588,12 @@ BoundingBoxf3 TriangleMesh::transformed_bounding_box(const Transform3d& trafo, d } // add new vertices along the cut - MeshSlicingParams slicing_params; - slicing_params.trafo = trafo; - Polygons polygons = union_(slice_mesh(its, world_min_z, slicing_params)); - for (const Polygon& polygon : polygons) { - for (const Point& p : polygon.points) { - bbox.merge(unscale(p.x(), p.y(), world_min_z)); - } + Points all_pts; + its_collect_mesh_projection_points_above(its, trafo.cast(), static_cast(world_min_z), all_pts); + for (const Point& p : all_pts) { + bbox.merge(unscale(p.x(), p.y(), world_min_z)); } + return bbox; } #endif // ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION