|
IrrlichtEngine
|
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