MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / D6JointProject

Function D6JointProject

physx/source/physxextensions/src/ExtD6Joint.cpp:455–473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

453}
454
455static void D6JointProject(const void* constantBlock, PxTransform& bodyAToWorld, PxTransform& bodyBToWorld, bool projectToA)
456{
457 const D6JointData& data = *reinterpret_cast<const D6JointData*>(constantBlock);
458
459 PxTransform cA2w, cB2w, cB2cA, projected;
460 joint::computeDerived(data, bodyAToWorld, bodyBToWorld, cA2w, cB2w, cB2cA, false);
461
462 const PxVec3 v(data.locked & 1 ? cB2cA.p.x : 0.0f,
463 data.locked & 2 ? cB2cA.p.y : 0.0f,
464 data.locked & 4 ? cB2cA.p.z : 0.0f);
465
466 bool linearTrunc, angularTrunc = false;
467 projected.p = joint::truncateLinear(v, data.projectionLinearTolerance, linearTrunc) + (cB2cA.p - v);
468
469 projected.q = angularProject(data.locked >> 3, cB2cA.q, PxCos(data.projectionAngularTolerance / 2), angularTrunc);
470
471 if(linearTrunc || angularTrunc)
472 joint::projectTransforms(bodyAToWorld, bodyBToWorld, cA2w, cB2w, projected, data, projectToA);
473}
474
475static PX_FORCE_INLINE PxReal computePhi(const PxQuat& q)
476{

Callers

nothing calls this directly

Calls 5

computeDerivedFunction · 0.85
truncateLinearFunction · 0.85
angularProjectFunction · 0.85
PxCosFunction · 0.85
projectTransformsFunction · 0.85

Tested by

no test coverage detected