#ifndef NX_PHYSICS_NXEFFECTOR #define NX_PHYSICS_NXEFFECTOR /*----------------------------------------------------------------------------*\ | | Public Interface to NovodeX Technology | | www.novodex.com | \*----------------------------------------------------------------------------*/ /** \addtogroup physics @{ */ #include "Nxp.h" class NxSpringAndDamperEffector; class NxScene; /** \brief An effector is a class that gets called before each tick of the scene. At this point it may apply any permissible effect to the objects. For example: #NxSpringAndDamperEffector Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDamperEffector NxScene.createSpringAndDamperEffector */ class NxEffector { public: /** \brief Attempts to perform a downcast to the type returned. Returns 0 if this object is not of the appropriate type. \return If this is a spring and damper constraint a pointer otherwise NULL. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxSpringAndDamperEffector() */ virtual NxSpringAndDamperEffector* isSpringAndDamperEffector() = 0; /** \brief Retrieves the owner scene \return The scene which this effector belongs to. Platform: \li PC SW: Yes \li PPU : No \li PS3 : Yes \li XB360: Yes @see NxScene */ virtual NxScene& getScene() = 0; void * userData; //!< user can assign this to whatever, usually to create a 1:1 relationship with a user object. }; /** @} */ #endif //AGCOPYRIGHTBEGIN /////////////////////////////////////////////////////////////////////////// // Copyright © 2005 AGEIA Technologies. // All rights reserved. www.ageia.com /////////////////////////////////////////////////////////////////////////// //AGCOPYRIGHTEND