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_SKINNED
00052 };
00053
00055
00059 class IAnimatedMesh : public IMesh
00060 {
00061 public:
00062
00064
00066 virtual u32 getFrameCount() const = 0;
00067
00069
00081 virtual IMesh* getMesh(s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1) = 0;
00082
00084
00089 virtual E_ANIMATED_MESH_TYPE getMeshType() const
00090 {
00091 return EAMT_UNKNOWN;
00092 }
00093 };
00094
00095 }
00096 }
00097
00098 #endif
00099