PhysicsShape applyTorque function

This commit is contained in:
rextimmy 2017-01-04 13:23:36 +10:00
parent f42c9bd9b7
commit 55e9af9786
7 changed files with 42 additions and 2 deletions

View file

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

View file

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