| 278 | |
| 279 | |
| 280 | void NpRigidDynamic::addForce(const PxVec3& force, PxForceMode::Enum mode, bool autowake) |
| 281 | { |
| 282 | Scb::Body& b = getScbBodyFast(); |
| 283 | |
| 284 | PX_CHECK_AND_RETURN(force.isFinite(), "PxRigidDynamic::addForce: force is not valid."); |
| 285 | NP_WRITE_CHECK(NpActor::getOwnerScene(*this)); |
| 286 | PX_CHECK_AND_RETURN(NpActor::getAPIScene(*this), "PxRigidDynamic::addForce: Body must be in a scene!"); |
| 287 | PX_CHECK_AND_RETURN(!(b.getFlags() & PxRigidBodyFlag::eKINEMATIC), "PxRigidDynamic::addForce: Body must be non-kinematic!"); |
| 288 | PX_CHECK_AND_RETURN(!(b.getActorFlags() & PxActorFlag::eDISABLE_SIMULATION), "PxRigidDynamic::addForce: Not allowed if PxActorFlag::eDISABLE_SIMULATION is set!"); |
| 289 | |
| 290 | addSpatialForce(&force, NULL, mode); |
| 291 | |
| 292 | wakeUpInternalNoKinematicTest(b, (!force.isZero()), autowake); |
| 293 | } |
| 294 | |
| 295 | void NpRigidDynamic::setForceAndTorque(const PxVec3& force, const PxVec3& torque, PxForceMode::Enum mode) |
| 296 | { |
no test coverage detected