summaryrefslogtreecommitdiffhomepage
path: root/filter-accela/ftnoir_filter_accela.h
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-08-21 17:41:35 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-08-23 00:05:15 +0200
commite82b071bf96b9b514c575c87d261d28d7321c80f (patch)
tree59d5b5af9d81376ffae3217c93981ef4223ef656 /filter-accela/ftnoir_filter_accela.h
parent9b3fc73ba6d6c3b25e33b400ce0baa7226d2e32e (diff)
filter/accela: move control points .cpp from static to settings constexpr
Now the debug spline can display in dialog without connecting to running filter instance.
Diffstat (limited to 'filter-accela/ftnoir_filter_accela.h')
-rw-r--r--filter-accela/ftnoir_filter_accela.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/filter-accela/ftnoir_filter_accela.h b/filter-accela/ftnoir_filter_accela.h
index d3156429..fb2d78b2 100644
--- a/filter-accela/ftnoir_filter_accela.h
+++ b/filter-accela/ftnoir_filter_accela.h
@@ -18,6 +18,28 @@ using namespace options;
struct settings_accela : opts
{
+ static constexpr double rot_gains[][2] = {
+ { 6, 200 },
+ { 2.66, 50 },
+ { 1.66, 17 },
+ { 1, 4 },
+ { .5, .53 },
+ { 0, 0 },
+ { -1, 0 }
+ };
+
+ static constexpr double trans_gains[][2] = {
+ { 2.33, 40 },
+ { 1.66, 13 },
+ { 1.33, 5 },
+ { .66, 1 },
+ { .33, .5 },
+ { 0, 0 },
+ { -1, 0 }
+ };
+
+ static void make_splines(spline& rot, spline& trans);
+
value<int> rot_threshold, trans_threshold, ewma, rot_deadzone, trans_deadzone;
value<slider_value> rot_nonlinearity;
static constexpr double mult_rot = 4. / 100.;
@@ -75,12 +97,11 @@ class FilterControls: public IFilterDialog
Q_OBJECT
public:
FilterControls();
- void register_filter(IFilter* filter);
- void unregister_filter();
+ void register_filter(IFilter*) override {}
+ void unregister_filter() override {}
private:
Ui::AccelaUICFilterControls ui;
void save();
- FTNoIR_Filter* accela_filter;
settings_accela s;
private slots:
void doOK();