aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h
diff options
context:
space:
mode:
Diffstat (limited to 'PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h')
-rw-r--r--PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h b/PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h
index 9a8b1d9d..d6428f0f 100644
--- a/PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h
+++ b/PhysX_3.4/Source/PhysXExtensions/src/ExtJoint.h
@@ -202,17 +202,13 @@ namespace Ext
mPxConstraint->markDirty();
}
- PxTransform getBodyPose(const PxRigidActor* actor) const
+ static PxTransform getGlobalPose(const PxRigidActor* actor)
{
if(!actor)
return PxTransform(PxIdentity);
- else if(actor->is<PxRigidStatic>())
- return actor->getGlobalPose();
- else
- return actor->getGlobalPose() * static_cast<const PxRigidBody*>(actor)->getCMassLocalPose();
+ return actor->getGlobalPose();
}
-
void getActorVelocity(const PxRigidActor* actor, PxVec3& linear, PxVec3& angular) const
{
if(!actor || actor->is<PxRigidStatic>())
@@ -230,8 +226,8 @@ namespace Ext
{
PxRigidActor* actor0, * actor1;
mPxConstraint->getActors(actor0, actor1);
- PxTransform t0 = getBodyPose(actor0) * mLocalPose[0],
- t1 = getBodyPose(actor1) * mLocalPose[1];
+ const PxTransform t0 = getGlobalPose(actor0) * mLocalPose[0];
+ const PxTransform t1 = getGlobalPose(actor1) * mLocalPose[1];
return t0.transformInv(t1);
}