Newton Dynamics  4.00
ndIkJointSpherical Class Reference
Inheritance diagram for ndIkJointSpherical:
ndJointSpherical ndJointBilateralConstraint::ndIkInterface ndJointBilateralConstraint ndConstraint ndContainersFreeListAlloc< ndConstraint > ndFreeListAlloc

Public Member Functions

 D_CLASS_REFLECTION (ndIkJointSpherical)
 
D_NEWTON_API ndIkJointSpherical (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndIkJointSpherical (const ndMatrix &pinAndPivotFrame, ndBodyKinematic *const child, ndBodyKinematic *const parent)
 
 D_ADD_IK_INTERFACE ()
 
- Public Member Functions inherited from ndJointSpherical
 D_CLASS_REFLECTION (ndJointSpherical)
 
D_NEWTON_API ndJointSpherical (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndJointSpherical (const ndMatrix &pinAndPivotFrame, ndBodyKinematic *const child, ndBodyKinematic *const parent)
 
D_NEWTON_API ndFloat32 GetConeLimit () const
 
D_NEWTON_API ndMatrix GetOffsetRotation () const
 
D_NEWTON_API void SetConeLimit (ndFloat32 maxConeAngle)
 
D_NEWTON_API void SetOffsetRotation (const ndMatrix &rotation)
 
D_NEWTON_API void SetTwistLimits (ndFloat32 minAngle, ndFloat32 maxAngle)
 
D_NEWTON_API void GetTwistLimits (ndFloat32 &minAngle, ndFloat32 &maxAngle) const
 
D_NEWTON_API void SetAsSpringDamper (ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper)
 
D_NEWTON_API void GetSpringDamper (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 void SubmitAccel (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
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
 
- Protected Member Functions inherited from ndJointSpherical
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 ndFloat32 PenetrationOmega (ndFloat32 penetartion) const
 
D_NEWTON_API void ApplyBaseRows (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
D_NEWTON_API void SubmitSpringDamper (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
D_NEWTON_API void SubmitAngularAxis (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
D_NEWTON_API void SubmitTwistAngle (const ndVector &pin, ndFloat32 angle, ndConstraintDescritor &desc)
 
D_NEWTON_API void SubmitLimits (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
D_NEWTON_API void SubmitAngularAxisCartesianApproximation (const ndMatrix &matrix0, const ndMatrix &matrix1, ndConstraintDescritor &desc)
 
- 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)
 

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
 
- Public Attributes inherited from ndJointBilateralConstraint::ndIkInterface
ndJacobian m_accel0
 
ndJacobian m_accel1
 
ndFloat32 m_defualRegularizer
 
bool m_ikMode
 
- Protected Attributes inherited from ndJointSpherical
ndMatrix m_rotation
 
ndFloat32 m_springK
 
ndFloat32 m_damperC
 
ndFloat32 m_maxConeAngle
 
ndFloat32 m_minTwistAngle
 
ndFloat32 m_maxTwistAngle
 
ndFloat32 m_springDamperRegularizer
 
- 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