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

DataStructure.h

Go to the documentation of this file.
00001 
00006 #ifndef __DATASTRUCTURE_H__
00007 #define __DATASTRUCTURE_H__
00008 
00009 #ifdef __APPLE__
00010         #include <GraphicsLib/Point3.h>
00011 #else
00012         #include "Point3.h"
00013 #endif
00014 
00015 #include "Particle.h"
00016 #include "CollisionObject.h"
00017 
00018 namespace ParticleSystems {
00020 
00028         class DataStructure {
00029         public:
00030                 
00032 
00035                 DataStructure();
00036                 
00038 
00041                 virtual ~DataStructure();
00042                 
00044 
00048                 virtual void addParticles(Particle *particle) = 0;
00049                 
00051 
00054                 virtual void killParticles() = 0;
00055         
00057 
00061                 virtual void addCollisionObject(CollisionObject *co) = 0;
00062         
00064 
00068                 virtual void deleteCollisionObject(CollisionObject *co) = 0;
00069                 
00071 
00077                 virtual bool positionCheck(GraphicsLib::Point3 pos) = 0;
00078                 
00080 
00083                 virtual void evolve() = 0;
00084         
00086 
00090                 virtual void draw() = 0;
00091                 
00093 
00098                 virtual int numParticles() = 0;
00099                 
00101 
00106                 virtual bool hasDead() = 0;
00107                 
00109 
00115                 virtual Particle* getDead() = 0;
00116                 
00118 
00122                 int storageCapacity;
00123         
00125 
00129                 bool collision;
00130         };
00131 }
00132 #endif
00133 
00134                 

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