64 btJacobianEntry jacA(world2A,world2B,rel_posA1,rel_posA2,normalA,invInertiaADiag,invMassA,
65 invInertiaBDiag,invMassB);
66 btJacobianEntry jacB(world2A,world2B,rel_posB1,rel_posB2,normalB,invInertiaADiag,invMassA,
67 invInertiaBDiag,invMassB);
101 imp0 = dv0 * jacA.
getDiagonal() * invDet + dv1 * -nonDiag * invDet;
102 imp1 = dv1 * jacB.
getDiagonal() * invDet + dv0 * - nonDiag * invDet;
153 btJacobianEntry jacA(world2A,world2B,rel_posA1,rel_posA2,normalA,invInertiaADiag,invMassA,
154 invInertiaBDiag,invMassB);
155 btJacobianEntry jacB(world2A,world2B,rel_posB1,rel_posB2,normalB,invInertiaADiag,invMassA,
156 invInertiaBDiag,invMassB);
185 imp0 = dv0 * jacA.
getDiagonal() * invDet + dv1 * -nonDiag * invDet;
186 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)