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

ISceneNodeAnimator.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2010 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_H_INCLUDED__
00006 #define __I_SCENE_NODE_ANIMATOR_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "vector3d.h"
00010 #include "ESceneNodeAnimatorTypes.h"
00011 #include "IAttributeExchangingObject.h"
00012 #include "IEventReceiver.h"
00013 
00014 namespace irr
00015 {
00016 namespace io
00017 {
00018         class IAttributes;
00019 } // end namespace io
00020 namespace scene
00021 {
00022         class ISceneNode;
00023         class ISceneManager;
00024 
00026 
00030         class ISceneNodeAnimator : public io::IAttributeExchangingObject, public IEventReceiver
00031         {
00032         public:
00034 
00036                 virtual void animateNode(ISceneNode* node, u32 timeMs) =0;
00037 
00039 
00041                 virtual ISceneNodeAnimator* createClone(ISceneNode* node,
00042                                 ISceneManager* newManager=0) =0;
00043 
00045 
00047                 virtual bool isEventReceiverEnabled() const
00048                 {
00049                         return false;
00050                 }
00051 
00053                 virtual bool OnEvent(const SEvent& event)
00054                 {
00055                         return false;
00056                 }
00057 
00059                 virtual ESCENE_NODE_ANIMATOR_TYPE getType() const
00060                 {
00061                         return ESNAT_UNKNOWN;
00062                 }
00063 
00065 
00067                 virtual bool hasFinished(void) const
00068                 {
00069                         return false;
00070                 }
00071         };
00072 
00073 
00074 } // end namespace scene
00075 } // end namespace irr
00076 
00077 #endif
00078 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:41:57 2010 by Doxygen (1.6.2)