diff --git a/src/libslic3r/PrintBase.hpp b/src/libslic3r/PrintBase.hpp index 84d04d26f..f67ec4b72 100644 --- a/src/libslic3r/PrintBase.hpp +++ b/src/libslic3r/PrintBase.hpp @@ -244,8 +244,9 @@ public: // Bitmap of flags. enum FlagBits { DEFAULT, - NO_RELOAD_SCENE = 0, - RELOAD_SCENE = 1, + NO_RELOAD_SCENE = 0, + RELOAD_SCENE = 1 << 1, + RELOAD_SLA_SUPPORT_POINTS = 1 << 2, }; // Bitmap of FlagBits unsigned int flags; diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 423ee123d..e00437862 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -552,6 +552,9 @@ void SLAPrint::process() BOOST_LOG_TRIVIAL(debug) << "Automatic support points: " << po.m_supportdata->support_points.rows(); + + // Using RELOAD_SLA_SUPPORT_POINTS to tell the Plater to pass the update status to GLGizmoSlaSupports + report_status(*this, -1, L("Generating support points"), SlicingStatus::RELOAD_SLA_SUPPORT_POINTS); } else { // There are some points on the front-end, no calculation will be done. diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 1968dad69..709e9c9e5 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2229,6 +2229,9 @@ void Plater::priv::on_slicing_update(SlicingStatusEvent &evt) break; } } + if (evt.status.flags & PrintBase::SlicingStatus::RELOAD_SLA_SUPPORT_POINTS) { + // Update SLA gizmo + } } void Plater::priv::on_slicing_completed(wxCommandEvent &)