Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

ExManagerParticuleSystem.h

Go to the documentation of this file.
00001 /*
00002  * ExNihilo 3D Engine
00003  * 
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (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.  See the
00012  *  GNU Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  *
00018  * Please read AUTHORS file !!!
00019  * 
00020  * $Id: ExManagerParticuleSystem.h,v 1.7 2002/08/01 18:45:56 data Exp $
00021  *
00022  */
00023 
00024 #ifndef __EXMANAGERPARTICULESYSTEM_H__
00025 #define __EXMANAGERPARTICULESYSTEM_H__
00026 //--------------------------------
00027 // File to include
00028 //--------------------------------
00029 #include "ExDefine.h"
00030 #include "ExMath.h"
00031 #include "ExManagerTexture.h"
00032 #include "ExCSystemeParticule.h"
00033 #include "ExManagerPVS.h"
00034 #include "ExManagerCollision.h"
00035 
00036 //--------------------------------
00037 class ExManagerParticuleSystem 
00038 {
00039 private:
00040 //--------------------------------
00041 // Variable
00042 //--------------------------------
00043         ExManagerTexture                        *ManagerTexture;
00044         ExManagerPVS                            *ManagerPVS;
00045         ExManagerCollision                      *ManagerCollision;
00046                 
00047         std::vector<ExCSystemeParticule> *m_VecParticuleSysteme;
00048         std::vector<ExCSystemeParticule*> *m_VecPParticuleSysteme;
00049         std::vector<ExCSystemeParticule>::iterator m_ItVecParticuleSysteme;
00050 
00051         void CreateVecPobject(void);
00052 public:
00053 //--------------------------------
00054 // Constructor // Destructor
00055 //--------------------------------
00056         ExManagerParticuleSystem(void);
00057         ~ExManagerParticuleSystem(void);
00058 //--------------------------------
00059 // Methode
00060 //--------------------------------
00061         std::ostrstream *Consol;
00062         void (*WriteToConsol)(const char *Label);
00063 
00064         inline void SetManagerTexture(ExManagerTexture * Texture){ManagerTexture = Texture;}
00065         inline void SetManagerPVS(ExManagerPVS * PVS){ManagerPVS = PVS;}
00066         inline void SetManagerCollision(ExManagerCollision *Collision){ManagerCollision = Collision;}
00067 
00068         bool LoadParticuleSysteme(const char * FileName);
00069         
00070         int StartParticuleSysteme(char *param);
00071         int StopParticuleSysteme(char *param);
00072         int PauseParticuleSysteme(char *param);
00073 
00074         int StartAllParticuleSysteme(void);
00075         int StopAllParticuleSysteme(void);
00076         int PauseAllParticuleSysteme(void);
00077 
00078         inline int GetNumberEnableParticuleSysteme(void){return m_VecParticuleSysteme->size();}
00079         void ListParticuleSysteme(void);
00080         inline void RecordToManagerPVS(void){ManagerPVS->SetVecSystemeParticule(m_VecPParticuleSysteme);}
00081 //--------------------------------
00082 // Operator
00083 //--------------------------------
00084 //--------------------------------
00085 // friends
00086 //--------------------------------
00087 };
00088 #endif //__EXMANAGERPARTICULESYSTEM_H__

Generated on Tue Aug 6 20:27:14 2002 for ExNihilo by doxygen1.2.17