Page principale Liste des namespaces Hiérarchie des classes Liste par ordre alphabétique Liste des composants Liste des fichiers Membres des namespaces Composants Déclarations

# ExManagerModele.h

Aller à la documentation de ce fichier.

    00001 /************************************************************************/
    00002 /* Ex Nihlo Engine by Hermanns Christophe                                                               */
    00003 /************************************************************************/
    00004 /* This program is free software; you can redistribute it and/or                */
    00005 /* modify it under the terms of the GNU General Public License                  */
    00006 /* as published by the Free Software Foundation; either version 2               */
    00007 /* of the License, or (at your option) any later version.                               */
    00008 /*                                                                                                                                              */
    00009 /* This program is distributed in the hope that it will be useful,              */
    00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                 */
    00012 /*                                                                                                                                              */
    00013 /* See the GNU General Public License for more details.                                 */
    00014 /*                                                                                                                                              */
    00015 /* You should have received a copy of the GNU General Public License    */
    00016 /* along with this program; if not, write to the Free Software                  */
    00017 /* Foundation, Inc., 59 Temple Place - Suite 330,                                               */
    00018 /* Boston, MA  02111-1307, USA.                                                                                 */
    00019 /*                                                                                                                                              */
    00020 /* If you use a important part of this code please send me a mail               */
    00021 /* I just want to see where my code go thks :)                                                  */
    00022 /************************************************************************/
    00023
    00024 /************************************************************************/
    00025 /* Contact                                                              */
    00026 /************************************************************************/
    00027 /* ExNihilo Website :www.ploksoftware.org                               */
    00028 /*                                                                      */
    00029 /* Hermanns Christophe ExNihilo creator and main programmer             */
    00030 /*                                                                      */
    00031 /* Mail             : Data@ploksoftware.org                                                             */
    00032 /* ICQ              : 8030901                                                                                   */
    00033 /* MSN Messenger    : Data_7@hotmail.com                                                                */
    00034 /*                                                                      */
    00035 /* Benjamin Michotte Linux port, webmaster                              */
    00036 /*                                                                      */
    00037 /* Mail             :binny@ploksoftware.org                             */
    00038 /*                                                                      */
    00039 /************************************************************************/
    00040
    00041 /************************************************************************/
    00042 /* File Description                                                                                             */
    00043 /************************************************************************/
    00044 /* File Name   :InputActionList.h                                                                               */
    00045 /*                                                                                                                                              */
    00046 /* Star Date   :03/15/2002                                                                                              */
    00047 /*                                                                                                                                              */
    00048 /* Last Update :
    00049   * $Id: ExManagerModele.h,v 1.11 2002/11/24 11:58:54 data Exp $
    00050  *
    00051  */
    00052
    00053 #ifndef __EXMANAGERMODEL_H__
    00054 #define __EXMANAGERMODEL_H__
    00055 //--------------------------------
    00056 // File to include
    00057 //--------------------------------
    00058 #include "ExDefine.h"
    00059 #include "ExMath.h"
    00060 #include "ExManagerObject.h"
    00061 #include "ExManagerTexture.h"
    00062 #include "ExManagerVertexArrays.h"
    00063 //--------------------------------
    00064 #include "ExCModel.h"
    00065 #include "ExCModelMD2.h"
    00066 #include "ExCModelMD3.h"
    00067 #include "ExCModelASC.h"
    00068 #include "ExCModel3DS.h"
    00069 #include "ExCModelOBJ.h"
    00070 //--------------------------------
    00071 class ExManagerModel : public ExManagerObject<ExCModel *>
    00072 {
    00073 private:
    00074 //--------------------------------
    00075 // Variable
    00076 //--------------------------------
    00077         ExManagerTexture                        *ManagerTexture;
    00078         ExManagerVertexArrays                   *ManagerVertexArrays;
    00079         std::vector<ExCModelMD2>                m_VecMD2;
    00080         std::vector<ExCModelMD3>                m_VecMD3;
    00081         std::vector<ExCModelASC>                m_VecASC;
    00082         std::vector<ExCModel3DS>                m_Vec3DS;
    00083         std::vector<ExCModelOBJ>                m_VecOBJ;
    00084         //std::vector<ExCModelASE>              m_VecASE;
    00085
    00086
    00087         ExNihilo::ExId LoadMD2(std::string FileName);
    00088         ExNihilo::ExId LoadMD2(std::string FileName,std::string ObjectName);
    00089         ExNihilo::ExId LoadMD3(std::string FileName);
    00090         ExNihilo::ExId LoadMD3(std::string FileName,std::string ObjectName);
    00091         ExNihilo::ExId LoadASC(std::string FileName);
    00092         ExNihilo::ExId LoadASC(std::string FileName,std::string ObjectName);
    00093         ExNihilo::ExId Load3DS(std::string FileName);
    00094         ExNihilo::ExId Load3DS(std::string FileName,std::string ObjectName);
    00095         ExNihilo::ExId LoadOBJ(std::string FileName);
    00096         ExNihilo::ExId LoadOBJ(std::string FileName,std::string ObjectName);
    00097         ExNihilo::ExId LoadASE(std::string FileName);
    00098         ExNihilo::ExId LoadASE(std::string FileName,std::string ObjectName);
    00099 //--------------------------------
    00100 // Singleton creation
    00101 //--------------------------------
    00102         static bool m_flag;
    00103         static ExManagerModel *m_instance;
    00104         ExManagerModel(void);
    00105         ~ExManagerModel(void);
    00106 //--------------------------------
    00107 public:
    00108 //--------------------------------
    00109 // Methode
    00110 //--------------------------------
    00111         static ExManagerModel*  CreateSingleton(void);
    00112         ExCAction InputCommand(ExCCommand Command);
    00113         ExCAction InputAction(ExCAction Action);
    00114
    00115         inline void SetManagerTexture(ExManagerTexture * Texture){ManagerTexture = Texture;}
    00116         inline void SetManagerVertexArrays(ExManagerVertexArrays * VertexArrays){ManagerVertexArrays = VertexArrays;}
    00117         void Reset(void);
    00118         void Init(void);
    00119         void List(void);
    00120         void Draw(void);
    00121         ExNihilo::ExId Load(std::string FileName);
    00122         ExNihilo::ExId Load(std::string FileName,std::string ObjectName);
    00123
    00124         void NextFrame(void);
    00125         void PreviousFrame(void);
    00126         void SetCurrentFrame(int frame);
    00127         ExCModel * GetObject(ExNihilo::ExId id);
    00128         ExCModel* GetCurrentObject(void);
    00129 };
    00130 #endif //__EXMANAGERMODEL_H__