Newton Dynamics  4.00
ndBodyPlayerCapsuleImpulseSolver Class Reference

Public Member Functions

 ndBodyPlayerCapsuleImpulseSolver (ndBodyPlayerCapsule *const controller)
 
ndVector CalculateImpulse ()
 
void Reset (ndBodyPlayerCapsule *const controller)
 
void AddAngularRows ()
 
ndInt32 AddLinearRow (const ndVector &dir, const ndVector &r, ndFloat32 speed, ndFloat32 low, ndFloat32 high, ndInt32 normalIndex=-1)
 
ndInt32 AddContactRow (const ndContactPoint *const contact, const ndVector &dir, const ndVector &r, ndFloat32 speed, ndFloat32 low, ndFloat32 high, ndInt32 normalIndex=-1)
 
void ApplyReaction (ndFloat32 timestep)
 

Public Attributes

ndMatrix m_invInertia
 
ndVector m_veloc
 
ndJacobianPair m_jacobianPairs [D_PLAYER_MAX_ROWS]
 
ndContactPointm_contactPoint [D_PLAYER_MAX_ROWS]
 
ndFloat32 m_rhs [D_PLAYER_MAX_ROWS]
 
ndFloat32 m_low [D_PLAYER_MAX_ROWS]
 
ndFloat32 m_high [D_PLAYER_MAX_ROWS]
 
ndInt32 m_normalIndex [D_PLAYER_MAX_ROWS]
 
ndFloat32 m_impulseMag [D_PLAYER_MAX_ROWS]
 
ndFloat32 m_mass
 
ndFloat32 m_invMass
 
ndInt32 m_rowCount