hkpPositionConstraintMotor.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:3k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /* 
  2.  * 
  3.  * Confidential Information of Telekinesys Research Limited (t/a Havok). Not for disclosure or distribution without Havok's
  4.  * prior written consent. This software contains code, techniques and know-how which is confidential and proprietary to Havok.
  5.  * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2009 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
  6.  * 
  7.  */
  8. #ifndef HK_DYNAMICS2_BLENDING_MOTOR_H
  9. #define HK_DYNAMICS2_BLENDING_MOTOR_H
  10. #include <Physics/Dynamics/Constraint/Motor/hkpLimitedForceConstraintMotor.h>
  11. extern const hkClass hkpPositionConstraintMotorClass;
  12. /// A motor which tries to reach a desired position/angle given
  13. /// a maxForce and a recovery speed.
  14. /// Note:
  15. ///  - this motor is a good choice for driving a ragdoll to a given pose.
  16. ///  - This motor accumulates the error over time to be able to achieve high forces.
  17. ///    This can lead to a small jitter, the first time the motor is activated.
  18. ///    To reduce this jitter, you can either try to fade in the motor's maxForce or
  19. ///    set the maxForce to some reasonable value.
  20. class hkpPositionConstraintMotor : public hkpLimitedForceConstraintMotor
  21. {
  22. public:
  23. HK_DECLARE_REFLECTION();
  24. /// Sets some reasonable default values.
  25. hkpPositionConstraintMotor( hkReal currentPosition = 0.0f);
  26. /// Motor clone method.
  27. virtual hkpConstraintMotor* clone() const;
  28. public:
  29. /// The relative stiffness between 0 and 1.
  30. hkReal m_tau;
  31. /// The relative damping between 0 and 1.
  32. hkReal m_damping;
  33. /// A factor of the current error to calculate the recovery velocity.
  34. hkReal m_proportionalRecoveryVelocity;
  35. /// A constant velocity which is used to recover from errors.
  36. hkReal m_constantRecoveryVelocity;
  37. public:
  38. hkpPositionConstraintMotor(hkFinishLoadedObjectFlag f) : hkpLimitedForceConstraintMotor(f) {}
  39. };
  40. #endif // HK_DYNAMICS2_BLENDING_MOTOR_H
  41. /*
  42. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  43. * Confidential Information of Havok.  (C) Copyright 1999-2009
  44. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  45. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  46. * rights, and intellectual property rights in the Havok software remain in
  47. * Havok and/or its suppliers.
  48. * Use of this software for evaluation purposes is subject to and indicates
  49. * acceptance of the End User licence Agreement for this product. A copy of
  50. * the license is included with this software and is also available at www.havok.com/tryhavok.
  51. */