#ifndef NX_PHYSICS_NXSPHERICALJOINT #define NX_PHYSICS_NXSPHERICALJOINT /*----------------------------------------------------------------------------*\ | | Public Interface to NovodeX Technology | | www.novodex.com | \*----------------------------------------------------------------------------*/ /** \addtogroup physics @{ */ #include "NxSphericalJointDesc.h" #include "NxJoint.h" /** \brief A sphere joint constrains two points on two bodies to coincide. This point, specified in world space (this guarantees that the points coincide to start with) is the only parameter that has to be specified. \image html sphericalJoint.png

Creation

Example: \include NxSphericalJoint_Create.cpp

Visulizations:

\li #NX_VISUALIZE_JOINT_LOCAL_AXES \li #NX_VISUALIZE_JOINT_WORLD_AXES \li #NX_VISUALIZE_JOINT_LIMITS \li #NX_VISUALIZE_JOINT_ERROR \li #NX_VISUALIZE_JOINT_FORCE \li #NX_VISUALIZE_JOINT_REDUCED @see NxSphericalJointDesc NxScene.createJoint() NxJoint */ class NxSphericalJoint: public NxJoint { public: /** \brief Use this for changing a significant number of joint parameters at once. Use the set() methods for changing only a single property at once. \param[in] desc The descriptor used to set the state of the object. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSphericalJointDesc saveToDesc() */ virtual void loadFromDesc(const NxSphericalJointDesc &desc) = 0; /** \brief Writes all of the object's attributes to the desc struct \param[out] desc The descriptor used to retrieve the state of the object. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSphericalJointDesc loadFromDesc() */ virtual void saveToDesc(NxSphericalJointDesc &desc) = 0; /** \brief Sets the flags to enable/disable the spring/motor/limit. This is a combination of the bits defined by ::NxRevoluteJointFlag. \param[in] flags The new value for the joint flags. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxRevoluteJointFlag getFlags() */ virtual void setFlags(NxU32 flags) = 0; /** \brief Returns the current flag settings. \return The flags associated with the joint. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see getFlags() NxRevoluteJointFlag */ virtual NxU32 getFlags() = 0; /** \brief Sets the joint projection mode. \param[in] projectionMode The new projection mode for the joint. See #NxJointProjectionMode. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see getProjectionMode() NxJointProjectionMode */ virtual void setProjectionMode(NxJointProjectionMode projectionMode) = 0; /** \brief Returns the current flag settings. \return The joints projection mode. See #NxJointProjectionMode. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see setProjectionMode() NxJointProjectionMode */ virtual NxJointProjectionMode getProjectionMode() = 0; }; /** @} */ #endif //AGCOPYRIGHTBEGIN /////////////////////////////////////////////////////////////////////////// // Copyright © 2005 AGEIA Technologies. // All rights reserved. www.ageia.com /////////////////////////////////////////////////////////////////////////// //AGCOPYRIGHTEND