Newton Dynamics  4.00
ndMultiBodyVehicleDifferential Class Reference
Inheritance diagram for ndMultiBodyVehicleDifferential:
ndJointBilateralConstraint ndConstraint ndContainersFreeListAlloc< ndConstraint > ndFreeListAlloc

Public Member Functions

 D_CLASS_REFLECTION (ndMultiBodyVehicleDifferential)
 
D_NEWTON_API ndMultiBodyVehicleDifferential (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndMultiBodyVehicleDifferential (ndBodyKinematic *const differential, ndBodyKinematic *const chassis, ndFloat32 slipOmegaLock)
 
ndFloat32 GetSlipOmega () const
 
void SetSlipOmega (ndFloat32 speed)
 
- Public Member Functions inherited from ndJointBilateralConstraint
 D_CLASS_REFLECTION (ndJointBilateralConstraint)
 
D_COLLISION_API ndJointBilateralConstraint (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_COLLISION_API ndJointBilateralConstraint (ndInt32 maxDof, ndBodyKinematic *const body0, ndBodyKinematic *const body1, const ndMatrix &globalMatrix)
 
D_COLLISION_API ndJointBilateralConstraint (ndInt32 maxDof, ndBodyKinematic *const body0, ndBodyKinematic *const body1, const ndMatrix &globalMatrixBody0, const ndMatrix &globalMatrixBody1)
 
virtual ndBodyKinematicGetBody0 () const
 
virtual ndBodyKinematicGetBody1 () const
 
void ReplaceSentinel (ndBodyKinematic *const sentinel)
 
virtual ndUnsigned32 GetRowsCount () const
 
virtual ndJointBilateralConstraintGetAsBilateral ()
 
virtual ndJointBilateralSolverModel GetSolverModel () const
 
virtual void SetSolverModel (ndJointBilateralSolverModel model)
 
D_COLLISION_API ndFloat32 CalculateAngle (const ndVector &planeDir, const ndVector &cosDir, const ndVector &sinDir) const
 
virtual D_COLLISION_API void JointAccelerations (ndJointAccelerationDecriptor *const desc)
 
D_COLLISION_API void CalculateLocalMatrix (const ndMatrix &pinsAndPivotFrame, ndMatrix &localMatrix0, ndMatrix &localMatrix1) const
 
D_COLLISION_API void AddAngularRowJacobian (ndConstraintDescritor &desc, const ndVector &dir, ndFloat32 relAngle)
 
D_COLLISION_API void AddLinearRowJacobian (ndConstraintDescritor &desc, const ndVector &pivot0, const ndVector &pivot1, const ndVector &dir)
 
D_COLLISION_API ndFloat32 CalculateSpringDamperAcceleration (ndFloat32 dt, ndFloat32 ks, ndFloat32 x, ndFloat32 kd, ndFloat32 v) const
 
D_COLLISION_API void SetMassSpringDamperAcceleration (ndConstraintDescritor &desc, ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper)
 
const ndMatrixGetLocalMatrix0 () const
 
const ndMatrixGetLocalMatrix1 () const
 
ndVector GetForceBody0 () const
 
ndVector GetTorqueBody0 () const
 
ndVector GetForceBody1 () const
 
ndVector GetTorqueBody1 () const
 
bool IsInWorld () const
 
bool IsBilateral () const
 
bool IsCollidable () const
 
void SetCollidable (bool state)
 
bool GetSkeletonFlag () const
 
void SetSkeletonFlag (bool flag)
 
void CalculateGlobalMatrix (ndMatrix &matrix0, ndMatrix &matrix1) const
 
ndFloat32 GetMotorZeroAcceleration (ndConstraintDescritor &desc) const
 
void SetHighFriction (ndConstraintDescritor &desc, ndFloat32 friction)
 
void SetLowerFriction (ndConstraintDescritor &desc, ndFloat32 friction)
 
void SetMotorAcceleration (ndConstraintDescritor &desc, ndFloat32 acceleration)
 
ndFloat32 GetDiagonalRegularizer (const ndConstraintDescritor &desc) const
 
void SetDiagonalRegularizer (ndConstraintDescritor &desc, ndFloat32 regularizer)
 
bool IsSkeleton () const
 
- Public Member Functions inherited from ndConstraint
 D_CLASS_REFLECTION (ndConstraint)
 
virtual ndContactGetAsContact ()
 
bool IsActive () const
 
void SetActive (bool state)
 
void InitPointParam (ndPointParam &param, const ndVector &p0Global, const ndVector &p1Global) const
 
- Public Member Functions inherited from ndFreeListAlloc
D_CORE_API void * operator new (size_t size)
 
D_CORE_API void operator delete (void *ptr)
 

Protected Member Functions

void AlignMatrix ()
 
void DebugJoint (ndConstraintDebugCallback &) const
 
void JacobianDerivative (ndConstraintDescritor &desc)
 
void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Protected Member Functions inherited from ndJointBilateralConstraint
virtual D_COLLISION_API void SetIkMode (bool mode)
 
virtual D_COLLISION_API void SetIkSetAccel (const ndJacobian &body0Accel, const ndJacobian &body1Accel)
 

Protected Attributes

ndFloat32 m_limitedSlipOmega
 
- Protected Attributes inherited from ndJointBilateralConstraint
ndMatrix m_localMatrix0
 
ndMatrix m_localMatrix1
 
ndVector m_forceBody0
 
ndVector m_torqueBody0
 
ndVector m_forceBody1
 
ndVector m_torqueBody1
 
ndVector m_r0 [ND_BILATERAL_CONTRAINT_DOF]
 
ndVector m_r1 [ND_BILATERAL_CONTRAINT_DOF]
 
ndForceImpactPair m_jointForce [ND_BILATERAL_CONTRAINT_DOF]
 
ndFloat32 m_motorAcceleration [ND_BILATERAL_CONTRAINT_DOF]
 
ndBodyKinematicm_body0
 
ndBodyKinematicm_body1
 
ndJointList::ndNode * m_worldNode
 
ndBodyKinematic::ndJointList::ndNode * m_body0Node
 
ndBodyKinematic::ndJointList::ndNode * m_body1Node
 
ndFloat32 m_defualtDiagonalRegularizer
 
ndUnsigned32 m_maxDof: 6
 
ndUnsigned32 m_mark0: 1
 
ndUnsigned32 m_mark1: 1
 
ndUnsigned32 m_isInSkeleton: 1
 
ndUnsigned32 m_enableCollision: 1
 
ndInt8 m_rowIsMotor
 
ndInt8 m_markedForRemoved
 
ndJointBilateralSolverModel m_solverModel
 

Friends

class ndMultiBodyVehicle
 

Additional Inherited Members

- Static Public Member Functions inherited from ndContainersFreeListAlloc< ndConstraint >
static void FlushFreeList (ndInt32 size)
 
- Static Public Member Functions inherited from ndFreeListAlloc
static D_CORE_API void Flush ()
 
static D_CORE_API void Flush (ndInt32 size)
 
- Public Attributes inherited from ndConstraint
ndInt32 m_rowCount
 
ndInt32 m_rowStart
 
ndUnsigned8 m_active
 
ndUnsigned8 m_fence0
 
ndUnsigned8 m_fence1
 
ndUnsigned8 m_resting
 
ndUnsigned8 m_isInSkeletonLoop