Small memory optimization for some infills (#12063)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run

This commit is contained in:
Rodrigo Faselli 2026-02-03 12:46:31 -03:00 committed by GitHub
parent b954749310
commit 72a2eaf82e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 5 additions and 5 deletions

View file

@ -277,7 +277,7 @@ void Fill3DHoneycomb::_fill_surface_single(
multiline_fill(polylines, params, spacing);
// clip pattern to boundaries, chain the clipped polylines
polylines = intersection_pl(polylines, to_polygons(expolygon));
polylines = intersection_pl(std::move(polylines), to_polygons(expolygon));
if (! polylines.empty()) {
// Remove very small bits, but be careful to not remove infill lines connecting thin walls!

View file

@ -208,7 +208,7 @@ void FillCrossHatch ::_fill_surface_single(
// Apply multiline offset if needed
multiline_fill(polylines, params, spacing);
polylines = intersection_pl(polylines, to_polygons(expolygon));
polylines = intersection_pl(std::move(polylines), to_polygons(expolygon));
// --- remove small remains from gyroid infill
if (!polylines.empty()) {

View file

@ -187,7 +187,7 @@ void FillGyroid::_fill_surface_single(
// Apply multiline offset if needed
multiline_fill(polylines, params, spacing);
polylines = intersection_pl(polylines, expolygon);
polylines = intersection_pl(std::move(polylines), expolygon);
if (! polylines.empty()) {
// Remove very small bits, but be careful to not remove infill lines connecting thin walls!

View file

@ -58,7 +58,7 @@ void FillLine::_fill_surface_single(
pts.push_back(it->a);
pts.push_back(it->b);
}
Polylines polylines = intersection_pl(polylines_src, offset(expolygon, scale_(0.02)));
Polylines polylines = intersection_pl(std::move(polylines_src), offset(expolygon, scale_(0.02)));
// FIXME Vojtech: This is only performed for horizontal lines, not for the vertical lines!
const float INFILL_OVERLAP_OVER_SPACING = 0.3f;

View file

@ -133,7 +133,7 @@ void FillTpmsD::_fill_surface_single(
// Apply multiline offset if needed
multiline_fill(polylines, params, spacing);
polylines = intersection_pl(polylines, expolygon);
polylines = intersection_pl(std::move(polylines), expolygon);
if (! polylines.empty()) {
// Remove very small bits, but be careful to not remove infill lines connecting thin walls!