#include <DataStructure.h>
Inheritance diagram for ParticleSystems::DataStructure:
Public Member Functions | |
DataStructure () | |
The Constructor. | |
virtual | ~DataStructure () |
The Destructor. | |
virtual void | addParticles (Particle *particle)=0 |
An abstract Function. | |
virtual void | killParticles ()=0 |
An abstract Function. | |
virtual void | addCollisionObject (CollisionObject *co)=0 |
An abstract Function. | |
virtual void | deleteCollisionObject (CollisionObject *co)=0 |
An abstract Function. | |
virtual bool | positionCheck (GraphicsLib::Point3 pos)=0 |
An abstract Function. | |
virtual void | evolve ()=0 |
An abstract Function. | |
virtual void | draw ()=0 |
An abstract Function. | |
virtual int | numParticles ()=0 |
An abstract Function. | |
virtual bool | hasDead ()=0 |
An abstract Function. | |
virtual Particle * | getDead ()=0 |
An abstract Function. | |
Public Attributes | |
int | storageCapacity |
A public variable. | |
bool | collision |
A public variable. |
The DataStructure Class is the Superclass for all Classes that want to store the Particles for a ParticleSystem. Its main responsibility is to store Particles and the management of these Particles. A DataStructure should store new Particles and store dead Particles for rebirth. In addition it should store any Objects in the scene with which Particles can collide.
Definition at line 28 of file DataStructure.h.
|
The Constructor. Constructs a new DataStructure Definition at line 10 of file DataStructure.cpp. References collision. |
|
The Destructor. Destructs a DataStructure Definition at line 15 of file DataStructure.cpp. |
|
An abstract Function. Add a new CollisionObject to the DataStructure
Implemented in ParticleSystems::VectorDS. Referenced by multiCollision(). |
|
An abstract Function. Adds a new Particle.
Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::newParticle(). |
|
An abstract Function. Deletes the given CollisionObject
Implemented in ParticleSystems::VectorDS. |
|
An abstract Function. Draws all the Particle and CollisionObjects within this DataStructure Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::draw(). |
|
An abstract Function. Evolves the Particles within the DataStructure Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::evolve(). |
|
An abstract Function. Returns a pointer to a dead Particle !! Should only be used if hasDead returns True !! Otherwise NULL will be returned.
Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::newParticle(). |
|
An abstract Function. Returns true if the DataStructure contains any dead Particles
Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::newParticle(). |
|
An abstract Function. Removes all Particles Implemented in ParticleSystems::VectorDS. Referenced by ParticleSystems::ParticleSystem::killParticles(). |
|
An abstract Function. Return the number of Particles within the DataStructure as an int.
Implemented in ParticleSystems::VectorDS. |
|
An abstract Function. Checks is the given point is colliding with any of the CollisionObjects.
Implemented in ParticleSystems::VectorDS. |
|
A public variable. If set to true collision tests will be performed set to false as default Definition at line 129 of file DataStructure.h. Referenced by DataStructure(), and multiCollision(). |
|
A public variable. Specifies how many need to be stored inorder not to save too many dead particles Definition at line 122 of file DataStructure.h. Referenced by ParticleSystems::ParticleSystem::ParticleSystem(). |