Irrlicht 3D Engine
ISceneNodeAnimatorFactory.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 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_FACTORY_H_INCLUDED__
00006 #define __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "ESceneNodeAnimatorTypes.h"
00010 
00011 namespace irr
00012 {
00013 namespace scene
00014 {
00015     class ISceneNode;
00016     class ISceneNodeAnimator;
00017 
00019 
00027     class ISceneNodeAnimatorFactory : public virtual IReferenceCounted
00028     {
00029     public:
00030 
00032 
00036         virtual ISceneNodeAnimator* createSceneNodeAnimator(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target) = 0;
00037 
00039 
00043         virtual ISceneNodeAnimator* createSceneNodeAnimator(const c8* typeName, ISceneNode* target) = 0;
00044 
00046         virtual u32 getCreatableSceneNodeAnimatorTypeCount() const = 0;
00047 
00049 
00051         virtual ESCENE_NODE_ANIMATOR_TYPE getCreateableSceneNodeAnimatorType(u32 idx) const = 0;
00052 
00054 
00056         virtual const c8* getCreateableSceneNodeAnimatorTypeName(u32 idx) const = 0;
00057 
00059 
00061         virtual const c8* getCreateableSceneNodeAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) const = 0;
00062     };
00063 
00064 
00065 } // end namespace scene
00066 } // end namespace irr
00067 
00068 #endif
00069