Renamed m_jointAxis to m_linearJointAxis (and set it to zero for angular JacobianEntry)

This commit is contained in:
ejcoumans
2006-06-13 00:49:48 +00:00
parent 7535b02e58
commit a88cee3a20

View File

@@ -42,10 +42,10 @@ public:
const SimdScalar massInvA, const SimdScalar massInvA,
const SimdVector3& inertiaInvB, const SimdVector3& inertiaInvB,
const SimdScalar massInvB) const SimdScalar massInvB)
:m_jointAxis(jointAxis) :m_linearJointAxis(jointAxis)
{ {
m_aJ = world2A*(rel_pos1.cross(m_jointAxis)); m_aJ = world2A*(rel_pos1.cross(m_linearJointAxis));
m_bJ = world2B*(rel_pos2.cross(-m_jointAxis)); m_bJ = world2B*(rel_pos2.cross(-m_linearJointAxis));
m_0MinvJt = inertiaInvA * m_aJ; m_0MinvJt = inertiaInvA * m_aJ;
m_1MinvJt = inertiaInvB * m_bJ; m_1MinvJt = inertiaInvB * m_bJ;
m_Adiag = massInvA + m_0MinvJt.dot(m_aJ) + massInvB + m_1MinvJt.dot(m_bJ); m_Adiag = massInvA + m_0MinvJt.dot(m_aJ) + massInvB + m_1MinvJt.dot(m_bJ);
@@ -59,7 +59,7 @@ public:
const SimdMatrix3x3& world2B, const SimdMatrix3x3& world2B,
const SimdVector3& inertiaInvA, const SimdVector3& inertiaInvA,
const SimdVector3& inertiaInvB) const SimdVector3& inertiaInvB)
:m_jointAxis(m_jointAxis) :m_linearJointAxis(SimdVector3(0.f,0.f,0.f))
{ {
m_aJ= world2A*jointAxis; m_aJ= world2A*jointAxis;
m_bJ = world2B*-jointAxis; m_bJ = world2B*-jointAxis;
@@ -77,10 +77,10 @@ public:
const SimdVector3& jointAxis, const SimdVector3& jointAxis,
const SimdVector3& inertiaInvA, const SimdVector3& inertiaInvA,
const SimdScalar massInvA) const SimdScalar massInvA)
:m_jointAxis(jointAxis) :m_linearJointAxis(jointAxis)
{ {
m_aJ= world2A*(rel_pos1.cross(m_jointAxis)); m_aJ= world2A*(rel_pos1.cross(jointAxis));
m_bJ = world2A*(rel_pos2.cross(-m_jointAxis)); m_bJ = world2A*(rel_pos2.cross(-jointAxis));
m_0MinvJt = inertiaInvA * m_aJ; m_0MinvJt = inertiaInvA * m_aJ;
m_1MinvJt = SimdVector3(0.f,0.f,0.f); m_1MinvJt = SimdVector3(0.f,0.f,0.f);
m_Adiag = massInvA + m_0MinvJt.dot(m_aJ); m_Adiag = massInvA + m_0MinvJt.dot(m_aJ);
@@ -94,7 +94,7 @@ public:
SimdScalar getNonDiagonal(const JacobianEntry& jacB, const SimdScalar massInvA) const SimdScalar getNonDiagonal(const JacobianEntry& jacB, const SimdScalar massInvA) const
{ {
const JacobianEntry& jacA = *this; const JacobianEntry& jacA = *this;
SimdScalar lin = massInvA * jacA.m_jointAxis.dot(jacB.m_jointAxis); SimdScalar lin = massInvA * jacA.m_linearJointAxis.dot(jacB.m_linearJointAxis);
SimdScalar ang = jacA.m_0MinvJt.dot(jacB.m_aJ); SimdScalar ang = jacA.m_0MinvJt.dot(jacB.m_aJ);
return lin + ang; return lin + ang;
} }
@@ -105,7 +105,7 @@ public:
SimdScalar getNonDiagonal(const JacobianEntry& jacB,const SimdScalar massInvA,const SimdScalar massInvB) const SimdScalar getNonDiagonal(const JacobianEntry& jacB,const SimdScalar massInvA,const SimdScalar massInvB) const
{ {
const JacobianEntry& jacA = *this; const JacobianEntry& jacA = *this;
SimdVector3 lin = jacA.m_jointAxis* jacB.m_jointAxis; SimdVector3 lin = jacA.m_linearJointAxis * jacB.m_linearJointAxis;
SimdVector3 ang0 = jacA.m_0MinvJt * jacB.m_aJ; SimdVector3 ang0 = jacA.m_0MinvJt * jacB.m_aJ;
SimdVector3 ang1 = jacA.m_1MinvJt * jacB.m_bJ; SimdVector3 ang1 = jacA.m_1MinvJt * jacB.m_bJ;
SimdVector3 lin0 = massInvA * lin ; SimdVector3 lin0 = massInvA * lin ;
@@ -119,7 +119,7 @@ public:
SimdVector3 linrel = linvelA - linvelB; SimdVector3 linrel = linvelA - linvelB;
SimdVector3 angvela = angvelA * m_aJ; SimdVector3 angvela = angvelA * m_aJ;
SimdVector3 angvelb = angvelB * m_bJ; SimdVector3 angvelb = angvelB * m_bJ;
linrel *= m_jointAxis; linrel *= m_linearJointAxis;
angvela += angvelb; angvela += angvelb;
angvela += linrel; angvela += linrel;
SimdScalar rel_vel2 = angvela[0]+angvela[1]+angvela[2]; SimdScalar rel_vel2 = angvela[0]+angvela[1]+angvela[2];
@@ -127,7 +127,7 @@ public:
} }
//private: //private:
SimdVector3 m_jointAxis; SimdVector3 m_linearJointAxis;
SimdVector3 m_aJ; SimdVector3 m_aJ;
SimdVector3 m_bJ; SimdVector3 m_bJ;
SimdVector3 m_0MinvJt; SimdVector3 m_0MinvJt;