58 btJacobianEntry jacA(world2A, world2B, rel_posA1, rel_posA2, normalA, invInertiaADiag, invMassA,
59 invInertiaBDiag, invMassB);
60 btJacobianEntry jacB(world2A, world2B, rel_posB1, rel_posB2, normalB, invInertiaADiag, invMassA,
61 invInertiaBDiag, invMassB);
92 imp0 = dv0 * jacA.
getDiagonal() * invDet + dv1 * -nonDiag * invDet;
93 imp1 = dv1 * jacB.
getDiagonal() * invDet + dv0 * -nonDiag * invDet;
137 btJacobianEntry jacA(world2A, world2B, rel_posA1, rel_posA2, normalA, invInertiaADiag, invMassA,
138 invInertiaBDiag, invMassB);
139 btJacobianEntry jacB(world2A, world2B, rel_posB1, rel_posB2, normalB, invInertiaADiag, invMassA,
140 invInertiaBDiag, invMassB);
168 imp0 = dv0 * jacA.
getDiagonal() * invDet + dv1 * -nonDiag * invDet;
169 imp1 = dv1 * jacB.
getDiagonal() * invDet + dv0 * -nonDiag * invDet;
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
btScalar getNonDiagonal(const btJacobianEntry &jacB, const btScalar massInvA) const
btScalar dot(const btVector3 &v) const
Return the dot product.
The btRigidBody is the main class for rigid body objects.
btVector3 can be used to represent 3D points and vectors.
btVector3 getVelocityInLocalPoint(const btVector3 &rel_pos) const
btScalar getDiagonal() const
void resolveUnilateralPairConstraint(btRigidBody *body0, btRigidBody *body1, const btMatrix3x3 &world2A, const btMatrix3x3 &world2B, const btVector3 &invInertiaADiag, const btScalar invMassA, const btVector3 &linvelA, const btVector3 &angvelA, const btVector3 &rel_posA1, const btVector3 &invInertiaBDiag, const btScalar invMassB, const btVector3 &linvelB, const btVector3 &angvelB, const btVector3 &rel_posA2, btScalar depthA, const btVector3 &normalA, const btVector3 &rel_posB1, const btVector3 &rel_posB2, btScalar depthB, const btVector3 &normalB, btScalar &imp0, btScalar &imp1)
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
void resolveBilateralPairConstraint(btRigidBody *body0, btRigidBody *body1, const btMatrix3x3 &world2A, const btMatrix3x3 &world2B, const btVector3 &invInertiaADiag, const btScalar invMassA, const btVector3 &linvelA, const btVector3 &angvelA, const btVector3 &rel_posA1, const btVector3 &invInertiaBDiag, const btScalar invMassB, const btVector3 &linvelB, const btVector3 &angvelB, const btVector3 &rel_posA2, btScalar depthA, const btVector3 &normalA, const btVector3 &rel_posB1, const btVector3 &rel_posB2, btScalar depthB, const btVector3 &normalB, btScalar &imp0, btScalar &imp1)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar length() const
Return the length of the vector.
btScalar btFabs(btScalar x)