Tidy up and get IK working
[opengl.git] / model.cpp
index 345309a211e30232e2bd0c50a3945ccf74b43542..f4fc307ebca7db0515ce0af40bc74d916ccc2021 100644 (file)
--- a/model.cpp
+++ b/model.cpp
@@ -224,6 +224,14 @@ glm::mat4 Model::Node::totalTrans(const glm::mat4 parentTrans, const float tick)
        return m;
 }
 
+const Model::Node &Model::Node::getRoot() const {
+       const Model::Node *rootPtr = this;
+       while (rootPtr->parent != nullptr)
+               rootPtr = rootPtr->parent;
+       const Model::Node &root = *rootPtr;
+       return root;
+}
+
 void Model::Node::draw(        const std::vector<Mesh> &meshes,
                                                const std::vector<Material> &materials,
                                                const Skybox skybox,
@@ -341,8 +349,6 @@ Model::Model(const aiScene *scene, Program p): program(p) {
                }
        }
 
-       printHierarchy(scene->mRootNode);
-
        root = new Node(*(scene->mRootNode), p.progId, &animMap, allBones, nullptr);
 }