ENH: Support global part selection relationships
JIRA: STUDIO-5972 Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com> Change-Id: I9357ac79f42d4a3e89268cacb47b642560bd9837
This commit is contained in:
parent
33c1d5a0cf
commit
e9ce83898f
|
@ -5951,9 +5951,18 @@ void Plater::priv::set_current_panel(wxPanel* panel, bool no_slice)
|
|||
if (current_panel == view3D) {
|
||||
if (old_panel == preview)
|
||||
preview->get_canvas3d()->unbind_event_handlers();
|
||||
else if (old_panel == assemble_view)
|
||||
else if (old_panel == assemble_view) {
|
||||
assemble_view->get_canvas3d()->unbind_event_handlers();
|
||||
|
||||
GLCanvas3D* assemble_canvas = assemble_view->get_canvas3d();
|
||||
Selection::IndicesList select_idxs = assemble_canvas->get_selection().get_volume_idxs();
|
||||
Selection& view3d_selection = view3D->get_canvas3d()->get_selection();
|
||||
view3d_selection.clear();
|
||||
for (unsigned int idx : select_idxs) {
|
||||
view3d_selection.add(idx, false);
|
||||
}
|
||||
}
|
||||
|
||||
view3D->get_canvas3d()->bind_event_handlers();
|
||||
|
||||
if (view3D->is_reload_delayed()) {
|
||||
|
@ -6032,6 +6041,16 @@ void Plater::priv::set_current_panel(wxPanel* panel, bool no_slice)
|
|||
assemble_view->get_canvas3d()->bind_event_handlers();
|
||||
assemble_view->reload_scene(true);
|
||||
|
||||
if (old_panel == view3D) {
|
||||
GLCanvas3D* view3D_canvas = view3D->get_canvas3d();
|
||||
Selection::IndicesList select_idxs = view3D_canvas->get_selection().get_volume_idxs();
|
||||
Selection& assemble_selection = assemble_view->get_canvas3d()->get_selection();
|
||||
assemble_selection.clear();
|
||||
for (unsigned int idx : select_idxs) {
|
||||
assemble_selection.add(idx, false);
|
||||
}
|
||||
}
|
||||
|
||||
// BBS set default view and zoom
|
||||
if (first_enter_assemble) {
|
||||
wxGetApp().plater()->get_camera().requires_zoom_to_volumes = true;
|
||||
|
|
Loading…
Reference in New Issue