Correctly set child nodes for SceneGraphNode%s

This commit is contained in:
Alexander Bock
2016-04-04 20:26:10 +02:00
parent 90f3193236
commit 019092e98e
4 changed files with 13 additions and 5 deletions

View File

@@ -71,6 +71,7 @@ public:
//void addNode(SceneGraphNode* child);
void addChild(SceneGraphNode* child);
void setParent(SceneGraphNode* parent);
//bool abandonChild(SceneGraphNode* child);

View File

@@ -261,6 +261,8 @@ bool SceneGraph::loadFromFile(const std::string& sceneDescription) {
}
node->node->setParent(parentNode);
parentNode->addChild(node->node);
}
// Setup dependencies

View File

@@ -155,10 +155,10 @@ bool SceneGraphNode::deinitialize() {
delete _ephemeris;
_ephemeris = nullptr;
for (SceneGraphNode* child : _children) {
child->deinitialize();
delete child;
}
// for (SceneGraphNode* child : _children) {
// child->deinitialize();
// delete child;
//}
_children.clear();
// reset variables
@@ -283,6 +283,11 @@ void SceneGraphNode::setParent(SceneGraphNode* parent)
_parent = parent;
}
void SceneGraphNode::addChild(SceneGraphNode* child) {
_children.push_back(child);
}
//not used anymore @AA
//bool SceneGraphNode::abandonChild(SceneGraphNode* child) {
// std::vector < SceneGraphNode* >::iterator it = std::find(_children.begin(), _children.end(), child);