5#ifndef __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
6#define __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
15 class ISceneNodeAnimatorCollisionResponse;
Base class of most objects of the Irrlicht Engine.
Axis aligned bounding box in 3d dimensional space.
Callback interface for catching events of collisions.
virtual bool onCollision(const ISceneNodeAnimatorCollisionResponse &animator)=0
Will be called when a collision occurrs.
Special scene node animator for doing automatic collision detection and response.
virtual core::vector3df getGravity() const =0
virtual ISceneNode * getTargetNode(void) const =0
Gets the single node that this animator is acting on.
virtual void setEllipsoidTranslation(const core::vector3df &translation)=0
Set translation of the collision ellipsoid.
virtual void setCollisionCallback(ICollisionCallback *callback)=0
Sets a callback interface which will be called if a collision occurs.
virtual ITriangleSelector * getWorld() const =0
Get the current triangle selector containing all triangles for collision detection.
virtual void setAnimateTarget(bool enable)=0
Should the Target react on collision ( default = true )
virtual void jump(f32 jumpSpeed)=0
'Jump' the animator, by adding a jump speed opposite to its gravity
virtual void setWorld(ITriangleSelector *newWorld)=0
Sets a triangle selector holding all triangles of the world with which the scene node may collide.
virtual const core::vector3df & getCollisionPoint() const =0
Returns the last point of collision.
virtual void setTargetNode(ISceneNode *node)=0
Set the single node that this animator will act on.
virtual bool isFalling() const =0
Check if the attached scene node is falling.
virtual void setEllipsoidRadius(const core::vector3df &radius)=0
Sets the radius of the ellipsoid for collision detection and response.
virtual ISceneNode * getCollisionNode(void) const =0
Returns the node that was collided with.
virtual const core::vector3df & getCollisionResultPosition(void) const =0
Returns the position that the target node will be moved to, unless the collision is consumed in a cal...
virtual bool collisionOccurred() const =0
Returns true if a collision occurred during the last animateNode()
virtual core::vector3df getEllipsoidRadius() const =0
Returns the radius of the ellipsoid for collision detection and response.
virtual ~ISceneNodeAnimatorCollisionResponse()
Destructor.
virtual bool getAnimateTarget() const =0
virtual const core::triangle3df & getCollisionTriangle() const =0
Returns the last triangle that caused a collision.
virtual void setGravity(const core::vector3df &gravity)=0
Sets the gravity of the environment.
virtual core::vector3df getEllipsoidTranslation() const =0
Get the translation of the ellipsoid for collision detection.
Animates a scene node. Can animate position, rotation, material, and so on.
Interface to return triangles with specific properties.
Everything in the Irrlicht Engine can be found in this namespace.
float f32
32 bit floating point variable.