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


Particles which are large and have low energy birth new particles and particles which are overcroweded are killed.
Definition at line 24 of file SilhouetteFate.h.
Public Member Functions | |
| MAKE_PARTICLESTUFF_NAME () | |
| int | qlen () |
| parameters | |
| void | getq (double *q) |
| Get the parameters. | |
| void | setq (double *q) |
| Set particle stuff parameters. | |
| void | qname (char **qn) |
| Get the names of the parameters. | |
| virtual void | attachAttributes () |
| SilhouetteFate (Particles *ps=NULL, ParticleBoundingBox *b=NULL, SilhouetteAdhesion *sa=NULL, std::string name=std::string("SilhouetteFate")) | |
| Creates a SilhouetteFate object. | |
| double | setSurfaceDiameter (double d) |
| Allows for an awareness of surface diameter. | |
| bool | fiftyPercent () |
| void | resetAge () |
| void | cleanup () |
| We determine particle fate during the cleanup step. | |
Public Attributes | |
| AdaptiveRepulsionData * | rep_data |
| Witkin-Heckbert repulsion data. | |
| ParticleOrientation * | p_orient |
| Particle orientations. | |
| ParticleAge * | p_age |
| Age of the silhouette particles. | |
| SilhouetteAdhesion * | sil_ad |
| ParticleBoundingBox * | p_bounds |
| Bounding box. | |
| double | surfaceDiameter |
| double | gamma |
| Equilibrium speed (multiple of repulsion radius). | |
| double | nu |
| Fraction of E_hat, for fissioning. | |
| double | delta |
| Fraction of sigma_hat, for death. | |
| int | population |
|
||||||||||||||||||||
|
Creates a SilhouetteFate object. First it looks for the required attributes in the particle system, and then it sets default constants. Definition at line 23 of file SilhouetteFate.cpp. References delta, gamma, nu, p_bounds, population, sil_ad, surfaceDiameter, WH_DELTA, WH_GAMMA, and WH_NU. |
|
|
Reimplemented from ParticleBehavior. Definition at line 43 of file SilhouetteFate.cpp. References ParticleStuff::attachAttribute(), ParticleBehavior::attachAttributes(), Particles::getBehavior(), p_age, p_bounds, p_orient, ParticleStuff::ps, rep_data, ParticleAge::reset(), setSurfaceDiameter(), sil_ad, and surfaceDiameter. |
|
|
We determine particle fate during the cleanup step. Determine whether or not particle is to die: 1) Particle velocity is small compared to nominal repulsion radius 2) Repulsion radius is smaller than minimum repulsion radius 3) Biased random test succeds Determine whether or not to split: (Condition 1: particle is near equilibrium) AND (Condition 2a: repulsion radius is huge OR Condition 2b: particle is adequately energized and repulsion radius is higher than nominal) Reimplemented from ParticleBehavior. Definition at line 92 of file SilhouetteFate.cpp. References Particles::addParticle(), SilhouetteAdhesion::cameraMoved, delta, Particles::dt, gamma, ParticlePosition::getPosition(), ParticleBoundingBox::inBounds(), ParticleOrientation::n, p_age, p_bounds, p_orient, population, ParticleBehavior::position, ParticleStuff::ps, psRandom(), AdaptiveRepulsionData::r, randOrtho(), Particles::removeParticle(), rep_data, ParticleAge::reset(), ParticlePosition::setPosition(), setSurfaceDiameter(), AdaptiveRepulsionData::sigma_hat, AdaptiveRepulsionData::sigma_max, sil_ad, Particles::size(), surfaceDiameter, ParticleAge::t, ParticleVelocity::v, and ParticleBehavior::velocity. |
|
|
Definition at line 76 of file SilhouetteFate.cpp. References SilhouetteAdhesion::camera, dot(), ParticlePosition::getPosition(), ParticleOrientation::n, p_orient, ParticleBehavior::position, ParticleStuff::ps, sil_ad, and Particles::size(). |
|
|
Get the parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 191 of file SilhouetteFate.cpp. References population, and surfaceDiameter. |
|
|
|
|
|
parameters
Reimplemented from ParticleStuff. Definition at line 187 of file SilhouetteFate.cpp. |
|
|
Get the names of the parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 201 of file SilhouetteFate.cpp. |
|
|
Definition at line 66 of file SilhouetteFate.h. References p_age, and ParticleAge::reset(). |
|
|
Set particle stuff parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 196 of file SilhouetteFate.cpp. References population, and surfaceDiameter. |
|
|
Allows for an awareness of surface diameter.
Definition at line 65 of file SilhouetteFate.cpp. References AdaptiveRepulsionData::diameter, rep_data, AdaptiveRepulsionData::sigma_hat, and AdaptiveRepulsionData::sigma_max. Referenced by attachAttributes(), and cleanup(). |
|
|
Fraction of sigma_hat, for death.
Definition at line 49 of file SilhouetteFate.h. Referenced by cleanup(), and SilhouetteFate(). |
|
|
Equilibrium speed (multiple of repulsion radius).
Definition at line 47 of file SilhouetteFate.h. Referenced by cleanup(), and SilhouetteFate(). |
|
|
Fraction of E_hat, for fissioning.
Definition at line 48 of file SilhouetteFate.h. Referenced by SilhouetteFate(). |
|
|
Age of the silhouette particles.
Definition at line 31 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), and resetAge(). |
|
|
Bounding box.
Definition at line 35 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), and SilhouetteFate(). |
|
|
Particle orientations.
Definition at line 30 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), and fiftyPercent(). |
|
|
Definition at line 50 of file SilhouetteFate.h. Referenced by cleanup(), getq(), setq(), and SilhouetteFate(). |
|
|
Witkin-Heckbert repulsion data.
Definition at line 29 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), and setSurfaceDiameter(). |
|
|
Definition at line 32 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), fiftyPercent(), and SilhouetteFate(). |
|
|
Definition at line 45 of file SilhouetteFate.h. Referenced by attachAttributes(), cleanup(), getq(), setq(), and SilhouetteFate(). |
1.3.4