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:
Diffstat (limited to 'src/libslic3r/Fill/Fill3DHoneycomb.cpp')
-rw-r--r--src/libslic3r/Fill/Fill3DHoneycomb.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/libslic3r/Fill/Fill3DHoneycomb.cpp b/src/libslic3r/Fill/Fill3DHoneycomb.cpp
index 8aac6e49c..2ddca7fe4 100644
--- a/src/libslic3r/Fill/Fill3DHoneycomb.cpp
+++ b/src/libslic3r/Fill/Fill3DHoneycomb.cpp
@@ -137,7 +137,7 @@ void Fill3DHoneycomb::_fill_surface_single(
const FillParams &params,
unsigned int thickness_layers,
const std::pair<float, Point> &direction,
- ExPolygon &expolygon,
+ ExPolygon expolygon,
Polylines &polylines_out)
{
// no rotation is supported for this infill pattern
@@ -162,15 +162,13 @@ void Fill3DHoneycomb::_fill_surface_single(
pl.translate(bb.min);
// clip pattern to boundaries, chain the clipped polylines
- Polylines polylines_chained = chain_polylines(intersection_pl(polylines, to_polygons(expolygon)));
+ polylines = intersection_pl(polylines, to_polygons(expolygon));
// connect lines if needed
- if (! polylines_chained.empty()) {
- if (params.dont_connect)
- append(polylines_out, std::move(polylines_chained));
- else
- this->connect_infill(std::move(polylines_chained), expolygon, polylines_out, this->spacing, params);
- }
+ if (params.dont_connect() || polylines.size() <= 1)
+ append(polylines_out, chain_polylines(std::move(polylines)));
+ else
+ this->connect_infill(std::move(polylines), expolygon, polylines_out, this->spacing, params);
}
} // namespace Slic3r