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; } }