#include <Particles.h>
Collaboration diagram for Particles:

The particle system consists of
Definition at line 61 of file Particles.h.
Public Member Functions | |
| Particles (ParticleSystem *ps=NULL) | |
| Constructor with default without particles to display just a simple implicit. | |
| Particles (std::string n, ParticleSystem *ps=NULL) | |
| Constructor with name (preferred). | |
| Particles (Implicit *surface, ParticleSystem *ps=NULL) | |
| Constructor with default without particles to display just a simple implicit. | |
| virtual void | clear () |
| int | findBehavior (std::string &name) |
| int | findShader (std::string &name) |
| Searches for the shader based on its name. | |
| template<class attributeType> void | findAttribute (attributeType *&attr) |
| linear search for anything that can be cast into this type | |
| template<class attributeType> attributeType * | getAttribute (std::string &name) |
| template<class behaviorType> behaviorType * | getBehavior (std::string &name) |
| template<class shaderType> shaderType * | getShader (std::string &name) |
| template<class attrclass> attrclass * | createParticleStuff () |
| create a new ParticleStuff and initialize it with setParticleSystem | |
| unsigned int | addParticle () |
| Add a new particle to the system. | |
| unsigned int | size () |
| Returns the number of particles in the system. | |
| virtual void | removeParticle (unsigned int i) |
| Remove a particle from the system. | |
| void | removeAll () |
| Remove all particles. | |
| void | fullUpdate () |
| Processes one entire time step. | |
| void | applyForces () |
| Process all forces. | |
| void | applyConstraints () |
| Process all constraints. | |
| void | integrate () |
| Do all integration. Zeroes the velocity vector. | |
| void | cleanup () |
| Clean everything up. | |
| void | printContent () |
| Prints the contents of this particle system. | |
| void | draw () |
| it calls the shaders to draw itself. | |
| ~Particles () | |
| Desctructor deletes all behaviors and attribute. | |
Public Attributes | |
| std::string | name |
| Name of the particle system. | |
| unsigned int | particleSize |
| int | selectedParticle |
| bool | draggable |
| gui can move the position or not | |
| ParticleSystem * | particleSystem |
| child particles objects that are spawn by this one | |
| ParticleBehaviors | behaviors |
| A collection of behaviors. | |
| ParticleAttributes | attributes |
| A collection of attributes. | |
| ParticleShaders | shaders |
| A collection of attributes. | |
| double | dt |
| Timestep. | |
|
|
Constructor with default without particles to display just a simple implicit. Constructor sets default time step. Definition at line 18 of file Particles.cpp. References draggable, dt, particleSize, and particleSystem. |
|
||||||||||||
|
Constructor with name (preferred).
Definition at line 26 of file Particles.cpp. References draggable, dt, particleSize, and particleSystem. |
|
||||||||||||
|
Constructor with default without particles to display just a simple implicit.
Definition at line 34 of file Particles.cpp. References draggable, dt, particleSize, and particleSystem. |
|
|
Desctructor deletes all behaviors and attribute.
Definition at line 104 of file Particles.cpp. References attributes, behaviors, and shaders. |
|
|
Add a new particle to the system.
Definition at line 50 of file Particles.cpp. References attributes, behaviors, particleSize, and shaders. Referenced by SingularityAdhesion::cleanup(), SilhouetteFate::cleanup(), ParticleFate::cleanup(), ParticleCreation::cleanup(), MeshShape::cleanup(), CriticalPointInterrogator::cleanup(), ClusterMeshInterrogator::cleanup(), ParticleMesh::createDiamond(), SkinMeshShape::edgeCollapseAndSplit(), RBFInterpolant::interpolate(), and SurfaceDeformation::loadParticles(). |
|
|
Process all constraints.
Definition at line 155 of file Particles.cpp. References behaviors. Referenced by fullUpdate(). |
|
|
Process all forces.
Definition at line 148 of file Particles.cpp. References behaviors. Referenced by fullUpdate(). |
|
|
Clean everything up.
Definition at line 168 of file Particles.cpp. References behaviors. Referenced by fullUpdate(). |
|
|
Clears out the particles. Definition at line 174 of file Particles.cpp. References attributes, and particleSize. Referenced by CriticalPointInterrogator::cleanup(), ClusterMeshInterrogator::cleanup(), and SingularityAdhesion::resetSingularities(). |
|
|||||||||
|
create a new ParticleStuff and initialize it with setParticleSystem
Definition at line 158 of file Particles.h. Referenced by SingularityAdhesion::createSingularPS(). |
|
|
it calls the shaders to draw itself.
Definition at line 197 of file Particles.cpp. References shaders. |
|
||||||||||
|
linear search for anything that can be cast into this type
Definition at line 118 of file Particles.h. References attributes. Referenced by ParticleRepulsion::attachAttributes(), and ParticleShaderLink::draw(). |
|
|
Searches for the behavior based on its name.
Definition at line 118 of file Particles.cpp. References behaviors. Referenced by ParticleBehavior::addMeTo(), and getBehavior(). |
|
|
Searches for the shader based on its name.
Definition at line 129 of file Particles.cpp. References shaders. Referenced by getShader(). |
|
|
Processes one entire time step.
Definition at line 140 of file Particles.cpp. References applyConstraints(), applyForces(), cleanup(), and integrate(). |
|
||||||||||
|
||||||||||
|
||||||||||
|
Definition at line 147 of file Particles.h. References findShader(), and shaders. |
|
|
Do all integration. Zeroes the velocity vector.
Definition at line 161 of file Particles.cpp. References behaviors. Referenced by fullUpdate(). |
|
|
Prints the contents of this particle system.
Definition at line 185 of file Particles.cpp. References attributes, and behaviors. |
|
|
Remove all particles.
Definition at line 95 of file Particles.cpp. References attributes, and particleSize. Referenced by TopologyInterrogator::cleanup(), and ParticleCreation::setq(). |
|
|
Remove a particle from the system. We remove particle i by copying particle n's data into particle i's elements and then removing particle n. This change of index must be observed in all other objects which maintain references by index.
Definition at line 76 of file Particles.cpp. References attributes, behaviors, particleSize, and shaders. Referenced by SilhouetteFate::cleanup(), ParticleFate::cleanup(), MeshShape::cleanup(), and SkinMeshShape::edgeCollapseAndSplit(). |
|
|
|
A collection of attributes.
Definition at line 86 of file Particles.h. Referenced by ParticleAttribute::addMeTo(), addParticle(), ParticleStuff::attachAttribute(), clear(), findAttribute(), getAttribute(), printContent(), removeAll(), ParticleAttribute::removeMe(), removeParticle(), ParticleRendererGL::render(), ParFileManager::writeParticles(), and ~Particles(). |
|
|
A collection of behaviors.
Definition at line 83 of file Particles.h. Referenced by ParticleBehavior::addMeTo(), addParticle(), applyConstraints(), applyForces(), cleanup(), findBehavior(), getBehavior(), integrate(), printContent(), ParticleBehavior::removeMe(), removeParticle(), ParticleRendererGL::render(), ParFileManager::writeParticles(), and ~Particles(). |
|
|
gui can move the position or not
Definition at line 75 of file Particles.h. Referenced by Particles(). |
|
|
Timestep.
Definition at line 92 of file Particles.h. Referenced by SurfacePropagation::applyConstraint(), SilhouetteFate::cleanup(), VelocityIntegrator::integrate(), ParticleRepulsion::integrate(), Implicit::interpolate(), and Particles(). |
|
|
Name of the particle system. For example: "floaters" or "controllers" Definition at line 68 of file Particles.h. Referenced by ParFileManager::writeParticles(), and ParFileManager::writePerParticle(). |
|
|
Definition at line 70 of file Particles.h. Referenced by addParticle(), clear(), Particles(), removeAll(), removeParticle(), and size(). |
|
|
child particles objects that are spawn by this one
Definition at line 80 of file Particles.h. Referenced by CriticalPointInterrogator::createCriticalPointPS(), SingularityAdhesion::createSingularPS(), and Particles(). |
|
|
Definition at line 72 of file Particles.h. Referenced by ParticleShader::drawParticle(). |
|
|
A collection of attributes.
Definition at line 89 of file Particles.h. Referenced by ParticleShader::addMeTo(), addParticle(), draw(), findShader(), getShader(), ParticleShader::removeMe(), removeParticle(), ParFileManager::writeParticles(), and ~Particles(). |
1.3.4