diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-02-17 05:43:31 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-02-17 05:43:31 +0100 |
commit | 0c3b7542d56bcd463951a122772758bc30cc22a6 (patch) | |
tree | e9289e075991d7026b04898208e92fe74cf73f17 /qfunctionconfigurator/functionconfig.cpp | |
parent | 89afdb5176d7e36ed37cf2d33592a81f6527e0fc (diff) | |
parent | 7bc719e01816501afbc217ca29e5a78b9998b172 (diff) |
Merge branch 'unstable' of github.com:opentrack/opentrack into unstable
Diffstat (limited to 'qfunctionconfigurator/functionconfig.cpp')
-rw-r--r-- | qfunctionconfigurator/functionconfig.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/qfunctionconfigurator/functionconfig.cpp b/qfunctionconfigurator/functionconfig.cpp index 4f808c80..e4a7e283 100644 --- a/qfunctionconfigurator/functionconfig.cpp +++ b/qfunctionconfigurator/functionconfig.cpp @@ -24,8 +24,12 @@ Map::Map() : float Map::getValue(float x) { QMutexLocker foo(&_mutex); - int x2 = x * (double) MEMOIZE_PRECISION; - float ret = getValueInternal(x2); + double q = x * (double) MEMOIZE_PRECISION; + int xi = (int)q; + float yi = getValueInternal(xi); + float yiplus1 = getValueInternal(xi+1); + float f = (q-xi); + float ret = yiplus1 * f + yi * (1.0f - f); // at least do a linear interpolation. last_input_value.setX(x); last_input_value.setY(ret); return ret; |