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
diff options
context:
space:
mode:
authorenricoturri1966 <enricoturri@seznam.cz>2021-09-17 09:42:01 +0300
committerenricoturri1966 <enricoturri@seznam.cz>2021-09-17 09:42:01 +0300
commit2f95c7721f9a1093bf87be296eacfc3800439981 (patch)
treec87e493218a5089a7d2062e51bcbbd64c6866ebc /src/libslic3r/TriangleMesh.cpp
parent5a84b46ec9a037adf677489d2051b3baef9fe4e1 (diff)
Follow-up of 5a84b46ec9a037adf677489d2051b3baef9fe4e1 - Faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z)
Diffstat (limited to 'src/libslic3r/TriangleMesh.cpp')
-rw-r--r--src/libslic3r/TriangleMesh.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp
index 822548412..c8bc2f763 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<float>(), static_cast<float>(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