16 #ifndef BT_JACOBIAN_ENTRY_H    17 #define BT_JACOBIAN_ENTRY_H    44                 :m_linearJointAxis(jointAxis)
    46                 m_aJ = world2A*(rel_pos1.
cross(m_linearJointAxis));
    47                 m_bJ = world2B*(rel_pos2.
cross(-m_linearJointAxis));
    48                 m_0MinvJt       = inertiaInvA * m_aJ;
    49                 m_1MinvJt = inertiaInvB * m_bJ;
    50                 m_Adiag = massInvA + m_0MinvJt.
dot(m_aJ) + massInvB + m_1MinvJt.dot(m_bJ);
    63                 m_aJ= world2A*jointAxis;
    64                 m_bJ = world2B*-jointAxis;
    65                 m_0MinvJt       = inertiaInvA * m_aJ;
    66                 m_1MinvJt = inertiaInvB * m_bJ;
    67                 m_Adiag =  m_0MinvJt.
dot(m_aJ) + m_1MinvJt.dot(m_bJ);
    81                 m_0MinvJt       = inertiaInvA * m_aJ;
    82                 m_1MinvJt = inertiaInvB * m_bJ;
    83                 m_Adiag =  m_0MinvJt.
dot(m_aJ) + m_1MinvJt.dot(m_bJ);
    95                 :m_linearJointAxis(jointAxis)
    97                 m_aJ= world2A*(rel_pos1.
cross(jointAxis));
    98                 m_bJ = world2A*(rel_pos2.
cross(-jointAxis));
    99                 m_0MinvJt       = inertiaInvA * m_aJ;
   101                 m_Adiag = massInvA + m_0MinvJt.dot(m_aJ);
   129                 return sum[0]+sum[1]+sum[2];
   137                 linrel *= m_linearJointAxis;
   140                 btScalar rel_vel2 = angvela[0]+angvela[1]+angvela[2];
   155 #endif //BT_JACOBIAN_ENTRY_H static T sum(const btAlignedObjectArray< T > &items)
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
btJacobianEntry(const btVector3 &jointAxis, const btMatrix3x3 &world2A, const btMatrix3x3 &world2B, const btVector3 &inertiaInvA, const btVector3 &inertiaInvB)
btScalar dot(const btVector3 &v) const 
Return the dot product. 
btScalar getNonDiagonal(const btJacobianEntry &jacB, const btScalar massInvA) const 
btVector3 m_linearJointAxis
btJacobianEntry(const btMatrix3x3 &world2A, const btMatrix3x3 &world2B, const btVector3 &rel_pos1, const btVector3 &rel_pos2, const btVector3 &jointAxis, const btVector3 &inertiaInvA, const btScalar massInvA, const btVector3 &inertiaInvB, const btScalar massInvB)
btScalar getDiagonal() const 
btVector3 cross(const btVector3 &v) const 
Return the cross product between this and another vector. 
btVector3 can be used to represent 3D points and vectors. 
#define ATTRIBUTE_ALIGNED16(a)
btScalar getRelativeVelocity(const btVector3 &linvelA, const btVector3 &angvelA, const btVector3 &linvelB, const btVector3 &angvelB)
btScalar getNonDiagonal(const btJacobianEntry &jacB, const btScalar massInvA, const btScalar massInvB) const 
btJacobianEntry(const btMatrix3x3 &world2A, const btVector3 &rel_pos1, const btVector3 &rel_pos2, const btVector3 &jointAxis, const btVector3 &inertiaInvA, const btScalar massInvA)
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btJacobianEntry(const btVector3 &axisInA, const btVector3 &axisInB, const btVector3 &inertiaInvA, const btVector3 &inertiaInvB)