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

Public Member Functions

 D_CLASS_REFLECTION (ndJointGear)
 
D_NEWTON_API ndJointGear (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndJointGear (ndFloat32 gearRatio, const ndVector &body0Pin, ndBodyKinematic *const body0, const ndVector &body1Pin, ndBodyKinematic *const body1)
 
ndFloat32 GetRatio () const
 
void SetRatio (ndFloat32 ratio)
 
- 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)
 
virtual D_COLLISION_API void DebugJoint (ndConstraintDebugCallback &debugCallback) const
 
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

D_NEWTON_API void JacobianDerivative (ndConstraintDescritor &desc)
 
D_NEWTON_API 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_gearRatio
 
- 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
 

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