| Irrlicht 3D Engine |

IAnimatedMesh.h
Go to the documentation of this file.

    00001 // Copyright (C) 2002-2012 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
    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 } // end namespace scene
    00112 } // end namespace irr
    00113
    00114 #endif
    00115