Example #1
0
void Node::addChild( NodeRef node )
{
	if( node && !hasChild( node ) ) {
		// remove child from current parent
		NodeRef parent = node->getParent();
		if( parent ) parent->removeChild( node );

		// add to children
		mChildren.push_back( node );

		// set parent
		node->setParent( shared_from_this() );

		// store nodes in lookup table if not done yet
		uuidLookup[mUuid] = NodeWeakRef( shared_from_this() );
		uuidLookup[node->mUuid] = NodeWeakRef( node );
	}
}
Example #2
0
void Node::removeFromParent()
{
    NodeRef node = mParent.lock();
    if(node) node->removeChild( shared_from_this() );
}