Merge branch 'tm_arrange_perf_improve'

This commit is contained in:
tamasmeszaros 2020-11-24 16:20:17 +01:00
commit 0bfbe18a3c
5 changed files with 17 additions and 10 deletions

View file

@ -3892,7 +3892,7 @@ bool GLCanvas3D::_render_arrange_menu(float pos_x)
settings_changed = true;
}
if (imgui->checkbox(_(L("Enable rotations")), settings.enable_rotation)) {
if (imgui->checkbox(_(L("Enable rotations (slow)")), settings.enable_rotation)) {
m_arrange_settings.enable_rotation = settings.enable_rotation;
settings_changed = true;
}

View file

@ -158,14 +158,14 @@ void ArrangeJob::process()
params.stopcondition = [this]() { return was_canceled(); };
try {
params.progressind = [this, count](unsigned st) {
params.progressind = [this, count](unsigned st, unsigned) {
st += m_unprintable.size();
if (st > 0) update_status(int(count - st), arrangestr);
};
arrangement::arrange(m_selected, m_unselected, bedpts, params);
params.progressind = [this, count](unsigned st) {
params.progressind = [this, count](unsigned st, unsigned) {
if (st > 0) update_status(int(count - st), arrangestr);
};

View file

@ -90,9 +90,13 @@ void FillBedJob::process()
params.min_obj_distance = scaled(settings.distance);
params.allow_rotations = settings.enable_rotation;
params.stopcondition = [this]() { return was_canceled(); };
unsigned curr_bed = 0;
params.stopcondition = [this, &curr_bed]() {
return was_canceled() || curr_bed > 0;
};
params.progressind = [this](unsigned st) {
params.progressind = [this, &curr_bed](unsigned st, unsigned bed) {
curr_bed = bed;
if (st > 0)
update_status(int(m_status_range - st), _(L("Filling bed")));
};