Follow-up to f24b4e86a9
:
Fixed compilation on OSX Fixed incorrect clear of LayerIslands.
This commit is contained in:
parent
f24b4e86a9
commit
28f8997dd3
3 changed files with 9 additions and 7 deletions
|
@ -2399,7 +2399,8 @@ void GCode::process_layer_single_object(
|
|||
for (uint32_t perimeter_id : island.perimeters)
|
||||
if (const auto *eec = static_cast<const ExtrusionEntityCollection*>(layerm.perimeters().entities[perimeter_id]);
|
||||
shall_print_this_extrusion_collection(eec, region)) {
|
||||
assert(! eec->can_reverse());
|
||||
// This may not apply to Arachne, but maybe the Arachne gap fill should disable reverse as well?
|
||||
// assert(! eec->can_reverse());
|
||||
if (first) {
|
||||
first = false;
|
||||
init_layer_delayed();
|
||||
|
|
|
@ -188,7 +188,7 @@ void ToolOrdering::initialize_layers(std::vector<coordf_t> &zs)
|
|||
}
|
||||
|
||||
// Decides whether this entity could be overridden
|
||||
static [[nodiscard]] bool is_overriddable(const ExtrusionEntityCollection& eec, const LayerTools& lt, const PrintConfig& print_config, const PrintObject& object, const PrintRegion& region)
|
||||
[[nodiscard]] static bool is_overriddable(const ExtrusionEntityCollection& eec, const LayerTools& lt, const PrintConfig& print_config, const PrintObject& object, const PrintRegion& region)
|
||||
{
|
||||
if (print_config.filament_soluble.get_at(lt.extruder(eec, region)))
|
||||
return false;
|
||||
|
@ -631,7 +631,7 @@ void WipingExtrusions::set_extruder_override(const ExtrusionEntity* entity, size
|
|||
}
|
||||
|
||||
// Finds first non-soluble extruder on the layer
|
||||
static [[nodiscard]] int first_nonsoluble_extruder_on_layer(const PrintConfig& print_config, const LayerTools& layer_tools)
|
||||
[[nodiscard]] static int first_nonsoluble_extruder_on_layer(const PrintConfig& print_config, const LayerTools& layer_tools)
|
||||
{
|
||||
for (auto extruders_it = layer_tools.extruders.begin(); extruders_it != layer_tools.extruders.end(); ++extruders_it)
|
||||
if (!print_config.filament_soluble.get_at(*extruders_it))
|
||||
|
@ -641,7 +641,7 @@ static [[nodiscard]] int first_nonsoluble_extruder_on_layer(const PrintConfig& p
|
|||
}
|
||||
|
||||
// Finds last non-soluble extruder on the layer
|
||||
static [[nodiscard]] int last_nonsoluble_extruder_on_layer(const PrintConfig& print_config, const LayerTools& layer_tools)
|
||||
[[nodiscard]] static int last_nonsoluble_extruder_on_layer(const PrintConfig& print_config, const LayerTools& layer_tools)
|
||||
{
|
||||
for (auto extruders_it = layer_tools.extruders.rbegin(); extruders_it != layer_tools.extruders.rend(); ++extruders_it)
|
||||
if (!print_config.filament_soluble.get_at(*extruders_it))
|
||||
|
|
|
@ -398,6 +398,9 @@ void Layer::make_perimeters()
|
|||
layerm.m_fill_expolygons_composite_bboxes.clear();
|
||||
};
|
||||
|
||||
for (LayerSlice &lslice : this->lslices_ex)
|
||||
lslice.islands.clear();
|
||||
|
||||
for (LayerRegionPtrs::iterator layerm = m_regions.begin(); layerm != m_regions.end(); ++ layerm)
|
||||
if (size_t region_id = layerm - m_regions.begin(); ! done[region_id]) {
|
||||
layer_region_reset_perimeters(**layerm);
|
||||
|
@ -496,9 +499,6 @@ void Layer::sort_perimeters_into_islands(
|
|||
// If the current layer consists of multiple regions, then the fill_expolygons above are split by the source LayerRegion surfaces.
|
||||
const std::vector<uint32_t> &layer_region_ids)
|
||||
{
|
||||
for (LayerSlice &lslice : this->lslices_ex)
|
||||
lslice.islands.clear();
|
||||
|
||||
LayerRegion &this_layer_region = *m_regions[region_id];
|
||||
|
||||
// Bounding boxes of fill_expolygons.
|
||||
|
@ -705,6 +705,7 @@ void Layer::sort_perimeters_into_islands(
|
|||
perimeter_slices_queue.pop_back();
|
||||
}
|
||||
}
|
||||
assert(perimeter_slices_queue.empty());
|
||||
}
|
||||
|
||||
void Layer::export_region_slices_to_svg(const char *path) const
|
||||
|
|
Loading…
Reference in a new issue