00001 #ifndef __PLANAREMITTER_H__ 00002 #define __PLANAREMITTER_H__ 00003 00009 #ifdef __APPLE__ 00010 #include <GraphicsLib/Point3.h> 00011 #include <GraphicsLib/Vector.h> 00012 #else 00013 #include "Vector.h" 00014 #include "Point3.h" 00015 #endif 00016 00017 #include "Emitter.h" 00018 #include "PointParticle.h" 00019 #include "ImgParticle.h" 00020 #include "StrikeParticle.h" 00021 00022 namespace ParticleSystems { 00024 00029 class PlanarEmitter : public Emitter { 00030 public: 00032 00042 PlanarEmitter( int SYSID, Solver *s, 00043 PARTICLETYPE type, 00044 GraphicsLib::Vector initVel, 00045 GraphicsLib::Colour initialColor, 00046 GLfloat pSize, 00047 GraphicsLib::Vector dim1, 00048 GraphicsLib::Vector dim2); 00049 00051 00062 PlanarEmitter( int SYSID, 00063 Solver *s, 00064 PARTICLETYPE type, 00065 GraphicsLib::Vector initVel, 00066 GraphicsLib::Colour initialColor, 00067 GLfloat pSize, 00068 char *TexName, 00069 GraphicsLib::Vector dim1, 00070 GraphicsLib::Vector dim2); 00071 00073 00076 ~PlanarEmitter(); 00077 00079 00083 virtual Particle* emittParticles(void); 00084 00086 00090 virtual void reBirth(Particle *p); 00091 00093 00097 GraphicsLib::Point3 pointOnPlane(); 00098 00100 00103 GraphicsLib::Vector dimension1; 00104 00106 00109 GraphicsLib::Vector dimension2; 00110 }; 00111 } 00112 #endif