| Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
#include <ISceneNodeAnimatorCollisionResponse.h>

Public Member Functions | |
| virtual core::vector3df | getEllipsoidRadius () const =0 |
| Returns the radius of the ellipsoid for collision detection and response. | |
| virtual core::vector3df | getEllipsoidTranslation () const =0 |
| Get the translation of the ellipsoid for collision detection. | |
| *virtual core::vector3df | getGravity () const =0 |
| virtual ITriangleSelector * | getWorld () const =0 |
| Get the current triangle selector containing all triangles for collision detection. | |
| virtual bool | isFalling () const =0 |
| Check if the attached scene node is falling. | |
| virtual void | jump (f32 jumpSpeed)=0 |
| 'Jump' the animator, by adding a jump speed opposite to its gravity | |
| virtual void | setEllipsoidRadius (const core::vector3df &radius)=0 |
| Sets the radius of the ellipsoid for collision detection and response. | |
| virtual void | setEllipsoidTranslation (const core::vector3df &translation)=0 |
| Set translation of the collision ellipsoid. | |
| virtual void | setGravity (const core::vector3df &gravity)=0 |
| Sets the gravity of the environment. | |
| virtual void | setWorld (ITriangleSelector *newWorld)=0 |
| Sets a triangle selector holding all triangles of the world with which the scene node may collide. | |
| virtual | ~ISceneNodeAnimatorCollisionResponse () |
| Destructor. | |
This scene node animator can be attached to any scene node modifying it in that way, that it cannot move through walls of the world, is influenced by gravity and acceleration. This animator is useful for example for first person shooter games. Attach it for example to a first person shooter camera, and the camera will behave as the player control in a first person shooter game: The camera stops and slides at walls, walks up stairs, falls down if there is no floor under it, and so on.
Definition at line 24 of file ISceneNodeAnimatorCollisionResponse.h.
| virtual irr::scene::ISceneNodeAnimatorCollisionResponse::~ISceneNodeAnimatorCollisionResponse | ( | ) | [inline, virtual] |
| virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidRadius | ( | ) | const [pure virtual] |
Returns the radius of the ellipsoid for collision detection and response.
| virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidTranslation | ( | ) | const [pure virtual] |
Get the translation of the ellipsoid for collision detection.
See ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation() for more details.
| * virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getGravity | ( | ) | const [pure virtual] |
Get current vector of gravity.
| virtual ITriangleSelector* irr::scene::ISceneNodeAnimatorCollisionResponse::getWorld | ( | ) | const [pure virtual] |
Get the current triangle selector containing all triangles for collision detection.
| virtual bool irr::scene::ISceneNodeAnimatorCollisionResponse::isFalling | ( | ) | const [pure virtual] |
| virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::jump | ( | f32 | jumpSpeed | ) | [pure virtual] |
'Jump' the animator, by adding a jump speed opposite to its gravity
| jumpSpeed | The initial speed of the jump; the velocity will be opposite to this animator's gravity vector. |
| virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidRadius | ( | const core::vector3df & | radius | ) | [pure virtual] |
Sets the radius of the ellipsoid for collision detection and response.
If you have a scene node, and you are unsure about how big the radius should be, you could use the following code to determine it:
core::aabbox<f32> box = yourSceneNode->getBoundingBox();
core::vector3df radius = box.MaxEdge - box.getCenter();
| radius,: | New radius of the ellipsoid. |
| virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation | ( | const core::vector3df & | translation | ) | [pure virtual] |
Set translation of the collision ellipsoid.
By default, the ellipsoid for collision detection is created around the center of the scene node, which means that the ellipsoid surrounds it completely. If this is not what you want, you may specify a translation for the ellipsoid.
| translation,: | Translation of the ellipsoid relative to the position of the scene node. |
| virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setGravity | ( | const core::vector3df & | gravity | ) | [pure virtual] |
Sets the gravity of the environment.
A good example value would be core::vector3df(0,-100.0f,0) for letting gravity affect all object to fall down. For bigger gravity, make increase the length of the vector. You can disable gravity by setting it to core::vector3df(0,0,0);
| gravity,: | New gravity vector. |
| virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setWorld | ( | ITriangleSelector * | newWorld | ) | [pure virtual] |
| The Irrlicht
Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated
on Sun Dec 14 08:04:55 2008 by Doxygen
(1.5.6) |