From 9abe07852e0a22e3e8de7e55e8887109063a0bea Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sat, 12 Nov 2016 23:20:49 +0100 Subject: [PATCH] Fixed https://github.com/prusa3d/Slic3r/issues/32 --- xs/src/libslic3r/ExtrusionEntity.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xs/src/libslic3r/ExtrusionEntity.cpp b/xs/src/libslic3r/ExtrusionEntity.cpp index 4f5386878..624cdccbc 100644 --- a/xs/src/libslic3r/ExtrusionEntity.cpp +++ b/xs/src/libslic3r/ExtrusionEntity.cpp @@ -58,7 +58,9 @@ ExtrusionPath::_inflate_collection(const Polylines &polylines, ExtrusionEntityCo void ExtrusionPath::polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const { - offset(this->polyline, &out, scale_(this->width/2) + scaled_epsilon); + Polygons tmp; + offset(this->polyline, &tmp, scale_(this->width/2) + scaled_epsilon); + polygons_append(out, STDMOVE(tmp)); } void ExtrusionPath::polygons_covered_by_spacing(Polygons &out, const float scaled_epsilon) const @@ -66,7 +68,9 @@ void ExtrusionPath::polygons_covered_by_spacing(Polygons &out, const float scale // Instantiating the Flow class to get the line spacing. // Don't know the nozzle diameter, setting to zero. It shall not matter it shall be optimized out by the compiler. Flow flow(this->width, this->height, 0.f, this->is_bridge()); - offset(this->polyline, &out, 0.5f * flow.scaled_spacing() + scaled_epsilon); + Polygons tmp; + offset(this->polyline, &tmp, 0.5f * flow.scaled_spacing() + scaled_epsilon); + polygons_append(out, STDMOVE(tmp)); } bool