#include <OgreParticleEmitter.h>
Inheritance diagram for Ogre::ParticleEmitter:
Public Member Functions | |
ParticleEmitter (ParticleSystem *psys) | |
virtual | ~ParticleEmitter () |
Virtual destructor essential. | |
virtual void | setPosition (const Vector3 &pos) |
Sets the position of this emitter relative to the particle system center. | |
virtual const Vector3 & | getPosition (void) const |
Returns the position of this emitter relative to thte center of the particle system. | |
virtual void | setDirection (const Vector3 &direction) |
Sets the direction of the emitter. | |
virtual const Vector3 & | getDirection (void) const |
Returns the base direction of the emitter. | |
virtual void | setAngle (const Radian &angle) |
Sets the maximum angle away from the emitter direction which particle will be emitted. | |
virtual const Radian & | getAngle (void) const |
Returns the maximum angle which the initial particle direction can deviate from the emitters base direction. | |
virtual void | setParticleVelocity (Real speed) |
Sets the initial velocity of particles emitted. | |
virtual void | setParticleVelocity (Real min, Real max) |
Sets the initial velocity range of particles emitted. | |
virtual void | setMinParticleVelocity (Real min) |
Returns the minimum particle velocity. | |
virtual void | setMaxParticleVelocity (Real max) |
Returns the maximum particle velocity. | |
virtual Real | getParticleVelocity (void) const |
Returns the initial velocity of particles emitted. | |
virtual Real | getMinParticleVelocity (void) const |
Returns the minimum particle velocity. | |
virtual Real | getMaxParticleVelocity (void) const |
Returns the maximum particle velocity. | |
virtual void | setEmissionRate (Real particlesPerSecond) |
Sets the emission rate for this emitter. | |
virtual Real | getEmissionRate (void) const |
Returns the emission rate set for this emitter. | |
virtual void | setTimeToLive (Real ttl) |
Sets the lifetime of all particles emitted. | |
virtual void | setTimeToLive (Real minTtl, Real maxTtl) |
Sets the range of lifetime for particles emitted. | |
virtual void | setMinTimeToLive (Real min) |
Sets the minimum time each particle will live for. | |
virtual void | setMaxTimeToLive (Real max) |
Sets the maximum time each particle will live for. | |
virtual Real | getTimeToLive (void) const |
Gets the time each particle will live for. | |
virtual Real | getMinTimeToLive (void) const |
Gets the minimum time each particle will live for. | |
virtual Real | getMaxTimeToLive (void) const |
Gets the maximum time each particle will live for. | |
virtual void | setColour (const ColourValue &colour) |
Sets the initial colour of particles emitted. | |
virtual void | setColour (const ColourValue &colourStart, const ColourValue &colourEnd) |
Sets the range of colours for emitted particles. | |
virtual void | setColourRangeStart (const ColourValue &colour) |
Sets the minimum colour of particles to be emitted. | |
virtual void | setColourRangeEnd (const ColourValue &colour) |
Sets the maximum colour of particles to be emitted. | |
virtual const ColourValue & | getColour (void) const |
Gets the colour of particles to be emitted. | |
virtual const ColourValue & | getColourRangeStart (void) const |
Gets the minimum colour of particles to be emitted. | |
virtual const ColourValue & | getColourRangeEnd (void) const |
Gets the maximum colour of particles to be emitted. | |
virtual unsigned short | _getEmissionCount (Real timeElapsed)=0 |
Gets the number of particles which this emitter would like to emit based on the time elapsed. | |
virtual void | _initParticle (Particle *pParticle) |
Initialises a particle based on the emitter's approach and parameters. | |
const String & | getType (void) const |
Returns the name of the type of emitter. | |
virtual void | setEnabled (bool enabled) |
Sets whether or not the emitter is enabled. | |
virtual bool | getEnabled (void) const |
Gets the flag indicating if this emitter is enabled or not. | |
virtual void | setStartTime (Real startTime) |
Sets the 'start time' of this emitter. | |
virtual Real | getStartTime (void) const |
Gets the start time of the emitter. | |
virtual void | setDuration (Real duration) |
Sets the duration of the emitter. | |
virtual Real | getDuration (void) const |
Gets the duration of the emitter from when it is created or re-enabled. | |
virtual void | setDuration (Real min, Real max) |
Sets the range of random duration for this emitter. | |
virtual void | setMinDuration (Real min) |
Sets the minimum duration of this emitter in seconds (see setDuration for more details). | |
virtual void | setMaxDuration (Real max) |
Sets the maximum duration of this emitter in seconds (see setDuration for more details). | |
virtual Real | getMinDuration (void) const |
Gets the minimum duration of this emitter in seconds (see setDuration for more details). | |
virtual Real | getMaxDuration (void) const |
Gets the maximum duration of this emitter in seconds (see setDuration for more details). | |
virtual void | setRepeatDelay (Real duration) |
Sets the time between repeats of the emitter. | |
virtual Real | getRepeatDelay (void) const |
Gets the duration of the emitter from when it is created or re-enabled. | |
virtual void | setRepeatDelay (Real min, Real max) |
Sets the range of random duration for this emitter. | |
virtual void | setMinRepeatDelay (Real min) |
Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details). | |
virtual void | setMaxRepeatDelay (Real max) |
Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details). | |
virtual Real | getMinRepeatDelay (void) const |
Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details). | |
virtual Real | getMaxRepeatDelay (void) const |
Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details). | |
ParamDictionary * | getParamDictionary (void) |
Retrieves the parameter dictionary for this class. | |
const ParamDictionary * | getParamDictionary (void) const |
const ParameterList & | getParameters (void) const |
Retrieves a list of parameters valid for this object. | |
virtual bool | setParameter (const String &name, const String &value) |
Generic parameter setting method. | |
virtual void | setParameterList (const NameValuePairList ¶mList) |
Generic multiple parameter setting method. | |
virtual String | getParameter (const String &name) const |
Generic parameter retrieval method. | |
virtual void | copyParametersTo (StringInterface *dest) const |
Method for copying this object's parameters to another object. | |
Static Public Member Functions | |
void | cleanupDictionary () |
Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. | |
Protected Member Functions | |
virtual void | genEmissionDirection (Vector3 &destVector) |
Internal utility method for generating particle exit direction. | |
virtual void | genEmissionVelocity (Vector3 &destVector) |
Internal utility method to apply velocity to a particle direction. | |
virtual Real | genEmissionTTL (void) |
Internal utility method for generating a time-to-live for a particle. | |
virtual void | genEmissionColour (ColourValue &destColour) |
Internal utility method for generating a colour for a particle. | |
virtual unsigned short | genConstantEmissionCount (Real timeElapsed) |
Internal utility method for generating an emission count based on a constant emission rate. | |
void | addBaseParameters (void) |
Internal method for setting up the basic parameter definitions for a subclass. | |
void | initDurationRepeat (void) |
Internal method for initialising the duration & repeat of an emitter. | |
bool | createParamDictionary (const String &className) |
Internal method for creating a parameter dictionary for the class, if it does not already exist. | |
Protected Attributes | |
ParticleSystem * | mParent |
Parent particle system. | |
Vector3 | mPosition |
Position relative to the center of the ParticleSystem. | |
Real | mEmissionRate |
Rate in particles per second at which this emitter wishes to emit particles. | |
String | mType |
Name of the type of emitter, MUST be initialised by subclasses. | |
Vector3 | mDirection |
Base direction of the emitter, may not be used by some emitters. | |
Vector3 | mUp |
Radian | mAngle |
Angle around direction which particles may be emitted, internally radians but angleunits for interface. | |
Real | mMinSpeed |
Min speed of particles. | |
Real | mMaxSpeed |
Max speed of particles. | |
Real | mMinTTL |
Initial time-to-live of particles (min). | |
Real | mMaxTTL |
Initial time-to-live of particles (max). | |
ColourValue | mColourRangeStart |
Initial colour of particles (range start). | |
ColourValue | mColourRangeEnd |
Initial colour of particles (range end). | |
bool | mEnabled |
Whether this emitter is currently enabled (defaults to true). | |
Real | mStartTime |
Start time (in seconds from start of first call to ParticleSystem to update). | |
Real | mDurationMin |
Minimum length of time emitter will run for (0 = forever). | |
Real | mDurationMax |
Maximum length of time the emitter will run for (0 = forever). | |
Real | mDurationRemain |
Current duration remainder. | |
Real | mRepeatDelayMin |
Time between each repeat. | |
Real | mRepeatDelayMax |
Real | mRepeatDelayRemain |
Repeat delay left. | |
Real | mRemainder |
String | mParamDictName |
Class name for this instance to be used as a lookup (must be initialised by subclasses). | |
Static Protected Attributes | |
EmitterCommands::CmdAngle | msAngleCmd |
EmitterCommands::CmdColour | msColourCmd |
EmitterCommands::CmdColourRangeStart | msColourRangeStartCmd |
EmitterCommands::CmdColourRangeEnd | msColourRangeEndCmd |
EmitterCommands::CmdDirection | msDirectionCmd |
EmitterCommands::CmdEmissionRate | msEmissionRateCmd |
EmitterCommands::CmdMaxTTL | msMaxTTLCmd |
EmitterCommands::CmdMaxVelocity | msMaxVelocityCmd |
EmitterCommands::CmdMinTTL | msMinTTLCmd |
EmitterCommands::CmdMinVelocity | msMinVelocityCmd |
EmitterCommands::CmdPosition | msPositionCmd |
EmitterCommands::CmdTTL | msTTLCmd |
EmitterCommands::CmdVelocity | msVelocityCmd |
EmitterCommands::CmdDuration | msDurationCmd |
EmitterCommands::CmdMinDuration | msMinDurationCmd |
EmitterCommands::CmdMaxDuration | msMaxDurationCmd |
EmitterCommands::CmdRepeatDelay | msRepeatDelayCmd |
EmitterCommands::CmdMinRepeatDelay | msMinRepeatDelayCmd |
EmitterCommands::CmdMaxRepeatDelay | msMaxRepeatDelayCmd |
ParamDictionaryMap | msDictionary |
Dictionary of parameters. |
Definition at line 62 of file OgreParticleEmitter.h.
|
|
|
Virtual destructor essential.
|
|
Gets the number of particles which this emitter would like to emit based on the time elapsed.
Implemented in Ogre::AreaEmitter, and Ogre::PointEmitter. |
|
Initialises a particle based on the emitter's approach and parameters.
Reimplemented in Ogre::BoxEmitter, Ogre::CylinderEmitter, Ogre::EllipsoidEmitter, Ogre::HollowEllipsoidEmitter, Ogre::PointEmitter, and Ogre::RingEmitter. Definition at line 360 of file OgreParticleEmitter.h. References Ogre::Particle::resetDimensions(). |
|
Internal method for setting up the basic parameter definitions for a subclass.
|
|
Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. MaterialManager) initializes. |
|
Method for copying this object's parameters to another object.
Definition at line 296 of file OgreStringInterface.h. References Ogre::ParamDictionary::mParamDefs, and Ogre::StringInterface::setParameter(). |
|
Internal method for creating a parameter dictionary for the class, if it does not already exist.
Definition at line 172 of file OgreStringInterface.h. References Ogre::String. |
|
Internal utility method for generating an emission count based on a constant emission rate.
|
|
Internal utility method for generating a colour for a particle.
|
|
Internal utility method for generating particle exit direction.
|
|
Internal utility method for generating a time-to-live for a particle.
|
|
Internal utility method to apply velocity to a particle direction.
|
|
Returns the maximum angle which the initial particle direction can deviate from the emitters base direction.
|
|
Gets the colour of particles to be emitted.
|
|
Gets the maximum colour of particles to be emitted.
|
|
Gets the minimum colour of particles to be emitted.
|
|
Returns the base direction of the emitter.
|
|
Gets the duration of the emitter from when it is created or re-enabled.
|
|
Returns the emission rate set for this emitter.
|
|
Gets the flag indicating if this emitter is enabled or not.
|
|
Gets the maximum duration of this emitter in seconds (see setDuration for more details).
|
|
Returns the maximum particle velocity.
|
|
Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details).
|
|
Gets the maximum time each particle will live for.
|
|
Gets the minimum duration of this emitter in seconds (see setDuration for more details).
|
|
Returns the minimum particle velocity.
|
|
Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details).
|
|
Gets the minimum time each particle will live for.
|
|
Definition at line 209 of file OgreStringInterface.h. |
|
Retrieves the parameter dictionary for this class.
Definition at line 196 of file OgreStringInterface.h. |
|
Generic parameter retrieval method.
Definition at line 265 of file OgreStringInterface.h. References Ogre::ParamCommand::doGet(), Ogre::ParamDictionary::getParamCommand(), and Ogre::String. |
|
Retrieves a list of parameters valid for this object.
|
|
Returns the initial velocity of particles emitted.
|
|
Returns the position of this emitter relative to thte center of the particle system.
|
|
Gets the duration of the emitter from when it is created or re-enabled.
|
|
Gets the start time of the emitter.
|
|
Gets the time each particle will live for.
|
|
Returns the name of the type of emitter.
Definition at line 371 of file OgreParticleEmitter.h. References Ogre::String. |
|
Internal method for initialising the duration & repeat of an emitter.
|
|
Sets the maximum angle away from the emitter direction which particle will be emitted.
|
|
Sets the range of colours for emitted particles.
|
|
Sets the initial colour of particles emitted.
|
|
Sets the maximum colour of particles to be emitted.
|
|
Sets the minimum colour of particles to be emitted.
|
|
Sets the direction of the emitter.
Reimplemented in Ogre::AreaEmitter. |
|
Sets the range of random duration for this emitter.
|
|
Sets the duration of the emitter.
|
|
Sets the emission rate for this emitter.
|
|
Sets whether or not the emitter is enabled.
|
|
Sets the maximum duration of this emitter in seconds (see setDuration for more details).
|
|
Returns the maximum particle velocity.
|
|
Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details).
|
|
Sets the maximum time each particle will live for.
|
|
Sets the minimum duration of this emitter in seconds (see setDuration for more details).
|
|
Returns the minimum particle velocity.
|
|
Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details).
|
|
Sets the minimum time each particle will live for.
|
|
Generic parameter setting method.
Referenced by Ogre::StringInterface::copyParametersTo(). |
|
Generic multiple parameter setting method.
|
|
Sets the initial velocity range of particles emitted.
|
|
Sets the initial velocity of particles emitted.
|
|
Sets the position of this emitter relative to the particle system center.
|
|
Sets the range of random duration for this emitter.
|
|
Sets the time between repeats of the emitter.
|
|
Sets the 'start time' of this emitter.
|
|
Sets the range of lifetime for particles emitted.
|
|
Sets the lifetime of all particles emitted.
|
|
Angle around direction which particles may be emitted, internally radians but angleunits for interface.
Definition at line 101 of file OgreParticleEmitter.h. |
|
Initial colour of particles (range end).
Definition at line 113 of file OgreParticleEmitter.h. |
|
Initial colour of particles (range start).
Definition at line 111 of file OgreParticleEmitter.h. |
|
Base direction of the emitter, may not be used by some emitters.
Definition at line 97 of file OgreParticleEmitter.h. |
|
Maximum length of time the emitter will run for (0 = forever).
Definition at line 123 of file OgreParticleEmitter.h. |
|
Minimum length of time emitter will run for (0 = forever).
Definition at line 121 of file OgreParticleEmitter.h. |
|
Current duration remainder.
Definition at line 125 of file OgreParticleEmitter.h. |
|
Rate in particles per second at which this emitter wishes to emit particles.
Definition at line 93 of file OgreParticleEmitter.h. |
|
Whether this emitter is currently enabled (defaults to true).
Definition at line 116 of file OgreParticleEmitter.h. |
|
Max speed of particles.
Definition at line 105 of file OgreParticleEmitter.h. |
|
Initial time-to-live of particles (max).
Definition at line 109 of file OgreParticleEmitter.h. |
|
Min speed of particles.
Definition at line 103 of file OgreParticleEmitter.h. |
|
Initial time-to-live of particles (min).
Definition at line 107 of file OgreParticleEmitter.h. |
|
Class name for this instance to be used as a lookup (must be initialised by subclasses).
Definition at line 160 of file OgreStringInterface.h. |
|
Parent particle system.
Definition at line 89 of file OgreParticleEmitter.h. |
|
Position relative to the center of the ParticleSystem.
Definition at line 91 of file OgreParticleEmitter.h. |
|
Definition at line 134 of file OgreParticleEmitter.h. |
|
Definition at line 129 of file OgreParticleEmitter.h. |
|
Time between each repeat.
Definition at line 128 of file OgreParticleEmitter.h. |
|
Repeat delay left.
Definition at line 131 of file OgreParticleEmitter.h. |
|
Definition at line 67 of file OgreParticleEmitter.h. |
|
Definition at line 68 of file OgreParticleEmitter.h. |
|
Definition at line 70 of file OgreParticleEmitter.h. |
|
Definition at line 69 of file OgreParticleEmitter.h. |
|
Dictionary of parameters.
Definition at line 157 of file OgreStringInterface.h. |
|
Definition at line 71 of file OgreParticleEmitter.h. |
|
Definition at line 80 of file OgreParticleEmitter.h. |
|
Definition at line 72 of file OgreParticleEmitter.h. |
|
Definition at line 82 of file OgreParticleEmitter.h. |
|
Definition at line 85 of file OgreParticleEmitter.h. |
|
Definition at line 73 of file OgreParticleEmitter.h. |
|
Definition at line 74 of file OgreParticleEmitter.h. |
|
Definition at line 81 of file OgreParticleEmitter.h. |
|
Definition at line 84 of file OgreParticleEmitter.h. |
|
Definition at line 75 of file OgreParticleEmitter.h. |
|
Definition at line 76 of file OgreParticleEmitter.h. |
|
Definition at line 77 of file OgreParticleEmitter.h. |
|
Definition at line 83 of file OgreParticleEmitter.h. |
|
Start time (in seconds from start of first call to ParticleSystem to update).
Definition at line 119 of file OgreParticleEmitter.h. |
|
Definition at line 78 of file OgreParticleEmitter.h. |
|
Definition at line 79 of file OgreParticleEmitter.h. |
|
Name of the type of emitter, MUST be initialised by subclasses.
Definition at line 95 of file OgreParticleEmitter.h. |
|
Definition at line 99 of file OgreParticleEmitter.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:41:07 2006