ENH: step mesh operation adjustment

1.Put commctrl.h into pch precompilation(OCCT conflicts)

2.Replace input wxWidgets to support loss focus verification(STUDIO-8101)

3.Optimize slider interaction and trigger mesh when push up slider(STUDIO-8099)

4.Optimize step loading method, separate import of step and mesh

5.Fix dialog cancel button logic;

6.mesh tasks into sub-threads to prevent blocking the UI;

JIRA: STUDIO-8101 STUDIO-8099
Change-Id: I50bbb43953a5128f358c6880032d20693531333b
(cherry picked from commit ed7ab6b505a2becf8f38edb3c43b96e51eac3317)
This commit is contained in:
Mack 2024-09-20 18:12:48 +08:00 committed by Noisyfox
parent e1477e642c
commit f91b520bb8
11 changed files with 326 additions and 94 deletions

View file

@ -4156,17 +4156,17 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
filament_ids.clear();
}
};
auto step_mesh = [this, &path, &is_user_cancel](double& linear_value, double& angle_value)-> int {
auto step_mesh = [this, &path, &is_user_cancel](Slic3r::Step& file, double& linear_value, double& angle_value)-> int {
if (boost::iends_with(path.string(), ".step") ||
boost::iends_with(path.string(), ".stp")){
StepMeshDialog mesh_dlg(nullptr, path);
StepMeshDialog mesh_dlg(nullptr, file);
if (mesh_dlg.ShowModal() == wxID_OK) {
linear_value = mesh_dlg.get_linear_defletion();
angle_value = mesh_dlg.get_angle_defletion();
return 1;
}
}
is_user_cancel = false;
is_user_cancel = true;
return -1;
};
model = Slic3r::Model:: read_from_file(