MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / refitUpdatedAndRemoved

Method refitUpdatedAndRemoved

physx/source/scenequery/src/SqAABBPruner.cpp:801–823  ·  view source on GitHub ↗

Refit current tree

Source from the content-addressed store, hash-verified

799
800// Refit current tree
801void AABBPruner::refitUpdatedAndRemoved()
802{
803 PX_PROFILE_ZONE("SceneQuery.prunerRefitUpdatedAndRemoved", mContextID);
804
805 PX_ASSERT(mIncrementalRebuild);
806 AABBTree* tree = getAABBTree();
807 if(!tree)
808 return;
809
810#if PX_DEBUG
811 tree->validate();
812#endif
813
814 //### missing a way to skip work if not needed
815
816 const PxU32 nbObjects = mPool.getNbActiveObjects();
817 // At this point there still can be objects in the tree that are blanked out so it's an optimization shortcut (not required)
818 if(!nbObjects)
819 return;
820
821 mBucketPruner.refitMarkedNodes(mPool.getCurrentWorldBoxes());
822 tree->refitMarkedNodes(mPool.getCurrentWorldBoxes());
823}
824
825void AABBPruner::merge(const void* mergeParams)
826{

Callers

nothing calls this directly

Calls 4

getNbActiveObjectsMethod · 0.80
getCurrentWorldBoxesMethod · 0.80
validateMethod · 0.45
refitMarkedNodesMethod · 0.45

Tested by

no test coverage detected