ENH: revert "ENH: fix for modifier region issue"

The original patch can't fix empty layer issue

Revert.

This reverts commit 152a650fb80a84523e977b15f5f30d28837d80e9.

Change-Id: Ib6d47ac981fca24ca953b45068703bbcd231cf95
This commit is contained in:
salt.wei 2022-10-20 13:27:53 +08:00 committed by Lane.Wei
parent cef16d9e7b
commit cc853d9061
1 changed files with 3 additions and 18 deletions

View File

@ -109,10 +109,6 @@ struct SurfaceFill {
Surface surface; Surface surface;
ExPolygons expolygons; ExPolygons expolygons;
SurfaceFillParams params; SurfaceFillParams params;
//BBS
std::vector<size_t> region_id_group;
ExPolygons no_overlap_expolygons;
}; };
// BBS: used to judge whether the internal solid infill area is narrow // BBS: used to judge whether the internal solid infill area is narrow
@ -214,18 +210,8 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
fill.region_id = region_id; fill.region_id = region_id;
fill.surface = surface; fill.surface = surface;
fill.expolygons.emplace_back(std::move(fill.surface.expolygon)); fill.expolygons.emplace_back(std::move(fill.surface.expolygon));
//BBS } else
fill.region_id_group.push_back(region_id);
fill.no_overlap_expolygons = layerm.fill_no_overlap_expolygons;
} else {
fill.expolygons.emplace_back(surface.expolygon); fill.expolygons.emplace_back(surface.expolygon);
//BBS
auto t = find(fill.region_id_group.begin(), fill.region_id_group.end(), region_id);
if (t == fill.region_id_group.end()) {
fill.region_id_group.push_back(region_id);
fill.no_overlap_expolygons = union_ex(fill.no_overlap_expolygons, layerm.fill_no_overlap_expolygons);
}
}
} }
} }
} }
@ -467,8 +453,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
LayerRegion* layerm = this->m_regions[surface_fill.region_id]; LayerRegion* layerm = this->m_regions[surface_fill.region_id];
for (ExPolygon& expoly : surface_fill.expolygons) { for (ExPolygon& expoly : surface_fill.expolygons) {
//f->no_overlap_expolygons = intersection_ex(layerm->fill_no_overlap_expolygons, ExPolygons() = { expoly }); f->no_overlap_expolygons = intersection_ex(layerm->fill_no_overlap_expolygons, ExPolygons() = { expoly });
f->no_overlap_expolygons = intersection_ex(surface_fill.no_overlap_expolygons, ExPolygons() = { expoly });
// Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon. // Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon.
f->spacing = surface_fill.params.spacing; f->spacing = surface_fill.params.spacing;
surface_fill.surface.expolygon = std::move(expoly); surface_fill.surface.expolygon = std::move(expoly);