Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 #ifndef __I_ANIMATED_MESH_H_INCLUDED__
00006 #define __I_ANIMATED_MESH_H_INCLUDED__
00007 
00008 #include "aabbox3d.h"
00009 #include "IMesh.h"
00010 
00011 namespace irr
00012 {
00013 namespace scene
00014 {
00016     enum E_ANIMATED_MESH_TYPE
00017     {
00019         EAMT_UNKNOWN = 0,
00020 
00022         EAMT_MD2,
00023 
00025         EAMT_MD3,
00026 
00028         EAMT_OBJ,
00029 
00031         EAMT_BSP,
00032 
00034         EAMT_3DS,
00035 
00037         EAMT_MY3D,
00038 
00040         EAMT_LMTS,
00041 
00043         EAMT_CSM,
00044 
00046 
00048         EAMT_OCT,
00049 
00051         EAMT_MDL_HALFLIFE,
00052 
00054         EAMT_SKINNED
00055     };
00056 
00058 
00062     class IAnimatedMesh : public IMesh
00063     {
00064     public:
00065 
00067 
00069         virtual u32 getFrameCount() const = 0;
00070 
00072 
00075         virtual f32 getAnimationSpeed() const = 0;
00076 
00078 
00082         virtual void setAnimationSpeed(f32 fps) =0;
00083 
00085 
00097         virtual IMesh* getMesh(s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1) = 0;
00098 
00100 
00105         virtual E_ANIMATED_MESH_TYPE getMeshType() const
00106         {
00107             return EAMT_UNKNOWN;
00108         }
00109     };
00110 
00111 } 
00112 } 
00113 
00114 #endif
00115