Added invalidation of the sliced object when gap-fill enabled/disabled if the object is painted using the multi-material painting gizmo.

Filtering of unprintable regions in multi-material segmentation depends on if gap-fill is enabled or not. So sliced object is invalidated when gap-fill was enabled/disabled by option "gap_fill_enabled" or by changing "gap_fill_speed" to force recomputation of the multi-material segmentation.
This commit is contained in:
Lukáš Hejl 2021-07-29 13:02:33 +02:00
parent b16aada962
commit 742a373c1f
4 changed files with 32 additions and 2 deletions
src/libslic3r

View file

@ -725,6 +725,11 @@ void ModelObject::clear_volumes()
this->invalidate_bounding_box();
}
bool ModelObject::is_mm_painted() const
{
return std::any_of(this->volumes.cbegin(), this->volumes.cend(), [](const ModelVolume *mv) { return mv->is_mm_painted(); });
}
void ModelObject::sort_volumes(bool full_sort)
{
// sort volumes inside the object to order "Model Part, Negative Volume, Modifier, Support Blocker and Support Enforcer. "