void OctreeNode::updateObjectPosition(Object3D* object){ OctreeNode* actualNode = object->getOctreeNode(); actualNode->objects.remove(object); if(actualNode->objectsInBranch()==0){ actualNode->clearChildren(); } if (actualNode->objectFits(object)){ actualNode->addObject(object); return; } OctreeNode* parent =actualNode->getParent(); if(parent == NULL){ actualNode->objects.push_back(object); return; } object->setOctreeNode(parent); updateObjectPosition(object); }