30void btPoint2PointConstraint::buildJacobian()
38 for (
int i = 0;
i < 3;
i++)
42 m_rbA.getCenterOfMassTransform().getBasis().transpose(),
43 m_rbB.getCenterOfMassTransform().getBasis().transpose(),
47 m_rbA.getInvInertiaDiagLocal(),
49 m_rbB.getInvInertiaDiagLocal(),
99 a1neg.getSkewSymmetricMatrix(angular0, angular1, angular2);
113 a2.getSkewSymmetricMatrix(angular0, angular1, angular2);
120 for (j = 0; j < 3; j++)
122 info->
m_constraintError[j * info->
rowskip] = k * (a2[j] + body1_trans.getOrigin()[j] - a1[j] - body0_trans.getOrigin()[j]);
127 for (j = 0; j < 3; j++)
134 for (j = 0; j < 3; j++)
145void btPoint2PointConstraint::updateRHS(
btScalar timeStep)
152void btPoint2PointConstraint::setParam(
int num,
btScalar value,
int axis)
179btScalar btPoint2PointConstraint::getParam(
int num,
int axis)
const
ATTR_WARN_UNUSED_RESULT const size_t num
bool m_useSolveConstraintObsolete
void getInfo2NonVirtual(btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btMatrix3x3 &invInertiaWorldA, const btMatrix3x3 &invInertiaWorldB)
void getInfo1NonVirtual(btConstraintInfo1 *info)
btFixedConstraint btRigidBody & rbB
const btVector3 & getPivotInB() const
const btVector3 & getPivotInA() const
btConstraintSetting m_setting
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btSimdScalar m_appliedImpulse
#define btAssertConstrParams(_par)
btTypedConstraint(btTypedConstraintType type, btRigidBody &rbA)
@ POINT2POINT_CONSTRAINT_TYPE
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
btScalar * m_J2linearAxis
btScalar * m_J2angularAxis
btScalar * m_J1angularAxis
btScalar * m_constraintError
btScalar * m_J1linearAxis