#ifndef NX_PHYSICS_NXSPRINGANDDAMPEREFFECTORDESC #define NX_PHYSICS_NXSPRINGANDDAMPEREFFECTORDESC /*----------------------------------------------------------------------------*\ | | Public Interface to NovodeX Technology | | www.novodex.com | \*----------------------------------------------------------------------------*/ /** \addtogroup physics @{ */ #include "Nxp.h" class NxActor; /* TODO: This is not yet/anymore used for anything useful!! */ /** \brief Desc class for NxSpringAndDamperEffector.

Example

\include NxSpringAndDamperEffector_Create.cpp @see NxSpringAndDamperEffector */ class NxSpringAndDamperEffectorDesc { public: /** \brief Constructor sets to default. */ NX_INLINE NxSpringAndDamperEffectorDesc(); /** \brief (re)sets the structure to the default. */ NX_INLINE void setToDefault(); /** \brief Returns true if the descriptor is valid. \return true if the current settings are valid */ NX_INLINE bool isValid() const; /** \brief First attached body. Default: NULL Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setBodies() */ NxActor* body1; /** \brief Second attached body. Default: NULL Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setBodies() */ NxActor* body2; /** \brief First attachment point. Range: position vector
Default: Zero Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setBodies() */ NxVec3 pos1; /** \brief Second attachment point. Range: position vector
Default: Zero Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setBodies() */ NxVec3 pos2; //linear spring parameters: /** \brief Range: [0,springDistRelaxed]
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearSpring() NxSpringAndDampererEffector.getLinearSpring() */ NxReal springDistCompressSaturate; /** \brief Range: [springDistCompressSaturate,springDistStretchSaturate]
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearSpring() NxSpringAndDampererEffector.getLinearSpring() */ NxReal springDistRelaxed; /** \brief Range: [springDistCompressSaturate,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearSpring() NxSpringAndDampererEffector.getLinearSpring() */ NxReal springDistStretchSaturate; /** \brief Range: [0,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearSpring() NxSpringAndDampererEffector.getLinearSpring() */ NxReal springMaxCompressForce; /** \brief Range: [0,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearSpring() NxSpringAndDampererEffector.getLinearSpring() */ NxReal springMaxStretchForce; //linear damper parameters: /** \brief Range: (-inf,0]
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearDamper() NxSpringAndDampererEffector.getLinearDamper() */ NxReal damperVelCompressSaturate; /** \brief Range: [0,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearDamper() NxSpringAndDampererEffector.getLinearDamper() */ NxReal damperVelStretchSaturate; /** \brief Range: [0,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearDamper() NxSpringAndDampererEffector.getLinearDamper() */ NxReal damperMaxCompressForce; /** \brief Range: [0,inf)
Default: 0 Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDampererEffector.setLinearDamper() NxSpringAndDampererEffector.getLinearDamper() */ NxReal damperMaxStretchForce; }; NX_INLINE NxSpringAndDamperEffectorDesc::NxSpringAndDamperEffectorDesc() //constructor sets to default { setToDefault(); } NX_INLINE void NxSpringAndDamperEffectorDesc::setToDefault() { body1 = NULL; body2 = NULL; pos1.zero(); pos2.zero(); springDistCompressSaturate = 0; springDistRelaxed = 0; springDistStretchSaturate = 0; springMaxCompressForce = 0; springMaxStretchForce = 0; damperVelCompressSaturate = 0; damperVelStretchSaturate = 0; damperMaxCompressForce = 0; damperMaxStretchForce = 0; } NX_INLINE bool NxSpringAndDamperEffectorDesc::isValid() const { return true; } /** @} */ #endif //AGCOPYRIGHTBEGIN /////////////////////////////////////////////////////////////////////////// // Copyright © 2005 AGEIA Technologies. // All rights reserved. www.ageia.com /////////////////////////////////////////////////////////////////////////// //AGCOPYRIGHTEND