Feature/misc fixes of toolchanger (#6396)
* Use more readable data types for storing triangle splitting information. * fix build errors * SPE-2063: Determine correctly which extruders are used when the object is painted by the multi-material painting gizmo. During the serialization of TriangleSelector and also during reading serialized painting data from 3MF, we cache all used states in the painted triangle mesh. Based on this information, we can quickly determine which extruders are used and which don't. * Fixed an bug that filament list was not updated properly --------- Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
This commit is contained in:
@@ -1354,7 +1354,7 @@ void Sidebar::update_presets(Preset::Type preset_type)
|
||||
for (size_t i = 0; i < filament_cnt; i++)
|
||||
p->combos_filament[i]->update();
|
||||
|
||||
dynamic_filament_list.update();
|
||||
update_dynamic_filament_list();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1637,7 +1637,7 @@ void Sidebar::on_filaments_change(size_t num_filaments)
|
||||
Layout();
|
||||
p->m_panel_filament_title->Refresh();
|
||||
update_ui_from_settings();
|
||||
dynamic_filament_list.update();
|
||||
update_dynamic_filament_list();
|
||||
}
|
||||
|
||||
void Sidebar::add_filament() {
|
||||
@@ -1818,7 +1818,7 @@ void Sidebar::sync_ams_list()
|
||||
c->update();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->select_preset(wxGetApp().preset_bundle->filament_presets[0]);
|
||||
wxGetApp().preset_bundle->export_selections(*wxGetApp().app_config);
|
||||
dynamic_filament_list.update();
|
||||
update_dynamic_filament_list();
|
||||
// Expand filament list
|
||||
p->m_panel_filament_content->SetMaxSize({-1, -1});
|
||||
// BBS:Synchronized consumables information
|
||||
@@ -1854,6 +1854,12 @@ void Sidebar::show_SEMM_buttons(bool bshow)
|
||||
Layout();
|
||||
}
|
||||
|
||||
void Sidebar::update_dynamic_filament_list()
|
||||
{
|
||||
dynamic_filament_list.update();
|
||||
dynamic_filament_list_1_based.update();
|
||||
}
|
||||
|
||||
ObjectList* Sidebar::obj_list()
|
||||
{
|
||||
// BBS
|
||||
@@ -6535,7 +6541,7 @@ void Plater::priv::on_select_preset(wxCommandEvent &evt)
|
||||
wxGetApp().preset_bundle->set_filament_preset(idx, preset_name);
|
||||
wxGetApp().plater()->update_project_dirty_from_presets();
|
||||
wxGetApp().preset_bundle->export_selections(*wxGetApp().app_config);
|
||||
dynamic_filament_list.update();
|
||||
sidebar->update_dynamic_filament_list();
|
||||
bool flag_is_change = is_support_filament(idx);
|
||||
if (flag != flag_is_change) {
|
||||
sidebar->auto_calc_flushing_volumes(idx);
|
||||
@@ -12794,7 +12800,7 @@ void Plater::on_config_change(const DynamicPrintConfig &config)
|
||||
|
||||
if (update_filament_colors_in_full_config()) {
|
||||
p->sidebar->obj_list()->update_filament_colors();
|
||||
dynamic_filament_list.update();
|
||||
p->sidebar->update_dynamic_filament_list();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -12851,9 +12857,9 @@ void Plater::on_config_change(const DynamicPrintConfig &config)
|
||||
bed_shape_changed = true;
|
||||
update_scheduled = true;
|
||||
}
|
||||
// BBS
|
||||
else if (opt_key == "support_interface_filament" ||
|
||||
opt_key == "support_filament") {
|
||||
// Orca: update when *_filament changed
|
||||
else if (opt_key == "support_interface_filament" || opt_key == "support_filament" || opt_key == "wall_filament" ||
|
||||
opt_key == "sparse_infill_filament" || opt_key == "solid_infill_filament") {
|
||||
update_scheduled = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user