VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
GaussianParticles Class Reference

Class containing all parts of a system for a single type of particle. More...

Inheritance diagram for GaussianParticles:
Inheritance graph
[legend]

Public Member Functions

 GaussianParticles (double theta, double phi, double sigma=1.0, double life=4.0, double height=1.0)
 Initialize CTOR The entire particle system is created at construction time.
virtual ~GaussianParticles ()
 DTOR.
osg::PositionAttitudeTransform * positionAttitudeTransform () const
 Accessor to the transform for positioning the emitter.
osgParticle::Particle * particle () const
 Accessor to the particle template.
osgParticle::ParticleSystem * particleSystem () const
 Accessor to the particle system.
osgParticle::ParticleSystemUpdater * particleSystemUpdater () const
 Accessor to the updater.
osgParticle::ModularEmitter * modularEmitter () const
 Accessor to the emitter.
osgParticle::RandomRateCounter * randomRateCounter () const
 Accessor to the counter.
osgParticle::PointPlacer * pointPlacer () const
 Accessor to the placer.
osgParticle::RadialShooter * radialShooter () const
 Accessor to the shooter.
osgParticle::Program * program () const
 Accessor to the particle program.

Private Attributes

osg::ref_ptr
< osg::PositionAttitudeTransform > 
myPat
osgParticle::Particle * myParticle
osg::ref_ptr
< osgParticle::ParticleSystem > 
myParticleSystem
osg::ref_ptr
< osgParticle::ParticleSystemUpdater > 
myParticleSystemUpdater
osg::ref_ptr
< osgParticle::ModularEmitter > 
myModularEmitter
osg::ref_ptr
< osgParticle::Program > 
myProgram
osg::ref_ptr
< osgParticle::RandomRateCounter > 
myRandomRateCounter
osg::ref_ptr
< osgParticle::PointPlacer > 
myPointPlacer
osg::ref_ptr
< osgParticle::RadialShooter > 
myRadialShooter

Detailed Description

Class containing all parts of a system for a single type of particle.

This class encompasses all the necessary parts to create a particle system which emits a single type of particle. In this particle system each particle changes over its lifespan according to a Gaussian interpolation. The changes could be transitioning from one size to another, one color to another or one alpha value to another.

Examples

Constructor & Destructor Documentation

GaussianParticles::GaussianParticles ( double  theta,
double  phi,
double  sigma = 1.0,
double  life = 4.0,
double  height = 1.0 
)

Initialize CTOR The entire particle system is created at construction time.

Parameters
[in]thetais an angle which the particles will be streaming from.
[in]phiis an angle which the particles will be streaming from.
[in]sigmais the sigma value of the Gaussian curve.
[in]lifeis a value to scale the percentage of life each frame.
[in]heightis a value to scale the final interpreted value.
virtual GaussianParticles::~GaussianParticles ( )
virtual

DTOR.

Member Function Documentation

osg::PositionAttitudeTransform* GaussianParticles::positionAttitudeTransform ( ) const
inline

Accessor to the transform for positioning the emitter.

References myPat.

osgParticle::Particle* GaussianParticles::particle ( ) const
inline

Accessor to the particle template.

Note
Changes to the particle will only take effect when it is set/reset as the template to the osgParticle::ParticleSystem.

References myParticle.

osgParticle::ParticleSystem* GaussianParticles::particleSystem ( ) const
inline

Accessor to the particle system.

Note
The particle system holds a particle as a template and assigns the texture to be used on the particle.

References myParticleSystem.

osgParticle::ParticleSystemUpdater* GaussianParticles::particleSystemUpdater ( ) const
inline

Accessor to the updater.

Note
The updater holds a set of particles and managers their creation, update, rendering and destruction.

References myParticleSystemUpdater.

osgParticle::ModularEmitter* GaussianParticles::modularEmitter ( ) const
inline

Accessor to the emitter.

Note
The emitter provides a single mechanism for controlling many of the elements of the particle system. ( Contains the counter, placer, and shooter. )

References myModularEmitter.

osgParticle::RandomRateCounter* GaussianParticles::randomRateCounter ( ) const
inline

Accessor to the counter.

Note
The counter controls how many particles should create each frame.

References myRandomRateCounter.

osgParticle::PointPlacer* GaussianParticles::pointPlacer ( ) const
inline

Accessor to the placer.

Note
The placer sets the initial position of each particle.

References myPointPlacer.

osgParticle::RadialShooter* GaussianParticles::radialShooter ( ) const
inline

Accessor to the shooter.

Note
The shooter assigns the initial velocity of each particle.

References myRadialShooter.

osgParticle::Program* GaussianParticles::program ( ) const
inline

Accessor to the particle program.

Note
The Program can control the position of individual particles during its lifespan. ( By default not being used in this exercise, but is include for users to experiment with. )

References myProgram.

Member Data Documentation

osg::ref_ptr<osg::PositionAttitudeTransform> GaussianParticles::myPat
private
osgParticle::Particle* GaussianParticles::myParticle
private

Referenced by particle().

osg::ref_ptr<osgParticle::ParticleSystem> GaussianParticles::myParticleSystem
private

Referenced by particleSystem().

osg::ref_ptr<osgParticle::ParticleSystemUpdater> GaussianParticles::myParticleSystemUpdater
private

Referenced by particleSystemUpdater().

osg::ref_ptr<osgParticle::ModularEmitter> GaussianParticles::myModularEmitter
private

Referenced by modularEmitter().

osg::ref_ptr<osgParticle::Program> GaussianParticles::myProgram
private

Referenced by program().

osg::ref_ptr<osgParticle::RandomRateCounter> GaussianParticles::myRandomRateCounter
private

Referenced by randomRateCounter().

osg::ref_ptr<osgParticle::PointPlacer> GaussianParticles::myPointPlacer
private

Referenced by pointPlacer().

osg::ref_ptr<osgParticle::RadialShooter> GaussianParticles::myRadialShooter
private

Referenced by radialShooter().


The documentation for this class was generated from the following file:

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)