D:/Zythum/DinoKod/Model/MdlAnim.h

00001 //---------------------------------------------------------------------------------------------
00002 //      This file is a part of "DinoKod".
00003 //      Copyright © 2003 Dino Productions. All Rights Reserved.
00004 //      
00005 //      File                    : MdlAnum.h
00006 //      Author                  : Sebastien LEIX        sebastien.leix@wanadoo.fr
00007 //      Date                    : 09/09/2002
00008 //      Modification    :
00009 //
00010 //---------------------------------------------------------------------------------------------
00011 #ifndef __MDLANIM_H__
00012 #define __MDLANIM_H__
00013 
00014 #include "Model/ModelDll.h"
00015 #include "Common/Types.h"
00016 #include "Common/Table.h"
00017 #include "Common/File.h"
00018 
00019 class KMdlMesh;
00020 class KMdlMeshAnim;
00021 
00022 //---------------------------------------------------------------------------------------------------------------------
00023 class MODEL_API KMdlAnim
00024 {
00025 protected:
00026         KStr                                    m_Name;
00027         u32                                             m_MaxFrame;
00028         u32                                             m_FPS;
00029         KTable<KMdlMeshAnim*>   m_pMeshAnims;
00030         u32                                             m_nMeshAnims;
00031         u32                                             m_CurrentFrame;         // Inutile de sauvegarder
00032 
00033 public:
00034         KMdlAnim();
00035 
00036         void                    Save( KFile& File );
00037         void                    Load( KFile& File );
00038         u32                             AddMeshAnim( KMdlMeshAnim* pMeshAnim );
00039         u32                             RemoveMeshAnim( KMdlMeshAnim* pMeshAnim );
00040         void                    SetFrame( u32 Frame );
00041         void                    SetMaxFrame( u32 Frame );
00042 
00043         KStr                    GetName()                                               { return m_Name;                                                }
00044         u32                             GetMaxFrame()                                   { return m_MaxFrame;                                    }
00045         u32                             GetFPS()                                                { return m_FPS;                                                 }
00046         u32                             GetCurrentFrame()                               { return m_CurrentFrame;                                }
00047         u32                             GetnMeshAnims()                                 { return m_nMeshAnims;                                  }
00048         KMdlMeshAnim*   GetpMeshAnims( u32 MeshAnimId ) { return m_pMeshAnims[MeshAnimId];              }
00049 
00050         void                    SetName( KStr Name )                    { m_Name = Name;                                                }
00051         void                    SetFPS( u32 FPS )                               { KASSERT( FPS > 0 );   m_FPS = FPS;    }
00052 };
00053 
00054 //---------------------------------------------------------------------------------------------------------------------
00055 class MODEL_API KMdlMeshAnim
00056 {
00057 protected:
00058         u32                     m_FrameStart;
00059         u32                     m_FrameEnd;
00060         u32                     m_MeshFrameStart;
00061         u32                     m_MeshFrameEnd;
00062         KMdlMesh*       m_pMesh;
00063         KMdlAnim*       m_pAnim;
00064         bool            m_bInheritFrame;
00065         u32                     m_CurrentFrame;         // Inutile de sauvegarder
00066 
00067 public:
00068         KMdlMeshAnim();
00069         
00070         void            SetFrame( u32 Frame );
00071 
00072         bool            IsInheritFrame()                                        { return m_bInheritFrame;               }
00073         KMdlMesh*       GetpMesh()                                                      { return m_pMesh;                               }
00074         u32                     GetFrameStart()                                         { return m_FrameStart;                  }
00075         u32                     GetFrameEnd()                                           { return m_FrameEnd;                    }
00076         u32                     GetMeshFrameStart()                                     { return m_MeshFrameStart;              }
00077         u32                     GetMeshFrameEnd()                                       { return m_MeshFrameEnd;                }
00078         u32                     GetCurrentFrame()                                       { return m_CurrentFrame;                }
00079         KMdlAnim*       GetpAnim()                                                      { return m_pAnim;                               }
00080 
00081         void SetInheritFrame( bool bInherit )                   { m_bInheritFrame = bInherit;   }
00082         void SetpMesh( KMdlMesh* pMesh )                                { m_pMesh = pMesh;                              }
00083         void SetFrameStart( u32 Frame )                                 { m_FrameStart = Frame;                 }
00084         void SetFrameEnd( u32 Frame )                                   { m_FrameEnd = Frame;                   }
00085         void SetMeshFrameStart( u32 Frame )                             { m_MeshFrameStart = Frame;             }
00086         void SetMeshFrameEnd( u32 Frame )                               { m_MeshFrameEnd = Frame;               }
00087         void SetpAnim( KMdlAnim* pAnim )                                { m_pAnim = pAnim;                              }
00088 };
00089 
00090 
00091 #endif  // __MDLANIM_H__

Generated on Sun Mar 25 20:02:15 2007 for Zythum Project by  doxygen 1.5.1-p1