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

Public Member Functions

 D_CLASS_REFLECTION (ndJointCylinder)
 
D_NEWTON_API ndJointCylinder (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndJointCylinder (const ndMatrix &pinAndPivotFrame, ndBodyKinematic *const child, ndBodyKinematic *const parent)
 
D_NEWTON_API ndJointCylinder (const ndMatrix &pinAndPivotInChild, const ndMatrix &pinAndPivotInParent, ndBodyKinematic *const child, ndBodyKinematic *const parent)
 
D_NEWTON_API ndFloat32 GetAngle () const
 
D_NEWTON_API ndFloat32 GetOmega () const
 
D_NEWTON_API ndFloat32 GetOffsetAngle () const
 
D_NEWTON_API void SetOffsetAngle (ndFloat32 angle)
 
D_NEWTON_API bool GetLimitStateAngle () const
 
D_NEWTON_API void SetLimitStateAngle (bool state)
 
D_NEWTON_API void SetLimitsAngle (ndFloat32 minLimit, ndFloat32 maxLimit)
 
D_NEWTON_API void GetLimitsAngle (ndFloat32 &minLimit, ndFloat32 &maxLimit) const
 
D_NEWTON_API void SetAsSpringDamperAngle (ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper)
 
D_NEWTON_API void GetSpringDamperAngle (ndFloat32 &regularizer, ndFloat32 &spring, ndFloat32 &damper) const
 
D_NEWTON_API ndFloat32 GetPosit () const
 
D_NEWTON_API ndFloat32 GetOffsetPosit () const
 
D_NEWTON_API void SetOffsetPosit (ndFloat32 offset)
 
D_NEWTON_API bool GetLimitStatePosit () const
 
D_NEWTON_API void SetLimitStatePosit (bool state)
 
D_NEWTON_API void SetLimitsPosit (ndFloat32 minLimit, ndFloat32 maxLimit)
 
D_NEWTON_API void GetLimitsPosit (ndFloat32 &minLimit, ndFloat32 &maxLimit) const
 
D_NEWTON_API void SetAsSpringDamperPosit (ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper)
 
D_NEWTON_API void GetSpringDamperPosit (ndFloat32 &regularizer, ndFloat32 &spring, ndFloat32 &damper) const
 
- 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

D_NEWTON_API ndFloat32 PenetrationOmega (ndFloat32 penetartion) const
 
D_NEWTON_API void SubmitLimitsAngle (ndConstraintDescritor &desc, const ndMatrix &matrix0, const ndMatrix &matrix1)
 
D_NEWTON_API void SubmitSpringDamperAngle (ndConstraintDescritor &desc, const ndMatrix &matrix0, const ndMatrix &matrix1)
 
D_NEWTON_API ndFloat32 PenetrationSpeed (ndFloat32 penetration) const
 
D_NEWTON_API void SubmitLimitsPosit (ndConstraintDescritor &desc, const ndMatrix &matrix0, const ndMatrix &matrix1)
 
D_NEWTON_API void SubmitSpringDamperPosit (ndConstraintDescritor &desc, const ndMatrix &matrix0, const ndMatrix &matrix1)
 
D_NEWTON_API void JacobianDerivative (ndConstraintDescritor &desc)
 
D_NEWTON_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
D_NEWTON_API void DebugJoint (ndConstraintDebugCallback &debugCallback) const
 
D_NEWTON_API void ApplyBaseRows (ndConstraintDescritor &desc, const ndMatrix &matrix0, const ndMatrix &matrix1)
 
- 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_angle
 
ndFloat32 m_omega
 
ndFloat32 m_springKAngle
 
ndFloat32 m_damperCAngle
 
ndFloat32 m_minLimitAngle
 
ndFloat32 m_maxLimitAngle
 
ndFloat32 m_offsetAngle
 
ndFloat32 m_springDamperRegularizerAngle
 
ndFloat32 m_posit
 
ndFloat32 m_speed
 
ndFloat32 m_springKPosit
 
ndFloat32 m_damperCPosit
 
ndFloat32 m_minLimitPosit
 
ndFloat32 m_maxLimitPosit
 
ndFloat32 m_offsetPosit
 
ndFloat32 m_springDamperRegularizerPosit
 
ndInt8 m_limitStatePosit
 
ndInt8 m_limitStateAngle
 
- 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