mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-29 08:15:44 +00:00
PhysicsShape applyForce function
This commit is contained in:
parent
8a39f5e7b6
commit
1559e7a3d3
7 changed files with 51 additions and 3 deletions
|
|
@ -356,7 +356,7 @@ void BtBody::applyImpulse( const Point3F &origin, const Point3F &force )
|
|||
mActor->activate();
|
||||
}
|
||||
|
||||
void BtBody::applyTorque(const Point3F &torque)
|
||||
void BtBody::applyTorque( const Point3F &torque )
|
||||
{
|
||||
AssertFatal(mActor, "BtBody::applyTorque - The actor is null!");
|
||||
AssertFatal(isDynamic(), "BtBody::applyTorque - This call is only for dynamics!");
|
||||
|
|
@ -367,6 +367,24 @@ void BtBody::applyTorque(const Point3F &torque)
|
|||
mActor->activate();
|
||||
}
|
||||
|
||||
void BtBody::applyForce( const Point3F &force )
|
||||
{
|
||||
AssertFatal(mActor, "BtBody::applyForce - The actor is null!");
|
||||
AssertFatal(isDynamic(), "BtBody::applyForce - This call is only for dynamics!");
|
||||
|
||||
if (mCenterOfMass)
|
||||
{
|
||||
Point3F relForce(force);
|
||||
mCenterOfMass->mulV(relForce);
|
||||
mActor->applyCentralForce(btCast<btVector3>(relForce));
|
||||
}
|
||||
else
|
||||
mActor->applyCentralForce(btCast<btVector3>(force));
|
||||
|
||||
if (!mActor->isActive())
|
||||
mActor->activate();
|
||||
}
|
||||
|
||||
Box3F BtBody::getWorldBounds()
|
||||
{
|
||||
btVector3 min, max;
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@ 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 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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue