12 #ifndef __ND_JOINT_ROLLER_H__
13 #define __ND_JOINT_ROLLER_H__
15 #include "ndNewtonStdafx.h"
16 #include "ndJointBilateralConstraint.h"
27 D_NEWTON_API ndFloat32 GetAngle()
const;
28 D_NEWTON_API ndFloat32 GetOmega()
const;
29 D_NEWTON_API ndFloat32 GetOffsetAngle()
const;
30 D_NEWTON_API
void SetOffsetAngle(ndFloat32 angle);
31 D_NEWTON_API
bool GetLimitStateAngle()
const;
32 D_NEWTON_API
void SetLimitStateAngle(
bool state);
33 D_NEWTON_API
void SetLimitsAngle(ndFloat32 minLimit, ndFloat32 maxLimit);
34 D_NEWTON_API
void GetLimitsAngle(ndFloat32& minLimit, ndFloat32& maxLimit)
const;
35 D_NEWTON_API
void SetAsSpringDamperAngle(ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper);
36 D_NEWTON_API
void GetSpringDamperAngle(ndFloat32& regularizer, ndFloat32& spring, ndFloat32& damper)
const;
38 D_NEWTON_API ndFloat32 GetPosit()
const;
39 D_NEWTON_API ndFloat32 GetOffsetPosit()
const;
40 D_NEWTON_API
void SetOffsetPosit(ndFloat32 offset);
41 D_NEWTON_API
bool GetLimitStatePosit()
const;
42 D_NEWTON_API
void SetLimitStatePosit(
bool state);
43 D_NEWTON_API
void SetLimitsPosit(ndFloat32 minLimit, ndFloat32 maxLimit);
44 D_NEWTON_API
void GetLimitsPosit(ndFloat32& minLimit, ndFloat32& maxLimit)
const;
45 D_NEWTON_API
void SetAsSpringDamperPosit(ndFloat32 regularizer, ndFloat32 spring, ndFloat32 damper);
46 D_NEWTON_API
void GetSpringDamperPosit(ndFloat32& regularizer, ndFloat32& spring, ndFloat32& damper)
const;
49 D_NEWTON_API ndFloat32 PenetrationOmega(ndFloat32 penetartion)
const;
53 D_NEWTON_API ndFloat32 PenetrationSpeed(ndFloat32 penetration)
const;
64 ndFloat32 m_springKAngle;
65 ndFloat32 m_damperCAngle;
66 ndFloat32 m_minLimitAngle;
67 ndFloat32 m_maxLimitAngle;
68 ndFloat32 m_offsetAngle;
69 ndFloat32 m_springDamperRegularizerAngle;
73 ndFloat32 m_springKPosit;
74 ndFloat32 m_damperCPosit;
75 ndFloat32 m_minLimitPosit;
76 ndFloat32 m_maxLimitPosit;
77 ndFloat32 m_offsetPosit;
78 ndFloat32 m_springDamperRegularizerPosit;
80 ndInt8 m_limitStatePosit;
81 ndInt8 m_limitStateAngle;