Clean up of AnimNodeLoader after merge from master.

This commit is contained in:
Anthony J. Thibault 2015-09-10 11:47:41 -07:00
parent 663e37da66
commit 9a9838fd0d
2 changed files with 17 additions and 17 deletions

View file

@ -24,7 +24,7 @@
#include "AnimInverseKinematics.h" #include "AnimInverseKinematics.h"
using NodeLoaderFunc = AnimNode::Pointer (*)(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl); using NodeLoaderFunc = AnimNode::Pointer (*)(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl);
using NodeProcessFunc = AnimNode::Pointer (*)(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl); using NodeProcessFunc = bool (*)(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl);
// factory functions // factory functions
static AnimNode::Pointer loadClipNode(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl); static AnimNode::Pointer loadClipNode(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl);
@ -36,12 +36,12 @@ static AnimNode::Pointer loadInverseKinematicsNode(const QJsonObject& jsonObj, c
// called after children have been loaded // called after children have been loaded
// returns node on success, nullptr on failure. // returns node on success, nullptr on failure.
static AnimNode::Pointer processClipNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return node; } static bool processClipNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return true; }
static AnimNode::Pointer processBlendLinearNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return node; } static bool processBlendLinearNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return true; }
static AnimNode::Pointer processOverlayNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return node; } static bool processOverlayNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return true; }
AnimNode::Pointer processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl); bool processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl);
static AnimNode::Pointer processControllerNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return node; } static bool processControllerNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return true; }
static AnimNode::Pointer processInverseKinematicsNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return node; } static bool processInverseKinematicsNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { return true; }
static const char* animNodeTypeToString(AnimNode::Type type) { static const char* animNodeTypeToString(AnimNode::Type type) {
switch (type) { switch (type) {
@ -283,7 +283,7 @@ static AnimNode::Pointer loadStateMachineNode(const QJsonObject& jsonObj, const
static AnimNode::Pointer loadControllerNode(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) { static AnimNode::Pointer loadControllerNode(const QJsonObject& jsonObj, const QString& id, const QUrl& jsonUrl) {
READ_FLOAT(alpha, jsonObj, id, jsonUrl); READ_FLOAT(alpha, jsonObj, id, jsonUrl, nullptr);
auto node = std::make_shared<AnimController>(id.toStdString(), alpha); auto node = std::make_shared<AnimController>(id.toStdString(), alpha);
READ_OPTIONAL_STRING(alphaVar, jsonObj); READ_OPTIONAL_STRING(alphaVar, jsonObj);
@ -305,8 +305,8 @@ static AnimNode::Pointer loadControllerNode(const QJsonObject& jsonObj, const QS
} }
auto jointObj = jointValue.toObject(); auto jointObj = jointValue.toObject();
READ_STRING(var, jointObj, id, jsonUrl); READ_STRING(var, jointObj, id, jsonUrl, nullptr);
READ_STRING(jointName, jointObj, id, jsonUrl); READ_STRING(jointName, jointObj, id, jsonUrl, nullptr);
AnimController::JointVar jointVar(var.toStdString(), jointName.toStdString()); AnimController::JointVar jointVar(var.toStdString(), jointName.toStdString());
node->addJointVar(jointVar); node->addJointVar(jointVar);
@ -332,9 +332,9 @@ AnimNode::Pointer loadInverseKinematicsNode(const QJsonObject& jsonObj, const QS
} }
auto targetObj = targetValue.toObject(); auto targetObj = targetValue.toObject();
READ_STRING(jointName, targetObj, id, jsonUrl); READ_STRING(jointName, targetObj, id, jsonUrl, nullptr);
READ_STRING(positionVar, targetObj, id, jsonUrl); READ_STRING(positionVar, targetObj, id, jsonUrl, nullptr);
READ_STRING(rotationVar, targetObj, id, jsonUrl); READ_STRING(rotationVar, targetObj, id, jsonUrl, nullptr);
node->setTargetVars(jointName, positionVar, rotationVar); node->setTargetVars(jointName, positionVar, rotationVar);
}; };
@ -348,7 +348,7 @@ void buildChildMap(std::map<std::string, AnimNode::Pointer>& map, AnimNode::Poin
} }
} }
AnimNode::Pointer processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl) { bool processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl) {
auto smNode = std::static_pointer_cast<AnimStateMachine>(node); auto smNode = std::static_pointer_cast<AnimStateMachine>(node);
assert(smNode); assert(smNode);
@ -447,7 +447,7 @@ AnimNode::Pointer processStateMachineNode(AnimNode::Pointer node, const QJsonObj
} }
smNode->setCurrentState(iter->second); smNode->setCurrentState(iter->second);
return node; return true;
} }
AnimNodeLoader::AnimNodeLoader(const QUrl& url) : AnimNodeLoader::AnimNodeLoader(const QUrl& url) :

View file

@ -35,13 +35,13 @@
class AnimStateMachine : public AnimNode { class AnimStateMachine : public AnimNode {
public: public:
friend class AnimNodeLoader; friend class AnimNodeLoader;
friend AnimNode::Pointer processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl); friend bool processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl);
protected: protected:
class State { class State {
public: public:
friend AnimStateMachine; friend AnimStateMachine;
friend AnimNode::Pointer processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl); friend bool processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj, const QString& nodeId, const QUrl& jsonUrl);
using Pointer = std::shared_ptr<State>; using Pointer = std::shared_ptr<State>;
using ConstPointer = std::shared_ptr<const State>; using ConstPointer = std::shared_ptr<const State>;