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