From cde025c8ad885cc19e68b2d4da448e60fce708f8 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 24 Jul 2014 13:47:56 -0700 Subject: [PATCH] Remove unnecessary arguments --- .../src/avatars/ScriptableAvatar.cpp | 15 ++++++++------- assignment-client/src/avatars/ScriptableAvatar.h | 8 +++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/assignment-client/src/avatars/ScriptableAvatar.cpp b/assignment-client/src/avatars/ScriptableAvatar.cpp index 6a420cde43..150e364ed7 100644 --- a/assignment-client/src/avatars/ScriptableAvatar.cpp +++ b/assignment-client/src/avatars/ScriptableAvatar.cpp @@ -17,6 +17,7 @@ ScriptableAvatar::ScriptableAvatar(ScriptEngine* scriptEngine) : _scriptEngine(s connect(_scriptEngine, SIGNAL(update(float)), this, SLOT(update(float))); } +// hold and priority unused but kept so that client side JS can run. void ScriptableAvatar::startAnimation(const QString& url, float fps, float priority, bool loop, bool hold, float firstFrame, float lastFrame, const QStringList& maskedJoints) { if (QThread::currentThread() != thread()) { @@ -27,22 +28,22 @@ void ScriptableAvatar::startAnimation(const QString& url, float fps, float prior } _animation = _scriptEngine->getAnimationCache()->getAnimation(url); _animationDetails = AnimationDetails("", QUrl(url), fps, 0, loop, hold, false, firstFrame, lastFrame, true, firstFrame); + _maskedJoints = maskedJoints; } -void ScriptableAvatar::stopAnimation(const QString& url) { +void ScriptableAvatar::stopAnimation() { if (QThread::currentThread() != thread()) { - QMetaObject::invokeMethod(this, "stopAnimation", Q_ARG(const QString&, url)); + QMetaObject::invokeMethod(this, "stopAnimation"); return; } _animation.clear(); } -AnimationDetails ScriptableAvatar::getAnimationDetails(const QString& url) { +AnimationDetails ScriptableAvatar::getAnimationDetails() { if (QThread::currentThread() != thread()) { AnimationDetails result; QMetaObject::invokeMethod(this, "getAnimationDetails", Qt::BlockingQueuedConnection, - Q_RETURN_ARG(AnimationDetails, result), - Q_ARG(const QString&, url)); + Q_RETURN_ARG(AnimationDetails, result)); return result; } return _animationDetails; @@ -72,11 +73,11 @@ void ScriptableAvatar::update(float deltatime) { for (int i = 0; i < modelJoints.size(); i++) { int mapping = animationJoints.indexOf(modelJoints[i]); - if (mapping != -1) { + if (mapping != -1 && !_maskedJoints.contains(modelJoints[i])) { JointData& data = _jointData[i]; data.valid = true; data.rotation = safeMix(floorFrame.rotations.at(i), ceilFrame.rotations.at(i), frameFraction); - } else if (i < _jointData.size()) { + } else { _jointData[i].valid = false; } } diff --git a/assignment-client/src/avatars/ScriptableAvatar.h b/assignment-client/src/avatars/ScriptableAvatar.h index 5548ef5a32..5a99c8c8da 100644 --- a/assignment-client/src/avatars/ScriptableAvatar.h +++ b/assignment-client/src/avatars/ScriptableAvatar.h @@ -24,11 +24,8 @@ public: /// Allows scripts to run animations. Q_INVOKABLE void startAnimation(const QString& url, float fps = 30.0f, float priority = 1.0f, bool loop = false, bool hold = false, float firstFrame = 0.0f, float lastFrame = FLT_MAX, const QStringList& maskedJoints = QStringList()); - - /// Stops an animation as identified by a URL. - Q_INVOKABLE void stopAnimation(const QString& url); - - Q_INVOKABLE AnimationDetails getAnimationDetails(const QString& url); + Q_INVOKABLE void stopAnimation(); + Q_INVOKABLE AnimationDetails getAnimationDetails(); private slots: void update(float deltatime); @@ -37,6 +34,7 @@ private: ScriptEngine* _scriptEngine; AnimationPointer _animation; AnimationDetails _animationDetails; + QStringList _maskedJoints; }; #endif // hifi_ScriptableAvatar_h \ No newline at end of file