aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.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/ExtSphericalJoint.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/ExtSphericalJoint.cpp')
-rw-r--r--PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.cpp b/PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.cpp
index 362b3f9d..d60f94de 100644
--- a/PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.cpp
+++ b/PhysX_3.4/Source/PhysXExtensions/src/ExtSphericalJoint.cpp
@@ -128,7 +128,7 @@ void SphericalJointVisualize(PxConstraintVisualizer& viz,
const void* constantBlock,
const PxTransform& body0Transform,
const PxTransform& body1Transform,
- PxU32 /*flags*/)
+ PxU32 flags)
{
using namespace joint;
const SphericalJointData& data = *reinterpret_cast<const SphericalJointData*>(constantBlock);
@@ -136,10 +136,10 @@ void SphericalJointVisualize(PxConstraintVisualizer& viz,
PxTransform cA2w = body0Transform * data.c2b[0];
PxTransform cB2w = body1Transform * data.c2b[1];
- viz.visualizeJointFrames(cA2w, cB2w);
+ if(flags & PxConstraintVisualizationFlag::eLOCAL_FRAMES)
+ viz.visualizeJointFrames(cA2w, cB2w);
-
- if(data.jointFlags & PxSphericalJointFlag::eLIMIT_ENABLED)
+ if((flags & PxConstraintVisualizationFlag::eLIMITS) && (data.jointFlags & PxSphericalJointFlag::eLIMIT_ENABLED))
{
if(cA2w.q.dot(cB2w.q)<0)
cB2w.q = -cB2w.q;
@@ -149,7 +149,8 @@ void SphericalJointVisualize(PxConstraintVisualizer& viz,
Ps::separateSwingTwist(cB2cA.q,swing,twist);
PxVec3 tanQSwing = PxVec3(0, Ps::tanHalf(swing.z,swing.w), -Ps::tanHalf(swing.y,swing.w));
- Cm::ConeLimitHelper coneHelper(data.tanQZLimit, data.tanQYLimit, data.tanQPad);
+ const PxReal pad = data.limit.isSoft() ? 0.0f : data.tanQPad;
+ Cm::ConeLimitHelper coneHelper(data.tanQZLimit, data.tanQYLimit, pad);
viz.visualizeLimitCone(cA2w, data.tanQZLimit, data.tanQYLimit,
!coneHelper.contains(tanQSwing));
}