MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / addForce

Method addForce

physx/source/physx/src/NpRigidDynamic.cpp:280–293  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

278
279
280void 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
295void NpRigidDynamic::setForceAndTorque(const PxVec3& force, const PxVec3& torque, PxForceMode::Enum mode)
296{

Callers 8

simulateMethod · 0.45
addForceAtPosInternalFunction · 0.45
detachMethod · 0.45
onSubstepMethod · 0.45
onTickPreRenderMethod · 0.45
onSubstepMethod · 0.45
addForceAtPosInternalFunction · 0.45
updatePostMethod · 0.45

Calls 4

isFiniteMethod · 0.45
getFlagsMethod · 0.45
getActorFlagsMethod · 0.45
isZeroMethod · 0.45

Tested by

no test coverage detected