mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-02 07:10:37 +08:00
Revert "SPE-1865: Fixed crash caused by inserting empty ExtrusionEntityCollection."
This reverts commit 649c1083576b6bf3e0038016e16fa9ecd691cfb9.
This commit is contained in:
parent
a80dfb031b
commit
32c779090f
@ -543,19 +543,19 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
|||||||
flow_mm3_per_mm = new_flow.mm3_per_mm();
|
flow_mm3_per_mm = new_flow.mm3_per_mm();
|
||||||
flow_width = new_flow.width();
|
flow_width = new_flow.width();
|
||||||
}
|
}
|
||||||
auto fill_begin = uint32_t(layerm.fills().size());
|
// Save into layer.
|
||||||
// Save into layer.
|
ExtrusionEntityCollection* eec = nullptr;
|
||||||
if (ExtrusionEntityCollection *eec = nullptr; params.use_arachne) {
|
auto fill_begin = uint32_t(layerm.fills().size());
|
||||||
|
layerm.m_fills.entities.push_back(eec = new ExtrusionEntityCollection());
|
||||||
|
// Only concentric fills are not sorted.
|
||||||
|
eec->no_sort = f->no_sort();
|
||||||
|
if (params.use_arachne) {
|
||||||
for (const ThickPolyline &thick_polyline : thick_polylines) {
|
for (const ThickPolyline &thick_polyline : thick_polylines) {
|
||||||
Flow new_flow = surface_fill.params.flow.with_spacing(float(f->spacing));
|
Flow new_flow = surface_fill.params.flow.with_spacing(float(f->spacing));
|
||||||
|
|
||||||
ExtrusionMultiPath multi_path = PerimeterGenerator::thick_polyline_to_multi_path(thick_polyline, surface_fill.params.extrusion_role, new_flow, scaled<float>(0.05), float(SCALED_EPSILON));
|
ExtrusionMultiPath multi_path = PerimeterGenerator::thick_polyline_to_multi_path(thick_polyline, surface_fill.params.extrusion_role, new_flow, scaled<float>(0.05), float(SCALED_EPSILON));
|
||||||
// Append paths to collection.
|
// Append paths to collection.
|
||||||
if (!multi_path.empty()) {
|
if (!multi_path.empty()) {
|
||||||
layerm.m_fills.entities.push_back(eec = new ExtrusionEntityCollection());
|
|
||||||
// Only concentric fills are not sorted.
|
|
||||||
eec->no_sort = f->no_sort();
|
|
||||||
|
|
||||||
if (multi_path.paths.front().first_point() == multi_path.paths.back().last_point())
|
if (multi_path.paths.front().first_point() == multi_path.paths.back().last_point())
|
||||||
eec->entities.emplace_back(new ExtrusionLoop(std::move(multi_path.paths)));
|
eec->entities.emplace_back(new ExtrusionLoop(std::move(multi_path.paths)));
|
||||||
else
|
else
|
||||||
@ -565,10 +565,6 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
|||||||
|
|
||||||
thick_polylines.clear();
|
thick_polylines.clear();
|
||||||
} else {
|
} else {
|
||||||
layerm.m_fills.entities.push_back(eec = new ExtrusionEntityCollection());
|
|
||||||
// Only concentric fills are not sorted.
|
|
||||||
eec->no_sort = f->no_sort();
|
|
||||||
|
|
||||||
extrusion_entities_append_paths(
|
extrusion_entities_append_paths(
|
||||||
eec->entities, std::move(polylines),
|
eec->entities, std::move(polylines),
|
||||||
ExtrusionAttributes{ surface_fill.params.extrusion_role,
|
ExtrusionAttributes{ surface_fill.params.extrusion_role,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user