Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# ISceneNodeAnimatorCollisionResponse.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
    00006 #define __I_SCENE_NODE_ANIMATOR_COLLISION_RESPONSE_H_INCLUDED__
    00007
    00008 #include "ISceneNode.h"
    00009
    00010 namespace irr
    00011 {
    00012 namespace scene
    00013 {
    00014
    00015         class ISceneNodeAnimatorCollisionResponse;
    00016
    00018
    00022         class ICollisionCallback : public virtual IReferenceCounted
    00023         {
    00024         public:
    00025
    00027
    00036                 virtual bool onCollision(const ISceneNodeAnimatorCollisionResponse& animator) = 0;
    00037         };
    00038
    00040
    00053         class ISceneNodeAnimatorCollisionResponse : public ISceneNodeAnimator
    00054         {
    00055         public:
    00056
    00058                 virtual ~ISceneNodeAnimatorCollisionResponse() {}
    00059
    00061
    00066                 virtual bool isFalling() const = 0;
    00067
    00069
    00077                 virtual void setEllipsoidRadius(const core::vector3df& radius) = 0;
    00078
    00080
    00081                 virtual core::vector3df getEllipsoidRadius() const = 0;
    00082
    00084
    00089                 virtual void setGravity(const core::vector3df& gravity) = 0;
    00090
    00093                 virtual core::vector3df getGravity() const = 0;
    00094
    00096
    00098                 virtual void jump(f32 jumpSpeed) = 0;
    00099
    00101                 virtual void setAnimateTarget ( bool enable ) = 0;
    00102                 virtual bool getAnimateTarget () const = 0;
    00103
    00105
    00111                 virtual void setEllipsoidTranslation(const core::vector3df &translation) = 0;
    00112
    00114
    00119                 virtual core::vector3df getEllipsoidTranslation() const = 0;
    00120
    00122
    00124                 virtual void setWorld(ITriangleSelector* newWorld) = 0;
    00125
    00127                 virtual ITriangleSelector* getWorld() const = 0;
    00128
    00130
    00133                 virtual void setTargetNode(ISceneNode * node) = 0;
    00134
    00136
    00137                 virtual ISceneNode* getTargetNode(void) const = 0;
    00138
    00140                 virtual bool collisionOccurred() const = 0;
    00141
    00143                 virtual const core::vector3df & getCollisionPoint() const = 0;
    00144
    00146                 virtual const core::triangle3df & getCollisionTriangle() const = 0;
    00147
    00149
    00153                 virtual const core::vector3df & getCollisionResultPosition(void) const = 0;
    00154
    00156                 virtual const ISceneNode* getCollisionNode(void) const = 0;
    00157
    00159
    00162                 virtual void setCollisionCallback(ICollisionCallback* callback) = 0;
    00163
    00164         };
    00165
    00166
    00167 } // end namespace scene
    00168 } // end namespace irr
    00169
    00170 #endif
    00171

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:04 2010 by Doxygen (1.5.6)