Merge pull request #1903 from rextimmy/physics_applyforce

PhysicsShape applyForce function
This commit is contained in:
Areloch 2017-01-06 18:51:42 -06:00 committed by GitHub
commit aa121c50b7
7 changed files with 51 additions and 3 deletions

View file

@ -427,6 +427,16 @@ void Px3Body::applyTorque( const Point3F &torque )
actor->addTorque( px3Cast<physx::PxVec3>(torque), physx::PxForceMode::eFORCE, true);
}
void Px3Body::applyForce( const Point3F &force )
{
AssertFatal(mActor, "Px3Body::applyTorque - The actor is null!");
mWorld->releaseWriteLock();
physx::PxRigidDynamic *actor = mActor->is<physx::PxRigidDynamic>();
if (mIsEnabled && isDynamic())
actor->addForce( px3Cast<physx::PxVec3>(force), physx::PxForceMode::eFORCE, true);
}
void Px3Body::findContact(SceneObject **contactObject,
VectorF *contactNormal,
Vector<SceneObject*> *outOverlapObjects) const

View file

@ -118,6 +118,7 @@ public:
virtual void applyCorrection( const MatrixF &xfm );
virtual void applyImpulse( const Point3F &origin, const Point3F &force );
virtual void applyTorque( const Point3F &torque );
virtual void applyForce( const Point3F &force );
virtual void findContact(SceneObject **contactObject, VectorF *contactNormal,
Vector<SceneObject*> *outOverlapObjects) const;
virtual void moveKinematicTo(const MatrixF &xfm);