22 #if !defined(AFX_DGBILATERALCONSTRAINT_H__7C9E1F9A_5EC6_48BE_8C9F_FB90132C6619__INCLUDED_) 23 #define AFX_DGBILATERALCONSTRAINT_H__7C9E1F9A_5EC6_48BE_8C9F_FB90132C6619__INCLUDED_ 25 #include "dgConstraint.h" 31 virtual void SetDestructorCallback(OnConstraintDestroy destructor);
40 virtual void Remove(
dgWorld *world) {
43 virtual bool IsBilateral()
const;
45 virtual dgFloat32 GetStiffness()
const;
46 virtual void SetStiffness(dgFloat32 stiffness);
60 void SetJacobianDerivative(dgInt32 index,
dgContraintDescritor &desc,
const dgFloat32 *jacobianA,
const dgFloat32 *jacobianB, dgFloat32 *jointForce);
62 void CalculateAngularDerivative(dgInt32 index,
dgContraintDescritor &desc,
const dgVector &normalGlobal, dgFloat32 stiffness, dgFloat32 jointAngle, dgFloat32 *jointForce);
63 dgFloat32 CalculateSpringDamperAcceleration(dgInt32 index,
const dgContraintDescritor &desc, dgFloat32 jointAngle,
const dgVector &p0Global,
const dgVector &p1Global, dgFloat32 springK, dgFloat32 springD);
68 dgFloat32 m_stiffness;
69 dgFloat32 m_jointForce[32];
70 dgInt32 m_rowIsMotor[32];
71 dgFloat32 m_motorAcceleration[32];
74 OnConstraintDestroy m_destructor;
77 #endif // !defined(AFX_DGBILATERALCONSTRAINT_H__7C9E1F9A_5EC6_48BE_8C9F_FB90132C6619__INCLUDED_) Definition: dgVector.h:86
Definition: dgConstraint.h:137
Definition: dgBilateralConstraint.h:28
Definition: dgConstraint.h:191
Definition: dgMatrix.h:41
Definition: dgConstraint.h:169
Definition: dgWorld.h:118
Definition: dgConstraint.h:116