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 dot(const btVector3 &v) const
Return the dot product.
btVector3 getVelocityInLocalPoint(const btVector3 &rel_pos) const
btScalar getNonDiagonal(const btJacobianEntry &jacB, const btScalar massInvA) const
btScalar getDiagonal() const
The btRigidBody is the main class for rigid body objects.
btScalar length() const
Return the length of the vector.
btVector3 can be used to represent 3D points and vectors.
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 btFabs(btScalar x)