12 #ifndef __ND_JOINT_DOUBLE_HINGE_H__
13 #define __ND_JOINT_DOUBLE_HINGE_H__
15 #include "ndNewtonStdafx.h"
16 #include "ndJointBilateralConstraint.h"
18 #define D_MAX_DOUBLE_HINGE_RECOVERY_SPEED ndFloat32 (0.25f)
19 #define D_MAX_DOUBLE_HINGE_PENETRATION (ndFloat32 (4.0f) * ndDegreeToRad)
37 ndFloat32 m_offsetAngle;
38 ndFloat32 m_springDamperRegularizer;
46 D_NEWTON_API ndFloat32 GetAngle0()
const;
47 D_NEWTON_API ndFloat32 GetOmega0()
const;
48 D_NEWTON_API ndFloat32 GetOffsetAngle0()
const;
49 D_NEWTON_API
void SetOffsetAngle0(ndFloat32 angle);
50 D_NEWTON_API
void SetLimits0(ndFloat32 minLimit, ndFloat32 maxLimit);
51 D_NEWTON_API
void GetLimits0(ndFloat32& minLimit, ndFloat32& maxLimit);
52 D_NEWTON_API
void SetAsSpringDamper0(ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper);
54 D_NEWTON_API ndFloat32 GetAngle1()
const;
55 D_NEWTON_API ndFloat32 GetOmega1()
const;
56 D_NEWTON_API ndFloat32 GetOffsetAngle1()
const;
57 D_NEWTON_API
void SetOffsetAngle1(ndFloat32 angle);
58 D_NEWTON_API
void SetLimits1(ndFloat32 minLimit, ndFloat32 maxLimit);
59 D_NEWTON_API
void GetLimits1(ndFloat32& minLimit, ndFloat32& maxLimit);
60 D_NEWTON_API
void SetAsSpringDamper1(ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper);
64 D_NEWTON_API ndFloat32 PenetrationOmega(ndFloat32 penetartion)
const;