| 256 | } |
| 257 | |
| 258 | void NpShapeManager::teardownAllSceneQuery(SceneQueryManager& sqManager, const PxRigidActor& actor) |
| 259 | { |
| 260 | NpShape*const *shapes = getShapes(); |
| 261 | const PxU32 nbShapes = getNbShapes(); |
| 262 | |
| 263 | if(isSqCompound()) |
| 264 | { |
| 265 | const PxType actorType = actor.getConcreteType(); |
| 266 | const bool isDynamic = actorType == PxConcreteType::eRIGID_DYNAMIC || actorType == PxConcreteType::eARTICULATION_LINK; |
| 267 | sqManager.removeCompoundActor(mSqCompoundId, isDynamic); |
| 268 | for(PxU32 i=0;i<nbShapes;i++) |
| 269 | { |
| 270 | setPrunerData(i, SQ_INVALID_PRUNER_DATA); |
| 271 | } |
| 272 | mSqCompoundId = INVALID_PRUNERHANDLE; |
| 273 | return; |
| 274 | } |
| 275 | |
| 276 | for(PxU32 i=0;i<nbShapes;i++) |
| 277 | { |
| 278 | if(isSceneQuery(*shapes[i])) |
| 279 | sqManager.removePrunerShape(INVALID_PRUNERHANDLE, getPrunerData(i)); |
| 280 | |
| 281 | setPrunerData(i, SQ_INVALID_PRUNER_DATA); |
| 282 | } |
| 283 | } |
| 284 | |
| 285 | void NpShapeManager::markAllSceneQueryForUpdate(SceneQueryManager& sqManager, const PxRigidActor& actor) |
| 286 | { |
no test coverage detected