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

Method afterSync

physx/source/scenequery/src/SqSceneQueryManager.cpp:393–418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

391}
392
393void SceneQueryManager::afterSync(PxSceneQueryUpdateMode::Enum updateMode)
394{
395 PX_PROFILE_ZONE("Sim.sceneQueryBuildStep", mScene.getContextId());
396
397 if(updateMode == PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED)
398 {
399 mPrunerNeedsUpdating = true;
400 return;
401 }
402
403 // flush user modified objects
404 flushShapes();
405
406 bool commit = updateMode == PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED;
407
408 for(PxU32 i = 0; i<2; i++)
409 {
410 if(mPrunerExt[i].pruner() && mPrunerExt[i].type() == PxPruningStructureType::eDYNAMIC_AABB_TREE)
411 static_cast<AABBPruner*>(mPrunerExt[i].pruner())->buildStep(true);
412
413 if(commit)
414 mPrunerExt[i].pruner()->commit();
415 }
416
417 mPrunerNeedsUpdating = !commit;
418}
419
420void SceneQueryManager::flushShapes()
421{

Callers 2

Calls 4

getContextIdMethod · 0.45
prunerMethod · 0.45
buildStepMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected