| 230 | } |
| 231 | |
| 232 | void NpShapeManager::setupAllSceneQuery(NpScene* scene, const PxRigidActor& actor, bool hasPrunerStructure, const PxBounds3* bounds, const Gu::BVHStructure* bvhStructure) |
| 233 | { |
| 234 | PX_ASSERT(scene); // shouldn't get here unless we're in a scene |
| 235 | SceneQueryManager& sqManager = scene->getSceneQueryManagerFast(); |
| 236 | |
| 237 | const PxU32 nbShapes = getNbShapes(); |
| 238 | NpShape*const *shapes = getShapes(); |
| 239 | |
| 240 | // if BVH structure was provided, we add shapes into compound pruner |
| 241 | if(bvhStructure) |
| 242 | { |
| 243 | addBVHStructureShapes(sqManager, actor, bvhStructure); |
| 244 | } |
| 245 | else |
| 246 | { |
| 247 | const PxType actorType = actor.getConcreteType(); |
| 248 | const bool isDynamic = actorType == PxConcreteType::eRIGID_DYNAMIC || actorType == PxConcreteType::eARTICULATION_LINK; |
| 249 | |
| 250 | for(PxU32 i=0;i<nbShapes;i++) |
| 251 | { |
| 252 | if(isSceneQuery(*shapes[i])) |
| 253 | addPrunerShape(sqManager, i, *shapes[i], actor, isDynamic, bounds ? bounds + i : NULL, hasPrunerStructure); |
| 254 | } |
| 255 | } |
| 256 | } |
| 257 | |
| 258 | void NpShapeManager::teardownAllSceneQuery(SceneQueryManager& sqManager, const PxRigidActor& actor) |
| 259 | { |
no test coverage detected