From 83997336c88f75cc183eb7ccdb7ae002be9b0fac Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 10 Dec 2013 03:45:27 +0100 Subject: get rid of "last_post_filter" Signed-off-by: Stanislaw Halik --- .../ftnoir_accela_filtercontrols.ui | 159 ++++++--------------- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 11 +- ftnoir_filter_accela/ftnoir_filter_accela.h | 5 +- .../ftnoir_filter_accela_dialog.cpp | 4 - 4 files changed, 52 insertions(+), 127 deletions(-) (limited to 'ftnoir_filter_accela') diff --git a/ftnoir_filter_accela/ftnoir_accela_filtercontrols.ui b/ftnoir_filter_accela/ftnoir_accela_filtercontrols.ui index b48496bf9..fb6a95650 100644 --- a/ftnoir_filter_accela/ftnoir_accela_filtercontrols.ui +++ b/ftnoir_filter_accela/ftnoir_accela_filtercontrols.ui @@ -78,6 +78,9 @@ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + QFormLayout::ExpandingFieldsGrow + @@ -160,76 +163,77 @@ - - + + + + Order #2 + + + + + - + 0 0 - - - 25 - 0 - + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 150 - 16777215 - + + QAbstractSpinBox::CorrectToPreviousValue - - color:#0; -background:none; + + 4 + + + 0.100000000000000 + + 65535.000000000000000 + + + 1.000000000000000 + + + + + - Zoomed + Order #3 - - + + 0 0 - - - 20 - 22 - - - - background:none; - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - false + + QAbstractSpinBox::CorrectToPreviousValue - - % + + 4 - 0 + 0.100000000000000 - 200 - - - 1 + 65535.000000000000000 - 45 + 1.000000000000000 - + @@ -258,7 +262,7 @@ background:none; - + @@ -286,14 +290,14 @@ background:none; - + Exponent - + @@ -315,76 +319,6 @@ background:none; - - - - Order #2 - - - - - - - - 0 - 0 - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - QAbstractSpinBox::CorrectToPreviousValue - - - 4 - - - 0.100000000000000 - - - 65535.000000000000000 - - - 1.000000000000000 - - - - - - - - 0 - 0 - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - QAbstractSpinBox::CorrectToPreviousValue - - - 4 - - - 0.100000000000000 - - - 65535.000000000000000 - - - 1.000000000000000 - - - - - - - Order #3 - - - @@ -720,7 +654,6 @@ background:none; translation_alpha order_2nd order_3rd - spinZoom deadzone expt doubleSpinBox diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index a78a38c58..1046c268b 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -31,7 +31,6 @@ void FTNoIR_Filter::loadSettings() { QSettings iniFile( currentFile, QSettings::IniFormat ); // Application settings (in INI-file) iniFile.beginGroup ( "Accela" ); - zoom_factor = iniFile.value("zoom-slowness", ACCELA_ZOOM_SLOWNESS).toDouble(); rotation_alpha = iniFile.value("rotation-alpha", ACCELA_SMOOTHING_ROTATION).toDouble(); translation_alpha = iniFile.value("translation-alpha", ACCELA_SMOOTHING_TRANSLATION).toDouble(); second_order_alpha = iniFile.value("second-order-alpha", ACCELA_SECOND_ORDER_ALPHA).toDouble(); @@ -80,8 +79,7 @@ static inline T clamp(const T min, const T max, const T value) } void FTNoIR_Filter::FilterHeadPoseData(const double* target_camera_position, - double *new_camera_position, - const double* last_post_filter_values) + double *new_camera_position) { if (first_run) { @@ -136,11 +134,10 @@ void FTNoIR_Filter::FilterHeadPoseData(const double* target_camera_position, const double a = i >= 3 ? rotation_alpha : translation_alpha; const double a2 = a * second_order_alpha; const double a3 = a * third_order_alpha; - const double reduction = 1. / std::max(1., 1. + zoom_factor * -last_post_filter_values[TZ] / 1000); const double velocity = - parabola(a, vec * scaling[i], deadzone, expt) * reduction + - parabola(a2, vec2 * scaling[i], deadzone, expt) * reduction + - parabola(a3, vec3 * scaling[i], deadzone, expt) * reduction; + parabola(a, vec * scaling[i], deadzone, expt) + + parabola(a2, vec2 * scaling[i], deadzone, expt) + + parabola(a3, vec3 * scaling[i], deadzone, expt); const double result = last_output[0][i] + velocity; const bool done = sign > 0 ? result >= target_camera_position[i] : result <= target_camera_position[i]; new_camera_position[i] = done ? target_camera_position[i] : result; diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.h b/ftnoir_filter_accela/ftnoir_filter_accela.h index 0a550f0e8..d91a5e42a 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.h +++ b/ftnoir_filter_accela/ftnoir_filter_accela.h @@ -34,7 +34,6 @@ #define ACCELA_SMOOTHING_ROTATION 60.0 #define ACCELA_SMOOTHING_TRANSLATION 40.0 -#define ACCELA_ZOOM_SLOWNESS 0 #define ACCELA_SECOND_ORDER_ALPHA 100.0 #define ACCELA_THIRD_ORDER_ALPHA 180.0 @@ -46,7 +45,7 @@ class FTNoIR_Filter : public IFilter public: FTNoIR_Filter(); virtual ~FTNoIR_Filter(); - void FilterHeadPoseData(const double* target_camera_position, double *new_camera_position, const double* last_post_filter_values); + void FilterHeadPoseData(const double* target_camera_position, double *new_camera_position); void Initialize() { first_run = true; } @@ -55,7 +54,7 @@ private: QMutex mutex; void loadSettings(); bool first_run; - double rotation_alpha, translation_alpha, zoom_factor; + double rotation_alpha, translation_alpha; double second_order_alpha, third_order_alpha; double scaling[6]; double deadzone; diff --git a/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp b/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp index be6836c2c..a14db2804 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela_dialog.cpp @@ -47,8 +47,6 @@ FilterControls::FilterControls() : connect(ui.rotation_alpha, SIGNAL(valueChanged(double)), this, SLOT(settingChanged(double))); connect(ui.translation_alpha, SIGNAL(valueChanged(double)), this, SLOT(settingChanged(double))); - connect(ui.spinZoom, SIGNAL(valueChanged(int)), this, SLOT(settingChanged(int))); - QDoubleSpinBox* boxen[] = { ui.doubleSpinBox, ui.doubleSpinBox_2, @@ -157,7 +155,6 @@ void FilterControls::loadSettings() { //qDebug() << "FTNoIR_Filter::loadSettings2 says: size = " << NUM_OF(defScaleRotation); iniFile.beginGroup ( "Accela" ); - ui.spinZoom->setValue(iniFile.value("zoom-slowness", ACCELA_ZOOM_SLOWNESS).toInt()); ui.rotation_alpha->setValue(iniFile.value("rotation-alpha", ACCELA_SMOOTHING_ROTATION).toDouble()); ui.translation_alpha->setValue(iniFile.value("translation-alpha", ACCELA_SMOOTHING_TRANSLATION).toDouble()); ui.order_2nd->setValue(iniFile.value("second-order-alpha", ACCELA_SECOND_ORDER_ALPHA).toDouble()); @@ -210,7 +207,6 @@ void FilterControls::save() { iniFile.beginGroup ( "Accela" ); iniFile.setValue("rotation-alpha", ui.rotation_alpha->value()); iniFile.setValue("translation-alpha", ui.translation_alpha->value()); - iniFile.setValue("zoom-slowness", ui.spinZoom->value()); iniFile.setValue("deadzone", ui.deadzone->value()); iniFile.setValue("exponent", ui.expt->value()); iniFile.setValue("second-order-alpha", ui.order_2nd->value()); -- cgit v1.2.3