#include <ParticleStuff.h>
Inheritance diagram for ParticleStuff:


Public Member Functions | |
| virtual const std::string | getClass () |
| Just a placeholder. | |
| virtual void | setName (std::string &new_name) |
| Set the name of the ParticleStuff. | |
| virtual std::string | getName () |
| Return the name of the ParticleStuff. | |
| ParticleStuff (Particles *p=NULL, std::string &new_name=std::string("ParticleStuff")) | |
| Default constructor Constructor to set particle system and name. | |
| virtual void | setParticleSystem (Particles *new_ps) |
| Set the particle system the ParticleStuff points to. | |
| virtual void | addMeTo (Particles *new_ps)=0 |
| Add the stuff to a particle system. | |
| virtual void | removeMe ()=0 |
| Remove the stuff from the current particle system. | |
| virtual void | particleAdded (unsigned int i) |
| Called after particles are added to the system. | |
| virtual void | particleRemoved (unsigned int i) |
| Called after particle are removed from the system. | |
| virtual void | printContent () |
| Print attribute info. | |
| template<class attrclass> void | attachAttribute (attrclass *&attr, std::string &name) |
| Attach an attribute to the behavior. | |
Global Parameter Manipulation | |
| virtual int | qlen () |
| Returns length of particle stuff parameters. | |
| virtual void | getq (double *) |
| Get the parameters. | |
| virtual void | getq (DoubleVector &q) |
| Get the parameters. | |
| virtual void | setq (double *) |
| Set particle stuff parameters. | |
| virtual void | setq (DoubleVector &q) |
| Set particle stuff parameters stored in a DoubleVector. | |
| virtual void | qname (char **) |
| Get the names of the parameters. | |
| virtual void | qname (NameVector &q) |
| Get the names of the parameters in a name vector. | |
| virtual void | qshortname (NameVector &q) |
| Get the short names of the parameters in a name vector. | |
| virtual char * | qtip (int i) |
| Returns a tool-tip for the parameter i. | |
| virtual char * | tip () |
| Returns a tool-tip for the ParticleStuff. | |
Per-Particle Parameter Manipulation | |
| virtual int | qlenpp () |
| # of parameters per particle | |
| virtual void | getqpp (double *, int) |
| Get the per-particle parameters. | |
| virtual void | getqpp (DoubleVector &q, int) |
| virtual void | setqpp (double *, int) |
| Set per-particle parameters. | |
| virtual void | setqpp (DoubleVector &q, int) |
| virtual void | qnamepp (char **) |
| Get the names of the per-particle parameters. | |
| virtual void | qnamepp (NameVector &q) |
Public Attributes | |
| std::string | registry_name |
| The class name of the object according to the factory. | |
| std::string | name |
| The name of this object. | |
| Particles * | ps |
| Reference to the owning particle system. | |
|
||||||||||||
|
Default constructor Constructor to set particle system and name.
Definition at line 10 of file ParticleStuff.cpp. |
|
|
Add the stuff to a particle system. This should be avoided as it does not set ParticleStuff::ps. Use setParticleSystem(Particles *) instead. Implemented in ParticleAttribute, ParticleBehavior, and ParticleShader. Referenced by setParticleSystem(). |
|
||||||||||||||||
|
|
Just a placeholder. Didn't make pure virtual in case newer development classes haven't yet been entered into the factory. Should be overwritten. Otherwise will return ParticleStuff::registry_name, which will be NULL. Definition at line 4 of file ParticleStuff.cpp. References registry_name. Referenced by ParFileManager::writeParticles(). |
|
|
Return the name of the ParticleStuff.
Definition at line 8 of file ParticleStuff.cpp. References name. |
|
|
Get the parameters. Defaults to no parameters. Definition at line 91 of file ParticleStuff.cpp. References DoubleVector, getq(), and qlen(). |
|
|
Get the parameters. Defaults to no parameters. Reimplemented in AdaptiveRepulsionData, ClusterMeshInterrogator, CriticalPointInterrogator, ImplicitInterrogator, MeshShape, ParticleBoundingBox, ParticleCreation, ParticleFate, ParticleOrientation, ParticleRepulsion, ParticleShaderChain, ParticleShaderCluster, ParticleShaderConstMaterial, ParticleShaderCurvature, ParticleShaderCylinder, ParticleShaderDisk, ParticleShaderGradientField, ParticleShaderSphere, ParticleShaderStroke, ParticleShaderTeapot, ParticleShaderTriangle, RBFPropagation, SilhouetteAdhesion, SilhouetteFate, SingularityAdhesion, SingularityInterrogator, SingularityRepulsion, SkinMeshShape, SurfaceAdhesion, SurfaceDeformation, SurfaceInterrogator, SurfacePropagation, and TopologyInterrogator. Definition at line 22 of file ParticleStuff.cpp. Referenced by getq(), ParFileManager::readParticles(), and ParFileManager::writeParticles(). |
|
||||||||||||
|
Definition at line 102 of file ParticleStuff.cpp. References DoubleVector, getqpp(), and qlenpp(). |
|
||||||||||||
|
Get the per-particle parameters. Defaults to no parameters. Second parameter is the particle index Reimplemented in AdaptiveRepulsionData, GeneAttribute, ParticleAge, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, and SingularityAdhesion. Definition at line 34 of file ParticleStuff.cpp. Referenced by getqpp(). |
|
|
Called after particles are added to the system.
Reimplemented in AdaptiveRepulsionData, ParticleAge, ParticleEigen, ParticleLocalityGrid, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, SingularityAdhesion, SurfaceAdhesion, and SurfaceDeformation. Definition at line 14 of file ParticleStuff.cpp. |
|
|
Called after particle are removed from the system.
Reimplemented in AdaptiveRepulsionData, ParticleAge, ParticleEigen, ParticleLocalityGrid, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, SingularityAdhesion, and SurfaceDeformation. Definition at line 16 of file ParticleStuff.cpp. |
|
|
Print attribute info.
Definition at line 18 of file ParticleStuff.cpp. References name. |
|
|
Returns length of particle stuff parameters. Defaults to no parameters. Reimplemented in AdaptiveRepulsionData, ClusterMeshInterrogator, CriticalPointInterrogator, ImplicitInterrogator, MeshShape, ParticleBoundingBox, ParticleCreation, ParticleFate, ParticleOrientation, ParticleRepulsion, ParticleShaderChain, ParticleShaderCluster, ParticleShaderConstMaterial, ParticleShaderCurvature, ParticleShaderCylinder, ParticleShaderDisk, ParticleShaderGradientField, ParticleShaderSphere, ParticleShaderStroke, ParticleShaderTeapot, ParticleShaderTriangle, RBFPropagation, SilhouetteAdhesion, SilhouetteFate, SingularityAdhesion, SingularityInterrogator, SingularityRepulsion, SkinMeshShape, SurfaceAdhesion, SurfaceDeformation, SurfaceInterrogator, SurfacePropagation, and TopologyInterrogator. Definition at line 20 of file ParticleStuff.cpp. Referenced by getq(), qname(), qshortname(), setq(), setqpp(), and ParFileManager::writeParticles(). |
|
|
# of parameters per particle
Reimplemented in AdaptiveRepulsionData, GeneAttribute, ParticleAge, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, and SingularityAdhesion. Definition at line 32 of file ParticleStuff.cpp. |
|
|
Get the names of the parameters in a name vector.
Definition at line 55 of file ParticleStuff.cpp. References NameVector, qlen(), and qname(). |
|
|
Get the names of the parameters. Defaults to no parameters. Reimplemented in AdaptiveRepulsionData, ClusterMeshInterrogator, CriticalPointInterrogator, ImplicitInterrogator, MeshShape, ParticleBoundingBox, ParticleCreation, ParticleFate, ParticleOrientation, ParticleRepulsion, ParticleShaderChain, ParticleShaderCluster, ParticleShaderConstMaterial, ParticleShaderCurvature, ParticleShaderCylinder, ParticleShaderDisk, ParticleShaderGradientField, ParticleShaderSphere, ParticleShaderStroke, ParticleShaderTeapot, ParticleShaderTriangle, RBFPropagation, SilhouetteAdhesion, SilhouetteFate, SingularityAdhesion, SingularityInterrogator, SingularityRepulsion, SkinMeshShape, SurfaceAdhesion, SurfaceDeformation, SurfaceInterrogator, SurfacePropagation, and TopologyInterrogator. Definition at line 26 of file ParticleStuff.cpp. Referenced by qname(). |
|
|
Definition at line 74 of file ParticleStuff.cpp. References NameVector, qlenpp(), and qnamepp(). |
|
|
Get the names of the per-particle parameters. Defaults to no parameters. Reimplemented in AdaptiveRepulsionData, GeneAttribute, ParticleAge, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, and SingularityAdhesion. Definition at line 38 of file ParticleStuff.cpp. Referenced by qnamepp(). |
|
|
Get the short names of the parameters in a name vector.
Definition at line 131 of file ParticleStuff.cpp. References NameVector, and qlen(). Referenced by ParFileManager::readParticles(), and ParFileManager::writeParticles(). |
|
|
Returns a tool-tip for the parameter i.
Reimplemented in AdaptiveRepulsionData, ParticleFate, ParticleRepulsion, and ParticleShaderCurvature. Definition at line 28 of file ParticleStuff.cpp. |
|
|
Remove the stuff from the current particle system. Does not destroy stuff. Just unlinks it from the current particle system. Implemented in ParticleAttribute, ParticleBehavior, and ParticleShader. |
|
|
Set the name of the ParticleStuff.
Definition at line 6 of file ParticleStuff.cpp. References name. |
|
|
Set the particle system the ParticleStuff points to. Also adds the ParticleStuff to the particle system. If this is a new particle system, this deletes the ParticleStuff from the existing particle system. 2002-10-26 Wen Pure virtual function at the ParticleStuff level. Made concrete in ParticleAttribute, ParticleBehavior, etc. Not pure any more, since all the children do the same thing, it is easier just to inherent this one. 2003-11-05 Wen Very important, every one MUST call this before using this class. This is used to initialize the system. Since the factory can create a ParticleStuff with a ps=NULL, we must handle initialization step as a separate function, in order to not calling the same code twice I decided not to call this function in all the constructors. Reimplemented in AdaptiveRepulsionData, ParticleMaterial, ParticleOrientation, and ParticleShader. Definition at line 47 of file ParticleStuff.cpp. Referenced by SingularityAdhesion::createSingularPS(), ParFileManager::readParticles(), ParticleOrientation::setParticleSystem(), ParticleMaterial::setParticleSystem(), and AdaptiveRepulsionData::setParticleSystem(). |
|
|
Set particle stuff parameters stored in a DoubleVector.
Definition at line 113 of file ParticleStuff.cpp. References DoubleVector, qlen(), and setq(). |
|
|
Set particle stuff parameters. Defaults to no parameters. Reimplemented in AdaptiveRepulsionData, ClusterMeshInterrogator, CriticalPointInterrogator, ImplicitInterrogator, MeshShape, ParticleBoundingBox, ParticleCreation, ParticleFate, ParticleOrientation, ParticleRepulsion, ParticleShaderChain, ParticleShaderCluster, ParticleShaderConstMaterial, ParticleShaderCurvature, ParticleShaderCylinder, ParticleShaderDisk, ParticleShaderGradientField, ParticleShaderSphere, ParticleShaderStroke, ParticleShaderTeapot, ParticleShaderTriangle, RBFPropagation, SilhouetteAdhesion, SilhouetteFate, SingularityAdhesion, SingularityInterrogator, SingularityRepulsion, SkinMeshShape, SurfaceAdhesion, SurfaceDeformation, SurfaceInterrogator, SurfacePropagation, and TopologyInterrogator. Definition at line 24 of file ParticleStuff.cpp. Referenced by ParFileManager::readParticles(), and setq(). |
|
||||||||||||
|
Definition at line 122 of file ParticleStuff.cpp. References DoubleVector, qlen(), qlenpp(), and setqpp(). |
|
||||||||||||
|
Set per-particle parameters. Defaults to no parameters. Second parameter is the particle index Reimplemented in AdaptiveRepulsionData, GeneAttribute, ParticleAge, ParticleMaterial, ParticleOrientation, ParticlePosition, ParticleVelocity, and SingularityAdhesion. Definition at line 36 of file ParticleStuff.cpp. Referenced by setqpp(). |
|
|
Returns a tool-tip for the ParticleStuff.
Reimplemented in AdaptiveRepulsionData, ParticleBoundingBox, ParticleFate, ParticleRepulsion, and ParticleShaderCurvature. Definition at line 30 of file ParticleStuff.cpp. |
|
|
The name of this object.
Definition at line 146 of file ParticleStuff.h. Referenced by ParticleBehavior::addMeTo(), ParticleAttribute::addMeTo(), getName(), printContent(), ParticleShader::removeMe(), ParticleBehavior::removeMe(), ParticleAttribute::removeMe(), and setName(). |
|
|
Reference to the owning particle system.
Definition at line 157 of file ParticleStuff.h. Referenced by RBFPropagation::adaptivity(), TopologyInterrogator::applyConstraint(), SurfacePropagation::applyConstraint(), SurfaceDeformation::applyConstraint(), SurfaceAdhesion::applyConstraint(), SingularityAdhesion::applyConstraint(), ParticleBoundingBox::applyConstraint(), SingularityInterrogator::applyForce(), SingularityAdhesion::applyForce(), SilhouetteAdhesion::applyForce(), ParticleRepulsion::applyForce(), attachAttribute(), SilhouetteFate::attachAttributes(), ParticleShader::attachAttributes(), ParticleRepulsion::attachAttributes(), ParticleCreation::attachAttributes(), ParticleBehavior::attachAttributes(), TopologyInterrogator::cleanup(), SingularityAdhesion::cleanup(), SilhouetteFate::cleanup(), ParticleFate::cleanup(), ParticleCreation::cleanup(), MeshShape::cleanup(), CriticalPointInterrogator::cleanup(), ClusterMeshInterrogator::cleanup(), ParticleMesh::createDiamond(), ParticleShaderStroke::draw(), ParticleShaderLink::draw(), ParticleShaderGradientField::draw(), ParticleShaderChain::draw(), ParticleShader::draw(), ParticleShader::drawParticle(), SkinMeshShape::edgeCollapseAndSplit(), SilhouetteFate::fiftyPercent(), ParticleShaderStroke::findChains(), ParticleShaderChain::findChains(), CriticalPointInterrogator::findCriticalPoints(), ParticleLocality::getNeighbors(), ParticleCreation::getq(), VelocityIntegrator::integrate(), ParticleRepulsion::integrate(), SurfaceDeformation::loadParticles(), ParticleShader::removeMe(), ParticleBehavior::removeMe(), ParticleAttribute::removeMe(), SingularityRepulsion::repelSelf(), SingularityRepulsion::repelTarget(), setParticleSystem(), ParticleShader::setParticleSystem(), ParticleOrientation::setParticleSystem(), ParticleMaterial::setParticleSystem(), AdaptiveRepulsionData::setParticleSystem(), ParticleCreation::setq(), SurfacePropagation::solveCholesky(), SurfaceDeformation::solveCholesky(), SurfacePropagation::speed(), RBFPropagation::tune(), and SingularityAdhesion::updateHistorySize(). |
|
|
The class name of the object according to the factory.
Definition at line 136 of file ParticleStuff.h. Referenced by getClass(). |
1.3.4