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__

Généré le Tue Dec 10 18:18:12 2002 pour ExNihilo par doxygen1.3-rc1