diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2017-10-20 17:53:21 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-10-20 17:53:21 +0200 |
commit | 39e209983bd1f04fb0beefef754d7430c8b7fb9f (patch) | |
tree | ec41545dda2d33d316adc6466f21138a280db6a8 /gui/mapping-window.cpp | |
parent | 092e2910ae8f6c2e188e930b9540d58e145c9142 (diff) |
logic, spline: more spline work/fixes
- mapping window clamps are now value<max_clamp> in
spline
- clamp won't mess up saved spline content
- clean up artifacts on spline widget
Diffstat (limited to 'gui/mapping-window.cpp')
-rw-r--r-- | gui/mapping-window.cpp | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/gui/mapping-window.cpp b/gui/mapping-window.cpp index 0726186a..629bcd5b 100644 --- a/gui/mapping-window.cpp +++ b/gui/mapping-window.cpp @@ -56,14 +56,14 @@ MapWidget::MapWidget(Mappings& m) : m(m), widgets{} tie_setting(s.a_y.altp, ui.ty_altp); tie_setting(s.a_z.altp, ui.tz_altp); - tie_setting(s.a_yaw.clamp_x, ui.max_yaw_rotation); - tie_setting(s.a_pitch.clamp_x, ui.max_pitch_rotation); - tie_setting(s.a_roll.clamp_x, ui.max_roll_rotation); - tie_setting(s.a_x.clamp_x, ui.max_x_translation); - tie_setting(s.a_y.clamp_x, ui.max_y_translation); - tie_setting(s.a_z.clamp_x, ui.max_z_translation); - - tie_setting(s.a_pitch.clamp_y, ui.max_pitch_output); + tie_setting(s.a_yaw.clamp_x_, ui.max_yaw_rotation); + tie_setting(s.a_pitch.clamp_x_, ui.max_pitch_rotation); + tie_setting(s.a_roll.clamp_x_, ui.max_roll_rotation); + tie_setting(s.a_x.clamp_x_, ui.max_x_translation); + tie_setting(s.a_y.clamp_x_, ui.max_y_translation); + tie_setting(s.a_z.clamp_x_, ui.max_z_translation); + + tie_setting(s.a_pitch.clamp_y_, ui.max_pitch_output); } void MapWidget::load() @@ -123,10 +123,9 @@ void MapWidget::load() qfc.force_redraw(); } - connect(&axis.opts.clamp_x, base_value::signal_fun<int>(), + connect(&axis.opts.clamp_x_, base_value::signal_fun<int>(), &qfc, [i, &conf, &qfc](int value) { - conf.set_max_input(value); - qfc.reload_spline(); + //qfc.reload_spline(); qfc.set_x_step(value + 1e-2 >= 90 ? 10 : 5); if (i >= 3) @@ -140,30 +139,10 @@ void MapWidget::load() // force signal to avoid duplicating the slot's logic qfc.setConfig(&conf); - axis.opts.clamp_x.valueChanged(axis.opts.clamp_x); + axis.opts.clamp_x_.valueChanged(axis.opts.clamp_x_); widgets[i % 6][altp ? 1 : 0] = &qfc; } - - { - value<axis_opts::max_clamp>& val = s.a_pitch.clamp_y; - - Map& axis = m(Pitch); - - connect(&val, base_value::signal_fun<int>(), this, [&](int x) { - x = std::abs(x); - - spline* splines[] { &axis.spline_main, &axis.spline_alt }; - - for (spline* spl : splines) - spl->set_max_output(x); - - ui.ryconfig->setConfig(&axis.spline_main); - ui.ryconfig_alt->setConfig(&axis.spline_alt); - }); - - axis.opts.clamp_y.valueChanged(axis.opts.clamp_y); - } } void MapWidget::closeEvent(QCloseEvent*) |