aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-11-20 11:35:52 -0600
committerSheikh Dawood Abdul Ajees <[email protected]>2017-11-20 11:35:52 -0600
commit3cc1861221d761b7f0301b9b61de4e1aa18c09f4 (patch)
treea51eb808016e1710a4bbd537000a493250602944 /PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp
parentPhysX 3.4.1, APEX 1.4.1 Release @22845541 (diff)
downloadphysx-3.4-3cc1861221d761b7f0301b9b61de4e1aa18c09f4.tar.xz
physx-3.4-3cc1861221d761b7f0301b9b61de4e1aa18c09f4.zip
PhysX 3.4.1, APEX 1.4.1 Release @23131702
Diffstat (limited to 'PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp')
-rw-r--r--PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp b/PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp
index 882803dd..7ce3f789 100644
--- a/PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp
+++ b/PhysX_3.4/Source/PhysXExtensions/src/ExtPrismaticJoint.cpp
@@ -123,20 +123,21 @@ void PrismaticJointVisualize(PxConstraintVisualizer& viz,
const void* constantBlock,
const PxTransform& body0Transform,
const PxTransform& body1Transform,
- PxU32 /*flags*/)
+ PxU32 flags)
{
const PrismaticJointData& data = *reinterpret_cast<const PrismaticJointData*>(constantBlock);
const PxTransform& t0 = body0Transform * data.c2b[0];
const PxTransform& t1 = body1Transform * data.c2b[1];
- viz.visualizeJointFrames(t0, t1);
+ if(flags & PxConstraintVisualizationFlag::eLOCAL_FRAMES)
+ viz.visualizeJointFrames(t0, t1);
- PxVec3 axis = t0.rotate(PxVec3(1.f,0,0));
- PxReal ordinate = axis.dot(t0.transformInv(t1.p)-t0.p);
-
- if(data.jointFlags & PxPrismaticJointFlag::eLIMIT_ENABLED)
+ if((flags & PxConstraintVisualizationFlag::eLIMITS) && (data.jointFlags & PxPrismaticJointFlag::eLIMIT_ENABLED))
{
+ const PxVec3 bOriginInA = t0.transformInv(t1.p);
+ const PxReal ordinate = bOriginInA.x;
+
viz.visualizeLinearLimit(t0, t1, data.limit.lower, ordinate < data.limit.lower + data.limit.contactDistance);
viz.visualizeLinearLimit(t0, t1, data.limit.upper, ordinate > data.limit.upper - data.limit.contactDistance);
}