mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-24 19:32:18 +00:00
ENH: refine the color painting logics
1. optimize color painting performance 2. fix the issue that painting does not show if moving fast after bucket fill Signed-off-by: yifan.wu <yifan.wu@bambulab.com> Change-Id: I72204aac81b14c87edb602677abeef13ee0fad8f (cherry picked from commit 02560f31c413cb561800fca242f8ef30504d0384)
This commit is contained in:
@@ -663,11 +663,7 @@ void GLGizmoMmuSegmentation::update_model_object()
|
||||
if (updated) {
|
||||
const ModelObjectPtrs &mos = wxGetApp().model().objects;
|
||||
wxGetApp().obj_list()->update_info_items(std::find(mos.begin(), mos.end(), mo) - mos.begin());
|
||||
// BBS: backup
|
||||
Slic3r::save_object_mesh(*mo);
|
||||
m_parent.post_event(SimpleEvent(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS));
|
||||
// BBS
|
||||
m_parent.post_event(SimpleEvent(EVT_GLCANVAS_FORCE_UPDATE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -756,6 +752,16 @@ std::array<float, 4> GLGizmoMmuSegmentation::get_cursor_hover_color() const
|
||||
return m_extruders_colors[0];
|
||||
}
|
||||
|
||||
void GLGizmoMmuSegmentation::on_set_state()
|
||||
{
|
||||
GLGizmoPainterBase::on_set_state();
|
||||
|
||||
if (get_state() == Off) {
|
||||
ModelObject* mo = m_c->selection_info()->model_object();
|
||||
if (mo) Slic3r::save_object_mesh(*mo);
|
||||
}
|
||||
}
|
||||
|
||||
wxString GLGizmoMmuSegmentation::handle_snapshot_action_name(bool shift_down, GLGizmoPainterBase::Button button_down) const
|
||||
{
|
||||
wxString action_name;
|
||||
|
||||
Reference in New Issue
Block a user