12 #ifndef __ND_IK_SWIVEL_POSITION_EFFECTOR_H__
13 #define __ND_IK_SWIVEL_POSITION_EFFECTOR_H__
15 #include "ndNewtonStdafx.h"
16 #include "ndJointBilateralConstraint.h"
32 D_NEWTON_API
ndVector GetLocalTargetPosition()
const;
33 D_NEWTON_API
void SetLocalTargetPosition(
const ndVector& posit);
35 D_NEWTON_API
ndVector GetGlobalPosition()
const;
37 D_NEWTON_API ndFloat32 GetSwivelAngle()
const;
38 D_NEWTON_API
void SetSwivelAngle(
const ndFloat32 angle);
40 D_NEWTON_API
void SetLinearSpringDamper(ndFloat32 regularizer, ndFloat32 springConst, ndFloat32 damperConst);
41 D_NEWTON_API
void GetLinearSpringDamper(ndFloat32& regularizer, ndFloat32& springConst, ndFloat32& damperConst)
const;
43 D_NEWTON_API
void SetAngularSpringDamper(ndFloat32 regularizer, ndFloat32 springConst, ndFloat32 damperConst);
44 D_NEWTON_API
void GetAngularSpringDamper(ndFloat32& regularizer, ndFloat32& springConst, ndFloat32& damperConst)
const;
46 D_NEWTON_API
void SetWorkSpaceConstraints(ndFloat32 minRadio, ndFloat32 maxRadio);
47 D_NEWTON_API
void GetWorkSpaceConstraints(ndFloat32& minRadio, ndFloat32& maxRadio)
const;
49 D_NEWTON_API ndFloat32 GetMaxForce()
const;
50 D_NEWTON_API
void SetMaxForce(ndFloat32 force);
52 D_NEWTON_API
bool GetSwivelMode()
const;
53 D_NEWTON_API
void SetSwivelMode(
bool active);
55 D_NEWTON_API ndFloat32 GetMaxTorque()
const;
56 D_NEWTON_API
void SetMaxTorque(ndFloat32 torque);
68 ndFloat32 m_swivelAngle;
70 ndFloat32 m_angularSpring;
71 ndFloat32 m_angularDamper;
72 ndFloat32 m_angularMaxTorque;
73 ndFloat32 m_angularRegularizer;
75 ndFloat32 m_linearSpring;
76 ndFloat32 m_linearDamper;
77 ndFloat32 m_linearMaxForce;
78 ndFloat32 m_linearRegularizer;
80 ndFloat32 m_minWorkSpaceRadio;
81 ndFloat32 m_maxWorkSpaceRadio;
82 ndRotationOrder m_rotationOrder;
83 bool m_enableSwivelControl;