From 691e5f3be0880f54872e4143f0e2dc05891cb5d7 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Mon, 26 Oct 2015 11:07:54 -0700 Subject: [PATCH] Remove new/old value division from endpoint::apply --- .../src/controllers/UserInputMapper.cpp | 4 ++-- .../controllers/src/controllers/impl/Endpoint.h | 12 ++++++------ .../impl/endpoints/ActionEndpoint.cpp | 6 +++--- .../controllers/impl/endpoints/ActionEndpoint.h | 4 ++-- .../controllers/impl/endpoints/AnyEndpoint.cpp | 2 +- .../src/controllers/impl/endpoints/AnyEndpoint.h | 2 +- .../controllers/impl/endpoints/ArrayEndpoint.h | 4 ++-- .../impl/endpoints/CompositeEndpoint.cpp | 2 +- .../impl/endpoints/CompositeEndpoint.h | 2 +- .../controllers/impl/endpoints/InputEndpoint.h | 4 ++-- .../src/controllers/impl/endpoints/JSEndpoint.h | 2 +- .../impl/endpoints/ScriptEndpoint.cpp | 15 +++++++-------- .../controllers/impl/endpoints/ScriptEndpoint.h | 4 ++-- .../impl/endpoints/StandardEndpoint.h | 16 ++++++++-------- 14 files changed, 39 insertions(+), 40 deletions(-) diff --git a/libraries/controllers/src/controllers/UserInputMapper.cpp b/libraries/controllers/src/controllers/UserInputMapper.cpp index 2579c7dbec..4a055e3c3f 100755 --- a/libraries/controllers/src/controllers/UserInputMapper.cpp +++ b/libraries/controllers/src/controllers/UserInputMapper.cpp @@ -529,7 +529,7 @@ bool UserInputMapper::applyRoute(const Route::Pointer& route, bool force) { } } // no filters yet for pose - destination->apply(value, Pose(), source); + destination->apply(value, source); } else { // Fetch the value, may have been overriden by previous loopback routes float value = getValue(source); @@ -546,7 +546,7 @@ bool UserInputMapper::applyRoute(const Route::Pointer& route, bool force) { qCDebug(controllers) << "Filtered value was " << value; } - destination->apply(value, 0, source); + destination->apply(value, source); } return true; } diff --git a/libraries/controllers/src/controllers/impl/Endpoint.h b/libraries/controllers/src/controllers/impl/Endpoint.h index f5fe058d82..5dd3f6adb4 100644 --- a/libraries/controllers/src/controllers/impl/Endpoint.h +++ b/libraries/controllers/src/controllers/impl/Endpoint.h @@ -37,9 +37,9 @@ namespace controller { Endpoint(const Input& input) : _input(input) {} virtual float value() = 0; - virtual void apply(float newValue, float oldValue, const Pointer& source) = 0; + virtual void apply(float value, const Pointer& source) = 0; virtual Pose pose() { return Pose(); } - virtual void apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) {} + virtual void apply(const Pose& value, const Pointer& source) {} virtual const bool isPose() { return _input.isPose(); } virtual bool writeable() const { return true; } @@ -58,7 +58,7 @@ namespace controller { : Endpoint(Input::INVALID_INPUT), _readLambda(readLambda), _writeLambda(writeLambda) { } virtual float value() override { return _readLambda(); } - virtual void apply(float newValue, float oldValue, const Pointer& source) override { _writeLambda(newValue); } + virtual void apply(float value, const Pointer& source) override { _writeLambda(value); } private: ReadLambda _readLambda; @@ -73,11 +73,11 @@ namespace controller { } virtual float value() override { return _currentValue; } - virtual void apply(float newValue, float oldValue, const Pointer& source) override { _currentValue = newValue; } + virtual void apply(float value, const Pointer& source) override { _currentValue = value; } virtual Pose pose() override { return _currentPose; } - virtual void apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) override { - _currentPose = newValue; + virtual void apply(const Pose& value, const Pointer& source) override { + _currentPose = value; } protected: float _currentValue { 0.0f }; diff --git a/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.cpp b/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.cpp index d07ef38185..b671d8e93c 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.cpp +++ b/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.cpp @@ -14,7 +14,7 @@ using namespace controller; -void ActionEndpoint::apply(float newValue, float oldValue, const Pointer& source) { +void ActionEndpoint::apply(float newValue, const Pointer& source) { _currentValue += newValue; if (_input != Input::INVALID_INPUT) { auto userInputMapper = DependencyManager::get(); @@ -22,8 +22,8 @@ void ActionEndpoint::apply(float newValue, float oldValue, const Pointer& source } } -void ActionEndpoint::apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) { - _currentPose = newValue; +void ActionEndpoint::apply(const Pose& value, const Pointer& source) { + _currentPose = value; if (!_currentPose.isValid()) { return; } diff --git a/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.h index eaae1e3798..574fdcedb5 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/ActionEndpoint.h @@ -24,10 +24,10 @@ public: ActionEndpoint(const Input& id = Input::INVALID_INPUT) : Endpoint(id) { } virtual float value() override { return _currentValue; } - virtual void apply(float newValue, float oldValue, const Pointer& source) override; + virtual void apply(float newValue, const Pointer& source) override; virtual Pose pose() override { return _currentPose; } - virtual void apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) override; + virtual void apply(const Pose& value, const Pointer& source) override; virtual void reset() override; diff --git a/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.cpp b/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.cpp index b3310e4424..24f3479ea8 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.cpp +++ b/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.cpp @@ -38,7 +38,7 @@ float AnyEndpoint::value() { return result; } -void AnyEndpoint::apply(float newValue, float oldValue, const Endpoint::Pointer& source) { +void AnyEndpoint::apply(float newValue, const Endpoint::Pointer& source) { qFatal("AnyEndpoint is read only"); } diff --git a/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.h index 25db6a5a2a..86dd057414 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/AnyEndpoint.h @@ -19,7 +19,7 @@ class AnyEndpoint : public Endpoint { public: AnyEndpoint(Endpoint::List children); virtual float value() override; - virtual void apply(float newValue, float oldValue, const Endpoint::Pointer& source) override; + virtual void apply(float newValue, const Endpoint::Pointer& source) override; virtual bool writeable() const override; virtual bool readable() const override; diff --git a/libraries/controllers/src/controllers/impl/endpoints/ArrayEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/ArrayEndpoint.h index 676f43868a..79bb604ec0 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/ArrayEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/ArrayEndpoint.h @@ -24,10 +24,10 @@ public: return 0.0; } - virtual void apply(float newValue, float oldValue, const Endpoint::Pointer& source) override { + virtual void apply(float value, const Endpoint::Pointer& source) override { for (auto& child : _children) { if (child->writeable()) { - child->apply(newValue, oldValue, source); + child->apply(value, source); } } } diff --git a/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.cpp b/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.cpp index 9d89a7d2b3..e5088ef72c 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.cpp +++ b/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.cpp @@ -25,7 +25,7 @@ float CompositeEndpoint::value() { return result; } -void CompositeEndpoint::apply(float newValue, float oldValue, const Pointer& source) { +void CompositeEndpoint::apply(float newValue, const Pointer& source) { // Composites are read only } diff --git a/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.h index b525a2e4ab..ab8b97aa50 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/CompositeEndpoint.h @@ -18,7 +18,7 @@ namespace controller { CompositeEndpoint(Endpoint::Pointer first, Endpoint::Pointer second); virtual float value() override; - virtual void apply(float newValue, float oldValue, const Pointer& source) override; + virtual void apply(float newValue, const Pointer& source) override; }; } diff --git a/libraries/controllers/src/controllers/impl/endpoints/InputEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/InputEndpoint.h index 195cd33683..d58f0c2e73 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/InputEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/InputEndpoint.h @@ -22,9 +22,9 @@ public: virtual float value() override; // FIXME need support for writing back to vibration / force feedback effects - virtual void apply(float newValue, float oldValue, const Pointer& source) override {} + virtual void apply(float newValue, const Pointer& source) override {} virtual Pose pose() override; - virtual void apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) override { } + virtual void apply(const Pose& value, const Pointer& source) override { } virtual bool writeable() const { return false; } virtual bool readable() const { return !_read; } diff --git a/libraries/controllers/src/controllers/impl/endpoints/JSEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/JSEndpoint.h index 38ac92bfb6..27f17b5cd3 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/JSEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/JSEndpoint.h @@ -28,7 +28,7 @@ public: return result; } - virtual void apply(float newValue, float oldValue, const Pointer& source) { + virtual void apply(float newValue, const Pointer& source) { _callable.call(QJSValueList({ QJSValue(newValue) })); } diff --git a/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.cpp b/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.cpp index 069bcb3c00..d9b4a5fc59 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.cpp +++ b/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.cpp @@ -26,22 +26,21 @@ void ScriptEndpoint::updateValue() { _lastValueRead = (float)_callable.call().toNumber(); } -void ScriptEndpoint::apply(float newValue, float oldValue, const Pointer& source) { - if (newValue == _lastValueWritten) { +void ScriptEndpoint::apply(float value, const Pointer& source) { + if (value == _lastValueWritten) { return; } - internalApply(newValue, oldValue, source->getInput().getID()); + internalApply(value, source->getInput().getID()); } -void ScriptEndpoint::internalApply(float newValue, float oldValue, int sourceID) { - _lastValueWritten = newValue; +void ScriptEndpoint::internalApply(float value, int sourceID) { + _lastValueWritten = value; if (QThread::currentThread() != thread()) { QMetaObject::invokeMethod(this, "internalApply", Qt::QueuedConnection, - Q_ARG(float, newValue), - Q_ARG(float, oldValue), + Q_ARG(float, value), Q_ARG(int, sourceID)); return; } _callable.call(QScriptValue(), - QScriptValueList({ QScriptValue(newValue), QScriptValue(oldValue), QScriptValue(sourceID) })); + QScriptValueList({ QScriptValue(value), QScriptValue(sourceID) })); } diff --git a/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.h index a56ac472be..23f77892c6 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/ScriptEndpoint.h @@ -24,11 +24,11 @@ public: } virtual float value(); - virtual void apply(float newValue, float oldValue, const Pointer& source); + virtual void apply(float newValue, const Pointer& source); protected: Q_INVOKABLE void updateValue(); - Q_INVOKABLE virtual void internalApply(float newValue, float oldValue, int sourceID); + Q_INVOKABLE virtual void internalApply(float newValue, int sourceID); private: QScriptValue _callable; float _lastValueRead { 0.0f }; diff --git a/libraries/controllers/src/controllers/impl/endpoints/StandardEndpoint.h b/libraries/controllers/src/controllers/impl/endpoints/StandardEndpoint.h index 44803a22fd..74adaf825d 100644 --- a/libraries/controllers/src/controllers/impl/endpoints/StandardEndpoint.h +++ b/libraries/controllers/src/controllers/impl/endpoints/StandardEndpoint.h @@ -20,8 +20,8 @@ public: virtual bool writeable() const override { return !_written; } virtual bool readable() const override { return !_read; } virtual void reset() override { - apply(0.0f, 0.0f, Endpoint::Pointer()); - apply(Pose(), Pose(), Endpoint::Pointer()); + apply(0.0f, Endpoint::Pointer()); + apply(Pose(), Endpoint::Pointer()); _written = _read = false; } @@ -30,12 +30,12 @@ public: return VirtualEndpoint::value(); } - virtual void apply(float newValue, float oldValue, const Pointer& source) override { + virtual void apply(float value, const Pointer& source) override { // For standard endpoints, the first NON-ZERO write counts. - if (newValue != 0.0) { + if (value != 0.0) { _written = true; } - VirtualEndpoint::apply(newValue, oldValue, source); + VirtualEndpoint::apply(value, source); } virtual Pose pose() override { @@ -43,11 +43,11 @@ public: return VirtualEndpoint::pose(); } - virtual void apply(const Pose& newValue, const Pose& oldValue, const Pointer& source) override { - if (newValue != Pose()) { + virtual void apply(const Pose& value, const Pointer& source) override { + if (value != Pose()) { _written = true; } - VirtualEndpoint::apply(newValue, oldValue, source); + VirtualEndpoint::apply(value, source); } private: