Fixed update of sequential print clearance contours when the final result, of manipulating objects with the gizmos, ends up in an identity matrix

This commit is contained in:
enricoturri1966 2023-03-16 08:46:23 +01:00
parent 2dba40789f
commit 0b20019ff2

View File

@ -3319,6 +3319,18 @@ unsigned int Plater::priv::update_background_process(bool force_validation, bool
} }
else { else {
if (invalidated == Print::APPLY_STATUS_UNCHANGED && !background_process.empty()) { if (invalidated == Print::APPLY_STATUS_UNCHANGED && !background_process.empty()) {
if (printer_technology == ptFFF) {
// Object manipulation with gizmos may end up in a null transformation.
// In this case, we need to trigger the completion of the sequential print clearance contours evaluation
GLCanvas3D* canvas = view3D->get_canvas3d();
if (canvas->is_sequential_print_clearance_evaluating()) {
GLCanvas3D::ContoursList contours;
contours.contours = background_process.fff_print()->get_sequential_print_clearance_contours();
canvas->set_sequential_print_clearance_contours(contours, true);
canvas->set_as_dirty();
canvas->request_extra_frame();
}
}
std::string warning; std::string warning;
std::string err = background_process.validate(&warning); std::string err = background_process.validate(&warning);
if (!err.empty()) if (!err.empty())