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

ExManagerMesh.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 /*                                                                      */
00036 /************************************************************************/
00037 
00038 /************************************************************************/
00039 /* File Description                                                                                             */
00040 /************************************************************************/
00041 /* File Name   :ExManagerMesh.h                                                                                 */
00042 /*                                                                                                                                              */
00043 /* Star Date   :03/15/2002                                                                                              */
00044 /*                                                                                                                                              */
00045 /* Last Update :07/15/2003                                              */
00046 /*                                                                                                                                              */
00047 /* File Description :                                                                                                   */
00048 /*                                                                      */
00049 /* For update of this file check : www.ploksoftware.org                 */
00050 /************************************************************************/
00051 class ExManagerMesh;
00052 
00053 #ifndef __EXMANAGERMESH_H__
00054 #define __EXMANAGERMESH_H__
00055 //------------------------------------------------------------------------
00056 //Includes
00057 //------------------------------------------------------------------------
00058 #include "ExDefine.h"
00059 //------------------------------------------------------------------------
00060 #include "Math/ExMath.h"
00061 //------------------------------------------------------------------------
00062 #include "Manager/ManagerObject/ExManagerObject.h"
00063 #include "Manager/ManagerObject/ExManagerTexture.h"
00064 #include "Manager/ManagerObject/ExManagerModele.h"
00065 //------------------------------------------------------------------------
00066 #include "Object/Object3D/Mesh/ExCMesh.h"
00067 #include "Object/Object3D/Mesh/ExCMeshFireEffect.h"
00068 #include "Object/Object3D/Mesh/ExCMeshWaterEffect.h"
00069 #include "Object/Object3D/Mesh/ExCMeshSummonCylenderEffect.h"
00070 #include "Object/Object3D/Mesh/ExCMeshSmogEffect.h"
00071 #include "Object/Object3D/Mesh/ExCMeshWaterDisqueEffect.h"
00072 #include "Object/Object3D/Mesh/ExCMeshLOD3ds.h"
00073 #include "Object/Object3D/Mesh/ExCMeshSauronEffect.h"
00074 #include "Object/Object3D/Mesh/ExCMesh3ds.h"
00075 #include "Object/Object3D/Mesh/ExCMeshBilboarded.h"
00076 //------------------------------------------------------------------------
00077 enum MeshType
00078 {
00079         MESH_FIRE_EFFECT,
00080         MESH_WATER_EFFECT,
00081         MESH_SUMMON_CYLENDER_EFFECT,
00082         MESH_SMOG_EFFECT,
00083         MESH_WATER_DISQUE_EFFECT,
00084         MESH_LOD_3DS,
00085         MESH_SAURON_EFFECT,
00086         MESH_3DS,
00087         MESH_BILBOARDED,
00088         MESH_UNKNOWN
00089 };
00090 //------------------------------------------------------------------------
00091 
00092 class ExManagerMesh  : public ExManagerObject<ExCMesh *>
00093 {
00094 private:
00095 //------------------------------------------------------------------------
00096 // Variable
00097 //------------------------------------------------------------------------
00098         ExManagerTexture                        *ManagerTexture;
00099         ExManagerModel                          *ManagerModel;
00100 //------------------------------------------------------------------------
00101 // Constructor // Destructor
00102 //------------------------------------------------------------------------
00103         static bool m_flag; 
00104         static ExManagerMesh *m_instance;
00105         ExManagerMesh(void);
00106         ~ExManagerMesh(void);
00107 //------------------------------------------------------------------------
00108         MeshType GetMeshType(std::string FileName);
00109 public:
00110 //------------------------------------------------------------------------
00111 // Methode
00112 //------------------------------------------------------------------------
00113         static ExManagerMesh*  CreateSingleton(void);
00114         void Reset(void);
00115         void Init(void);
00116         void Draw(void);
00117         ExNihilo::ExId Load(std::string FileName);
00118         ExNihilo::ExId Load(std::string FileName,std::string ObjectName);
00119 
00120         ExCAction InputCommand(ExCCommand Command);
00121         ExCAction InputAction(ExCAction Action);
00122         inline void SetManagerTexture(ExManagerTexture * Texture){ManagerTexture = Texture;}
00123         inline void SetManagerModel(ExManagerModel *Model){ManagerModel = Model;}
00124         ExCMesh * GetObject(ExNihilo::ExId id);
00125 };
00126 //------------------------------------------------------------------------
00127 #endif //__EXMANAGERMESH_H__

Généré le Tue Oct 28 12:43:37 2003 pour ExNihilo par doxygen 1.3.4