示例#1
0
void OctreeScene::RemoveSceneNode(SceneNode * node)
{
   OctreeNode::_dirt dirt = *(OctreeNode::_dirt*)node->_GetSceneDirtData();
   dirt.node->RemoveNode(node);

   OctreeNode * eraseNode = dirt.node;
   if (eraseNode->_IsNil())
   {
       OctreeNode * parent = dirt.node->_GetParent();
       parent->_NotifyErase(eraseNode);
       FreeOctNode(eraseNode);
       eraseNode = parent;
   }
}