Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ParticleSystem.h

Go to the documentation of this file.
00001 
00006 #ifndef __PARTICLESYSTEM_H__
00007 #define __PARTICLESYSTEM_H__
00008 
00009 #ifdef __APPLE__
00010         #include <GraphicsLib/Point3.h>
00011         #include <GraphicsLib/Material.h>
00012 #else
00013         #include "Material.h"
00014         #include "Point3.h"
00015 #endif
00016 
00017 #include <vector>
00018 #include "Debugger.h"
00019 
00020 #include "Particle.h"
00021 #include "Solver.h"
00022 #include "Emitter.h"
00023 #include "DataStructure.h"
00024 #include "Force.h"
00025 #include "Texture.h"
00026 
00027 
00028 
00029 
00030 namespace ParticleSystems {
00032 
00035         typedef int SYSTEMID;
00036         
00038 
00044     class ParticleSystem {
00045         
00046         public:
00048 
00058                 ParticleSystem(int ident, Emitter *emit, DataStructure *dataStruc, Solver *s, int num, int var);
00059                 
00061 
00064                 ~ParticleSystem();
00065                 
00067 
00070                 void die();
00071                 
00073 
00076                 void restart();
00077                 
00079 
00082                 void pause();
00083                 
00085 
00088                 void evolve();
00089                 
00091 
00096                 void createNewParticles(int number);
00097                 
00099 
00104                 void newParticle(void);
00105                 
00107 
00110                 void killParticles(void);
00111                 
00113 
00117                 void addSolver(Solver *s);
00118         
00120 
00123                 void draw();
00124                 
00126 
00130                 bool stillAlive(void);
00131                 
00133 
00136                 GraphicsLib::Material texture;
00137                 
00139 
00142                 SYSTEMID identify;
00143                 
00145 
00148                 bool alive;
00149                 
00151 
00154                 int numInitParticles;
00155                 
00157 
00160                 int varNewParticles;
00161                 
00163 
00166                 GraphicsLib::Point3 position;
00167 
00169 
00172                 Emitter *em;
00173                 
00175 
00178                 DataStructure *data;
00179                 
00181 
00184                 std::vector<Solver *> sList;
00185                 
00187 
00190                 std::vector<Solver *>::iterator sListItt;
00191                 
00193 
00196                 bool paused;
00197         };
00198 }
00199 #endif
00200 

Generated on Thu Mar 24 11:05:02 2005 for ParticleSystem by  doxygen 1.4.1