IrrlichtEngine
IAnimatedMesh.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2011 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_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 
00084                 virtual IMesh* getMesh(s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1) = 0;
00085 
00087 
00092                 virtual E_ANIMATED_MESH_TYPE getMeshType() const
00093                 {
00094                         return EAMT_UNKNOWN;
00095                 }
00096         };
00097 
00098 } // end namespace scene
00099 } // end namespace irr
00100 
00101 #endif
00102