| 391 | } |
| 392 | |
| 393 | void 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 | |
| 420 | void SceneQueryManager::flushShapes() |
| 421 | { |
no test coverage detected