c++ - How can I delete all nodes recursively in the root entity of Qt3DWindow? -


i want delete root nodes of root scene of qt3dwindow. contains multiple hierarchy levels of nodes. want remove references , delete objects. simplest way that?

i used recursive function it:

void deletechildrenrecursively(qt3dcore::qnodevector& vector) {     foreach(qt3dcore::qnode* node, vector){         qt3dcore::qentity* entity = (qt3dcore::qentity*)node;         qlist<qt3dcore::qcomponent*> componentstodelete;         foreach(qt3dcore::qcomponent* component, entity->components()){             entity->removecomponent(component);             delete(component);             component = null;         }         deletechildrenrecursively(node->childnodes());         delete(node);         node = null;     } } 

it deletes qentity , qcomponent objects recursively.

usage:

qt3dcore::qentity* rootentity = new qt3dcore::qentity(); view->setrootentity(rootentity) ... deletechildrenrecursively(rootentity->childnodes()); 

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

reflection - How to access the object-members of an object declaration in kotlin -

php - Doctrine Query Builder Error on Join: [Syntax Error] line 0, col 87: Error: Expected Literal, got 'JOIN' -