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

ISceneNodeAnimator.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2008 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 
00013 namespace irr
00014 {
00015 namespace io
00016 {
00017         class IAttributes;
00018 } // end namespace io
00019 namespace scene
00020 {
00021         class ISceneNode;
00022         class ISceneManager;
00023 
00025 
00029         class ISceneNodeAnimator : public io::IAttributeExchangingObject
00030         {
00031         public:
00032 
00034                 virtual ~ISceneNodeAnimator() {}
00035 
00037 
00039                 virtual void animateNode(ISceneNode* node, u32 timeMs) = 0;
00040 
00042 
00045                 virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0)
00046                 {
00047                         return 0; // to be implemented by derived classes.
00048                 }
00049 
00051                 virtual ESCENE_NODE_ANIMATOR_TYPE getType() const
00052                 {
00053                         return ESNAT_UNKNOWN;
00054                 }
00055         };
00056 } // end namespace scene
00057 } // end namespace irr
00058 
00059 #endif
00060 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated on Sun Jun 1 07:59:08 2008 by Doxygen (1.4.2)