Fix of ironing invalidation. Fixes

Ironing flag ignored on infill rotate #4937
Ironing does not take effect when you change Top Fill Pattern. #4900
Ironing layer not shown in preview when settings are changed #4510
This commit is contained in:
Vojtech Bubnik 2020-10-22 17:36:51 +02:00
parent 027ab4fb02
commit b1b7a5ad1b

View File

@ -650,14 +650,14 @@ bool PrintObject::invalidate_step(PrintObjectStep step)
// propagate to dependent steps
if (step == posPerimeters) {
invalidated |= this->invalidate_steps({ posPrepareInfill, posInfill });
invalidated |= this->invalidate_steps({ posPrepareInfill, posInfill, posIroning });
invalidated |= m_print->invalidate_steps({ psSkirt, psBrim });
} else if (step == posPrepareInfill) {
invalidated |= this->invalidate_step(posInfill);
invalidated |= this->invalidate_step(posInfill, posIroning);
} else if (step == posInfill) {
invalidated |= m_print->invalidate_steps({ psSkirt, psBrim });
} else if (step == posSlice) {
invalidated |= this->invalidate_steps({ posPerimeters, posPrepareInfill, posInfill, posSupportMaterial });
invalidated |= this->invalidate_steps({ posPerimeters, posPrepareInfill, posInfill, posIroning, posSupportMaterial });
invalidated |= m_print->invalidate_steps({ psSkirt, psBrim });
this->m_slicing_params.valid = false;
} else if (step == posSupportMaterial) {