| 215 | } |
| 216 | |
| 217 | void NpShape::updateSQ(const char* errorMessage) |
| 218 | { |
| 219 | if(mActor && (mShape.getFlags() & PxShapeFlag::eSCENE_QUERY_SHAPE)) |
| 220 | { |
| 221 | NpScene* scene = NpActor::getAPIScene(*mActor); |
| 222 | NpShapeManager* shapeManager = NpActor::getShapeManager(*mActor); |
| 223 | if(scene) |
| 224 | { |
| 225 | PxU32 compoundId; |
| 226 | const PrunerData sqData = shapeManager->findSceneQueryData(*this, compoundId); |
| 227 | scene->getSceneQueryManagerFast().markForUpdate(compoundId, sqData); |
| 228 | } |
| 229 | |
| 230 | // invalidate the pruning structure if the actor bounds changed |
| 231 | if(shapeManager->getPruningStructure()) |
| 232 | { |
| 233 | Ps::getFoundation().error(PxErrorCode::eINVALID_OPERATION, __FILE__, __LINE__, errorMessage); |
| 234 | shapeManager->getPruningStructure()->invalidate(mActor); |
| 235 | } |
| 236 | } |
| 237 | } |
| 238 | |
| 239 | PxGeometryType::Enum NpShape::getGeometryType() const |
| 240 | { |
nothing calls this directly
no test coverage detected