Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::HollowEllipsoidEmitter Class Reference

Particle emitter which emits particles randomly from points inside a hollow ellipsoid. More...

#include <OgreHollowEllipsoidEmitter.h>

Inheritance diagram for Ogre::HollowEllipsoidEmitter:

Ogre::EllipsoidEmitter Ogre::AreaEmitter Ogre::ParticleEmitter Ogre::StringInterface List of all members.

Public Methods

 HollowEllipsoidEmitter ()
void _initParticle (Particle *pParticle)
 See ParticleEmitter. More...

void setInnerSize (Real x, Real y, Real z)
 Sets the size of the clear space inside the area from where NO particles are emitted. More...

void setInnerSizeX (Real x)
 Sets the x component of the area inside the ellipsoid which doesn't emit particles. More...

void setInnerSizeY (Real y)
 Sets the y component of the area inside the ellipsoid which doesn't emit particles. More...

void setInnerSizeZ (Real z)
 Sets the z component of the area inside the ellipsoid which doesn't emit particles. More...

Real getInnerSizeX (void)
 Gets the x component of the area inside the ellipsoid which doesn't emit particles. More...

Real getInnerSizeY (void)
 Gets the y component of the area inside the ellipsoid which doesn't emit particles. More...

Real getInnerSizeZ (void)
 Gets the z component of the area inside the ellipsoid which doesn't emit particles. More...

unsigned short _getEmissionCount (Real timeElapsed)
 See ParticleEmitter. More...

void setDirection (const Vector3 &direction)
 Overloaded to update the trans. More...

void setSize (const Vector3 &size)
 Sets the size of the area from which particles are emitted. More...

void setSize (Real x, Real y, Real z)
 Sets the size of the area from which particles are emitted. More...

void setWidth (Real width)
 Sets the width (local x size) of the emitter. More...

Real getWidth (void)
 Gets the width (local x size) of the emitter. More...

void setHeight (Real Height)
 Sets the height (local y size) of the emitter. More...

Real getHeight (void)
 Gets the height (local y size) of the emitter. More...

void setDepth (Real Depth)
 Sets the depth (local y size) of the emitter. More...

Real getDepth (void)
 Gets the depth (local y size) of the emitter. More...

virtual void setPosition (const Vector3 &pos)
 Sets the position of this emitter relative to the particle system center. More...

virtual Vector3 getPosition (void)
 Returns the position of this emitter relative to thte center of the particle system. More...

virtual Vector3getDirection (void)
 Returns the base direction of the emitter. More...

virtual void setAngle (Real degrees)
 Sets the maximum angle away from the emitter direction which particle will be emitted. More...

virtual Real getAngle (void)
 Returns the maximum angle which the initial particle direction can deviate from the emitters base direction. More...

virtual void setParticleVelocity (Real speed)
 Sets the initial velocity of particles emitted. More...

virtual void setParticleVelocity (Real min, Real max)
 Sets the initial velocity range of particles emitted. More...

virtual void setMinParticleVelocity (Real min)
 Returns the minimum particle velocity. More...

virtual void setMaxParticleVelocity (Real max)
 Returns the maximum particle velocity. More...

virtual Real getParticleVelocity (void)
 Returns the initial velocity of particles emitted. More...

virtual Real getMinParticleVelocity (void)
 Returns the minimum particle velocity. More...

virtual Real getMaxParticleVelocity (void)
 Returns the maximum particle velocity. More...

virtual void setEmissionRate (Real particlesPerSecond)
 Sets the emission rate for this emitter. More...

virtual Real getEmissionRate (void)
 Returns the emission rate set for this emitter. More...

virtual void setTimeToLive (Real ttl)
 Sets the lifetime of all particles emitted. More...

virtual void setTimeToLive (Real minTtl, Real maxTtl)
 Sets the range of lifetime for particles emitted. More...

virtual void setMinTimeToLive (Real min)
 Sets the minimum time each particle will live for. More...

virtual void setMaxTimeToLive (Real max)
 Sets the maximum time each particle will live for. More...

virtual Real getTimeToLive (void)
 Gets the time each particle will live for. More...

virtual Real getMinTimeToLive (void)
 Gets the minimum time each particle will live for. More...

virtual Real getMaxTimeToLive (void)
 Gets the maximum time each particle will live for. More...

virtual void setColour (const ColourValue &colour)
 Sets the initial colour of particles emitted. More...

virtual void setColour (const ColourValue &colourStart, const ColourValue &colourEnd)
 Sets the range of colours for emitted particles. More...

virtual void setColourRangeStart (const ColourValue &colour)
 Sets the minimum colour of particles to be emitted. More...

virtual void setColourRangeEnd (const ColourValue &colour)
 Sets the maximum colour of particles to be emitted. More...

virtual ColourValue getColour (void)
 Gets the colour of particles to be emitted. More...

virtual ColourValue getColourRangeStart (void)
 Gets the minimum colour of particles to be emitted. More...

virtual ColourValue getColourRangeEnd (void)
 Gets the maximum colour of particles to be emitted. More...

String getType (void)
 Returns the name of the type of emitter. More...

virtual void setEnabled (bool enabled)
 Sets whether or not the emitter is enabled. More...

virtual bool getEnabled (void)
 Gets the flag indicating if this emitter is enabled or not. More...

virtual void setStartTime (Real startTime)
 Sets the 'start time' of this emitter. More...

virtual Real getStartTime (void)
 Gets the start time of the emitter. More...

virtual void setDuration (Real duration)
 Sets the duration of the emitter. More...

virtual void setDuration (Real min, Real max)
 Sets the range of random duration for this emitter. More...

virtual Real getDuration (void)
 Gets the duration of the emitter from when it is created or re-enabled. More...

virtual void setMinDuration (Real min)
 Sets the minimum duration of this emitter in seconds (see setDuration for more details). More...

virtual void setMaxDuration (Real max)
 Sets the maximum duration of this emitter in seconds (see setDuration for more details). More...

virtual Real getMinDuration (void)
 Gets the minimum duration of this emitter in seconds (see setDuration for more details). More...

virtual Real getMaxDuration (void)
 Gets the maximum duration of this emitter in seconds (see setDuration for more details). More...

virtual void setRepeatDelay (Real duration)
 Sets the time between repeats of the emitter. More...

virtual void setRepeatDelay (Real min, Real max)
 Sets the range of random duration for this emitter. More...

virtual Real getRepeatDelay (void)
 Gets the duration of the emitter from when it is created or re-enabled. More...

virtual void setMinRepeatDelay (Real min)
 Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details). More...

virtual void setMaxRepeatDelay (Real max)
 Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details). More...

virtual Real getMinRepeatDelay (void)
 Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details). More...

virtual Real getMaxRepeatDelay (void)
 Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details). More...

ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class. More...

const ParameterListgetParameters (void)
 Retrieves a list of parameters valid for this object. More...

virtual bool setParameter (const String &name, const String &value)
 Generic parameter setting method. More...

virtual String getParameter (const String &name)
 Generic parameter retrieval method. More...

virtual void copyParametersTo (StringInterface *dest)
 Method for copying this object's parameters to another object. More...


Protected Methods

void genAreaAxes (void)
 Internal method for generating the area axes. More...

void initDefaults (String mType)
 Internal for initializing some defaults and parameters. More...

virtual void genEmissionDirection (Vector3 &destVector)
 Internal utility method for generating particle exit direction. More...

virtual void genEmissionVelocity (Vector3 &destVector)
 Internal utility method to apply velocity to a particle direction. More...

virtual Real genEmissionTTL (void)
 Internal utility method for generating a time-to-live for a particle. More...

virtual void genEmissionColour (ColourValue &destColour)
 Internal utility method for generating a colour for a particle. More...

virtual unsigned short genConstantEmissionCount (Real timeElapsed)
 Internal utility method for generating an emission count based on a constant emission rate. More...

void addBaseParameters (void)
 Internal method for setting up the basic parameter definitions for a subclass. More...

bool createParamDictionary (const String &className)
 Internal method for creating a parameter dictionary for the class, if it does not already exist. More...


Protected Attributes

Vector3 mInnerSize
 Size of 'clear' center area (> 0 and < 1.0). More...

Vector3 mSize
 Size of the area. More...

Vector3 mXRange
 Local axes, not normalised, their magnitude reflects area size. More...

Vector3 mYRange
 Local axes, not normalised, their magnitude reflects area size. More...

Vector3 mZRange
 Local axes, not normalised, their magnitude reflects area size. More...

Vector3 mPosition
 Position relative to the center of the ParticleSystem. More...

Real mEmissionRate
 Rate in particles per second at which this emitter wishes to emit particles. More...

String mType
 Name of the type of emitter, MUST be initialised by subclasses. More...

Vector3 mDirection
 Base direction of the emitter, may not be used by some emitters. More...

Vector3 mUp
Real mAngle
 Angle around direction which particles may be emitted, internally radians but degrees for interface. More...

Real mMinSpeed
 Min speed of particles. More...

Real mMaxSpeed
 Max speed of particles. More...

Real mMinTTL
 Initial time-to-live of particles (min). More...

Real mMaxTTL
 Initial time-to-live of particles (max). More...

ColourValue mColourRangeStart
 Initial colour of particles (range start). More...

ColourValue mColourRangeEnd
 Initial colour of particles (range end). More...

bool mEnabled
 Whether this emitter is currently enabled (defaults to true). More...

Real mStartTime
 Start time (in seconds from start of first call to ParticleSystem to update). More...

Real mDurationMin
 Minimum length of time emitter will run for (0 = forever). More...

Real mDurationMax
 Maximum length of time the emitter will run for (0 = forever). More...

Real mDurationRemain
 Current duration remainder. More...

Real mRepeatDelayMin
 Time between each repeat. More...

Real mRepeatDelayMax
Real mRepeatDelayRemain
 Repeat delay left. More...

String mParamDictName
 Class name for this instance to be used as a lookup (must be initialised by subclasses). More...


Static Protected Attributes

CmdInnerX msCmdInnerX
CmdInnerY msCmdInnerY
CmdInnerZ msCmdInnerZ
CmdWidth msWidthCmd
 Command objects. More...

CmdHeight msHeightCmd
CmdDepth msDepthCmd
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. More...


Detailed Description

Particle emitter which emits particles randomly from points inside a hollow ellipsoid.

Remarks:
This particle emitter emits particles from a hollow ellipsoid area. The initial direction of these particles can either be a single direction (i.e. a line), a random scattering inside a cone, or a random scattering in all directions, depending the 'angle' parameter, which is the angle across which to scatter the particles either side of the base direction of the emitter.


Constructor & Destructor Documentation

Ogre::HollowEllipsoidEmitter::HollowEllipsoidEmitter  
 


Member Function Documentation

unsigned short Ogre::AreaEmitter::_getEmissionCount Real    timeElapsed [virtual, inherited]
 

See ParticleEmitter.

Implements Ogre::ParticleEmitter.

void Ogre::HollowEllipsoidEmitter::_initParticle Particle   pParticle [virtual]
 

See ParticleEmitter.

Reimplemented from Ogre::EllipsoidEmitter.

void Ogre::ParticleEmitter::addBaseParameters void    [protected, inherited]
 

Internal method for setting up the basic parameter definitions for a subclass.

Remarks:
Because StringInterface holds a dictionary of parameters per class, subclasses need to call this to ask the base class to add it's parameters to their dictionary as well. Can't do this in the constructor because that runs in a non-virtual context.

The subclass must have called it's own createParamDictionary before calling this method.

virtual void Ogre::StringInterface::copyParametersTo StringInterface   dest [inline, virtual, inherited]
 

Method for copying this object's parameters to another object.

Remarks:
This method takes the values of all the object's parameters and tries to set the same values on the destination object. This provides a completely type independent way to copy parameters to other objects. Note that because of the String manipulation involved, this should not be regarded as an efficient process and should be saved for times outside of the rendering loop.

Any unrecognised parameters will be ignored as with setParameter method.

Parameters:
dest  Pointer to object to have it's parameters set the same as this object.

bool Ogre::StringInterface::createParamDictionary const String   className [inline, protected, inherited]
 

Internal method for creating a parameter dictionary for the class, if it does not already exist.

Remarks:
This method will check to see if a parameter dictionary exist for this class yet, and if not will create one. NB you must supply the name of the class (RTTI is not used or performance).
Parameters:
className  the name of the class using the dictionary
Returns:
true if a new dictionary was created, false if it was already there

void Ogre::AreaEmitter::genAreaAxes void    [protected, inherited]
 

Internal method for generating the area axes.

unsigned short Ogre::ParticleEmitter::genConstantEmissionCount Real    timeElapsed [protected, virtual, inherited]
 

Internal utility method for generating an emission count based on a constant emission rate.

void Ogre::ParticleEmitter::genEmissionColour ColourValue   destColour [protected, virtual, inherited]
 

Internal utility method for generating a colour for a particle.

void Ogre::ParticleEmitter::genEmissionDirection Vector3   destVector [protected, virtual, inherited]
 

Internal utility method for generating particle exit direction.

Parameters:
destVector  Reference to vector to complete with new direction (normalised)

Real Ogre::ParticleEmitter::genEmissionTTL void    [protected, virtual, inherited]
 

Internal utility method for generating a time-to-live for a particle.

void Ogre::ParticleEmitter::genEmissionVelocity Vector3   destVector [protected, virtual, inherited]
 

Internal utility method to apply velocity to a particle direction.

Parameters:
destVector  The vector to scale by a randomly generated scale between min and max speed. Assumed normalised already, and likely already oriented in the right direction.

Real Ogre::ParticleEmitter::getAngle void    [virtual, inherited]
 

Returns the maximum angle which the initial particle direction can deviate from the emitters base direction.

ColourValue Ogre::ParticleEmitter::getColour void    [virtual, inherited]
 

Gets the colour of particles to be emitted.

ColourValue Ogre::ParticleEmitter::getColourRangeEnd void    [virtual, inherited]
 

Gets the maximum colour of particles to be emitted.

ColourValue Ogre::ParticleEmitter::getColourRangeStart void    [virtual, inherited]
 

Gets the minimum colour of particles to be emitted.

Real Ogre::AreaEmitter::getDepth void    [inherited]
 

Gets the depth (local y size) of the emitter.

Vector3 & Ogre::ParticleEmitter::getDirection void    [virtual, inherited]
 

Returns the base direction of the emitter.

Real Ogre::ParticleEmitter::getDuration void    [virtual, inherited]
 

Gets the duration of the emitter from when it is created or re-enabled.

Real Ogre::ParticleEmitter::getEmissionRate void    [virtual, inherited]
 

Returns the emission rate set for this emitter.

bool Ogre::ParticleEmitter::getEnabled void    [virtual, inherited]
 

Gets the flag indicating if this emitter is enabled or not.

Real Ogre::AreaEmitter::getHeight void    [inherited]
 

Gets the height (local y size) of the emitter.

Real Ogre::HollowEllipsoidEmitter::getInnerSizeX void   
 

Gets the x component of the area inside the ellipsoid which doesn't emit particles.

Real Ogre::HollowEllipsoidEmitter::getInnerSizeY void   
 

Gets the y component of the area inside the ellipsoid which doesn't emit particles.

Real Ogre::HollowEllipsoidEmitter::getInnerSizeZ void   
 

Gets the z component of the area inside the ellipsoid which doesn't emit particles.

Real Ogre::ParticleEmitter::getMaxDuration void    [virtual, inherited]
 

Gets the maximum duration of this emitter in seconds (see setDuration for more details).

Real Ogre::ParticleEmitter::getMaxParticleVelocity void    [virtual, inherited]
 

Returns the maximum particle velocity.

Real Ogre::ParticleEmitter::getMaxRepeatDelay void    [virtual, inherited]
 

Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details).

Real Ogre::ParticleEmitter::getMaxTimeToLive void    [virtual, inherited]
 

Gets the maximum time each particle will live for.

Real Ogre::ParticleEmitter::getMinDuration void    [virtual, inherited]
 

Gets the minimum duration of this emitter in seconds (see setDuration for more details).

Real Ogre::ParticleEmitter::getMinParticleVelocity void    [virtual, inherited]
 

Returns the minimum particle velocity.

Real Ogre::ParticleEmitter::getMinRepeatDelay void    [virtual, inherited]
 

Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details).

Real Ogre::ParticleEmitter::getMinTimeToLive void    [virtual, inherited]
 

Gets the minimum time each particle will live for.

ParamDictionary* Ogre::StringInterface::getParamDictionary void    [inline, inherited]
 

Retrieves the parameter dictionary for this class.

Remarks:
Only valid to call this after createParamDictionary.
Returns:
Pointer to ParamDictionary shared by all instances of this class which you can add parameters to, retrieve parameters etc.

virtual String Ogre::StringInterface::getParameter const String   name [inline, virtual, inherited]
 

Generic parameter retrieval method.

Remarks:
Call this method with the name of a parameter to retrieve a string-format value of the parameter in question. If in doubt, check the parameter definition in the list returned from getParameters for the type of this parameter. If you like you can use StringConverter to convert this string back into a native type.
Parameters:
name  The name of the parameter to get
Returns:
String value of parameter, blank if not found

const ParameterList& Ogre::StringInterface::getParameters void    [inline, inherited]
 

Retrieves a list of parameters valid for this object.

Returns:
A reference to a static list of ParameterDef objects.

Real Ogre::ParticleEmitter::getParticleVelocity void    [virtual, inherited]
 

Returns the initial velocity of particles emitted.

Vector3 Ogre::ParticleEmitter::getPosition void    [virtual, inherited]
 

Returns the position of this emitter relative to thte center of the particle system.

Real Ogre::ParticleEmitter::getRepeatDelay void    [virtual, inherited]
 

Gets the duration of the emitter from when it is created or re-enabled.

Real Ogre::ParticleEmitter::getStartTime void    [virtual, inherited]
 

Gets the start time of the emitter.

Real Ogre::ParticleEmitter::getTimeToLive void    [virtual, inherited]
 

Gets the time each particle will live for.

String Ogre::ParticleEmitter::getType void    [inline, inherited]
 

Returns the name of the type of emitter.

Remarks:
This property is useful for determining the type of emitter procedurally so another can be created.

Real Ogre::AreaEmitter::getWidth void    [inherited]
 

Gets the width (local x size) of the emitter.

void Ogre::AreaEmitter::initDefaults String    mType [protected, inherited]
 

Internal for initializing some defaults and parameters.

void Ogre::ParticleEmitter::setAngle Real    degrees [virtual, inherited]
 

Sets the maximum angle away from the emitter direction which particle will be emitted.

Remarks:
Whilst the direction property defines the general direction of emission for particles, this property defines how far the emission angle can deviate away from this base direction. This allows you to create a scatter effect - if set to 0, all particles will be emitted exactly along the emitters direction vector, wheras if you set it to 180 or more, particles will be emitted in a sphere, i.e. in all directions.
Parameters:
degrees  Maximum angle in degrees which initial particle direction can deviate from the emitter base direction vector.

void Ogre::ParticleEmitter::setColour const ColourValue   colourStart,
const ColourValue   colourEnd
[virtual, inherited]
 

Sets the range of colours for emitted particles.

Remarks:
Particles have an initial colour on emission which the emitter sets. This method sets the range of this colour. See the alternate version of this method which takes a single colour in order to set a constant colour for all particles. Emitters may choose to randomly assign a colour in this range, or may use some other method to vary the colour.
Parameters:
colourStart  The start of the colour range
colourEnd  The end of the colour range

void Ogre::ParticleEmitter::setColour const ColourValue   colour [virtual, inherited]
 

Sets the initial colour of particles emitted.

Remarks:
Particles have an initial colour on emission which the emitter sets. This method sets this colour. See the alternate version of this method which takes 2 colours in order to establish a range of colours to be assigned to particles.
Parameters:
colour  The colour which all particles will be given on emission.

void Ogre::ParticleEmitter::setColourRangeEnd const ColourValue   colour [virtual, inherited]
 

Sets the maximum colour of particles to be emitted.

void Ogre::ParticleEmitter::setColourRangeStart const ColourValue   colour [virtual, inherited]
 

Sets the minimum colour of particles to be emitted.

void Ogre::AreaEmitter::setDepth Real    Depth [inherited]
 

Sets the depth (local y size) of the emitter.

void Ogre::AreaEmitter::setDirection const Vector3   direction [virtual, inherited]
 

Overloaded to update the trans.

matrix

Reimplemented from Ogre::ParticleEmitter.

void Ogre::ParticleEmitter::setDuration Real    min,
Real    max
[virtual, inherited]
 

Sets the range of random duration for this emitter.

Remarks:
By default emitters run indefinitely (unless you manually disable them). By setting this parameter, you can make an emitter turn off on it's own after a random number of seconds. It will then remain disabled until either setEnabled(true) is called, or if the 'repeatAfter' parameter has been set it will also repeat after a number of seconds.

Also see the alternative version of this method which allows you to set a constant duration.

Parameters:
min  The minimum duration in seconds.
max  The minimum duration in seconds.

void Ogre::ParticleEmitter::setDuration Real    duration [virtual, inherited]
 

Sets the duration of the emitter.

Remarks:
By default emitters run indefinitely (unless you manually disable them). By setting this parameter, you can make an emitter turn off on it's own after a set number of seconds. It will then remain disabled until either setEnabled(true) is called, or if the 'repeatAfter' parameter has been set it will also repeat after a number of seconds.

Also see the alternative version of this method which allows you to set a min and max duration for a random variable duration.

Parameters:
duration  The duration in seconds.

void Ogre::ParticleEmitter::setEmissionRate Real    particlesPerSecond [virtual, inherited]
 

Sets the emission rate for this emitter.

Remarks:
This method tells the emitter how many particles per second should be emitted. The emitter subclass does not have to emit these in a continuous burst - this is a relative parameter and the emitter may choose to emit all of the second's worth of particles every half-second for example. This is controlled by the emitter's getEmissionCount method.

Also, if the ParticleSystem's particle quota is exceeded, not all the particles requested may be actually emitted.

Parameters:
particlesPerSecond  The number of particles to be emitted every second.

void Ogre::ParticleEmitter::setEnabled bool    enabled [virtual, inherited]
 

Sets whether or not the emitter is enabled.

Remarks:
You can turn an emitter off completely by setting this parameter to false.

void Ogre::AreaEmitter::setHeight Real    Height [inherited]
 

Sets the height (local y size) of the emitter.

void Ogre::HollowEllipsoidEmitter::setInnerSize Real    x,
Real    y,
Real    z
 

Sets the size of the clear space inside the area from where NO particles are emitted.

Parameters:
x,y,z  Parametric values describing the proportion of the shape which is hollow in each direction. E.g. 0 is solid, 0.5 is half-hollow etc

void Ogre::HollowEllipsoidEmitter::setInnerSizeX Real    x
 

Sets the x component of the area inside the ellipsoid which doesn't emit particles.

Parameters:
x  Parametric value describing the proportion of the shape which is hollow in this direction. E.g. 0 is solid, 0.5 is half-hollow etc

void Ogre::HollowEllipsoidEmitter::setInnerSizeY Real    y
 

Sets the y component of the area inside the ellipsoid which doesn't emit particles.

Parameters:
y  Parametric value describing the proportion of the shape which is hollow in this direction. E.g. 0 is solid, 0.5 is half-hollow etc

void Ogre::HollowEllipsoidEmitter::setInnerSizeZ Real    z
 

Sets the z component of the area inside the ellipsoid which doesn't emit particles.

Parameters:
z  Parametric value describing the proportion of the shape which is hollow in this direction. E.g. 0 is solid, 0.5 is half-hollow etc

void Ogre::ParticleEmitter::setMaxDuration Real    max [virtual, inherited]
 

Sets the maximum duration of this emitter in seconds (see setDuration for more details).

void Ogre::ParticleEmitter::setMaxParticleVelocity Real    max [virtual, inherited]
 

Returns the maximum particle velocity.

void Ogre::ParticleEmitter::setMaxRepeatDelay Real    max [virtual, inherited]
 

Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details).

void Ogre::ParticleEmitter::setMaxTimeToLive Real    max [virtual, inherited]
 

Sets the maximum time each particle will live for.

void Ogre::ParticleEmitter::setMinDuration Real    min [virtual, inherited]
 

Sets the minimum duration of this emitter in seconds (see setDuration for more details).

void Ogre::ParticleEmitter::setMinParticleVelocity Real    min [virtual, inherited]
 

Returns the minimum particle velocity.

void Ogre::ParticleEmitter::setMinRepeatDelay Real    min [virtual, inherited]
 

Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details).

void Ogre::ParticleEmitter::setMinTimeToLive Real    min [virtual, inherited]
 

Sets the minimum time each particle will live for.

bool Ogre::StringInterface::setParameter const String   name,
const String   value
[virtual, inherited]
 

Generic parameter setting method.

Remarks:
Call this method with the name of a parameter and a string version of the value to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from StringInterface::getParameters.
Parameters:
name  The name of the parameter to set
value  String value. Must be in the right format for the type specified in the parameter definition. See the StringConverter class for more information.
Returns:
true if set was successful, false otherwise (NB no exceptions thrown - tolerant method)

void Ogre::ParticleEmitter::setParticleVelocity Real    min,
Real    max
[virtual, inherited]
 

Sets the initial velocity range of particles emitted.

Remarks:
This method sets the range of starting speeds for emitted particles. See the alternate version of this method which takes 1 parameter if you want a constant speed. This emitter will randomly choose a speed between the minimum and maximum for each particle.
Parameters:
max  The maximum speed in world units per second for the initial particle speed on emission.
min  The minimum speed in world units per second for the initial particle speed on emission.

void Ogre::ParticleEmitter::setParticleVelocity Real    speed [virtual, inherited]
 

Sets the initial velocity of particles emitted.

Remarks:
This method sets a constant speed for emitted particles. See the alternate version of this method which takes 2 parameters if you want a variable speed.
Parameters:
speed  The initial speed in world units per second which every particle emitted starts with.

void Ogre::ParticleEmitter::setPosition const Vector3   pos [virtual, inherited]
 

Sets the position of this emitter relative to the particle system center.

void Ogre::ParticleEmitter::setRepeatDelay Real    min,
Real    max
[virtual, inherited]
 

Sets the range of random duration for this emitter.

Remarks:
By default emitters run indefinitely (unless you manually disable them). By setting this parameter, you can make an emitter turn off on it's own after a random number of seconds. It will then remain disabled until either setEnabled(true) is called, or if the 'repeatAfter' parameter has been set it will also repeat after a number of seconds.

Also see the alternative version of this method which allows you to set a constant duration.

Parameters:
min  The minimum duration in seconds.
max  The minimum duration in seconds.

void Ogre::ParticleEmitter::setRepeatDelay Real    duration [virtual, inherited]
 

Sets the time between repeats of the emitter.

Remarks:
By default emitters run indefinitely (unless you manually disable them). However, if you manually disable the emitter (by calling setEnabled(false), or it's duration runs out, it will cease to emit

Also see the alternative version of this method which allows you to set a min and max duration for a random variable duration.

Parameters:
duration  The duration in seconds.

void Ogre::AreaEmitter::setSize Real    x,
Real    y,
Real    z
[inherited]
 

Sets the size of the area from which particles are emitted.

Parameters:
x,y,z  Individual axis lengths describing the size of the area. The area extends around the center point by half the x, y and z components of this vector. The box is aligned such that it's local Z axis points along it's direction (see setDirection)

void Ogre::AreaEmitter::setSize const Vector3   size [inherited]
 

Sets the size of the area from which particles are emitted.

Parameters:
size  Vector describing the size of the area. The area extends around the center point by half the x, y and z components of this vector. The box is aligned such that it's local Z axis points along it's direction (see setDirection)

void Ogre::ParticleEmitter::setStartTime Real    startTime [virtual, inherited]
 

Sets the 'start time' of this emitter.

Remarks:
By default an emitter starts straight away as soon as a ParticleSystem is first created, or also just after it is re-enabled. This parameter allows you to set a time delay so that the emitter does not 'kick in' until later.
Parameters:
startTime  The time in seconds from the creation or enabling of the emitter.

void Ogre::ParticleEmitter::setTimeToLive Real    minTtl,
Real    maxTtl
[virtual, inherited]
 

Sets the range of lifetime for particles emitted.

Remarks:
The emitter initialises particles with a time-to-live (TTL), the number of seconds a particle will exist before being destroyed. This method sets a range for the TTL for all particles emitted; the ttl may be randomised between these 2 extremes or will vary some other way depending on the emitter. Note that affectors are able to modify the TTL of particles later.

Also see the alternate version of this method which takes a single TTL in order to set a constant TTL for all particles.

Parameters:
minTtl  The minimum number of seconds each particle will live for.
maxTtl  The maximum number of seconds each particle will live for.

void Ogre::ParticleEmitter::setTimeToLive Real    ttl [virtual, inherited]
 

Sets the lifetime of all particles emitted.

Remarks:
The emitter initialises particles with a time-to-live (TTL), the number of seconds a particle will exist before being destroyed. This method sets a constant TTL for all particles emitted. Note that affectors are able to modify the TTL of particles later.

Also see the alternate version of this method which takes a min and max TTL in order to have the TTL vary per particle.

Parameters:
ttl  The number of seconds each particle will live for.

void Ogre::AreaEmitter::setWidth Real    width [inherited]
 

Sets the width (local x size) of the emitter.


Member Data Documentation

Real Ogre::ParticleEmitter::mAngle [protected, inherited]
 

Angle around direction which particles may be emitted, internally radians but degrees for interface.

ColourValue Ogre::ParticleEmitter::mColourRangeEnd [protected, inherited]
 

Initial colour of particles (range end).

ColourValue Ogre::ParticleEmitter::mColourRangeStart [protected, inherited]
 

Initial colour of particles (range start).

Vector3 Ogre::ParticleEmitter::mDirection [protected, inherited]
 

Base direction of the emitter, may not be used by some emitters.

Real Ogre::ParticleEmitter::mDurationMax [protected, inherited]
 

Maximum length of time the emitter will run for (0 = forever).

Real Ogre::ParticleEmitter::mDurationMin [protected, inherited]
 

Minimum length of time emitter will run for (0 = forever).

Real Ogre::ParticleEmitter::mDurationRemain [protected, inherited]
 

Current duration remainder.

Real Ogre::ParticleEmitter::mEmissionRate [protected, inherited]
 

Rate in particles per second at which this emitter wishes to emit particles.

bool Ogre::ParticleEmitter::mEnabled [protected, inherited]
 

Whether this emitter is currently enabled (defaults to true).

Vector3 Ogre::HollowEllipsoidEmitter::mInnerSize [protected]
 

Size of 'clear' center area (> 0 and < 1.0).

Real Ogre::ParticleEmitter::mMaxSpeed [protected, inherited]
 

Max speed of particles.

Real Ogre::ParticleEmitter::mMaxTTL [protected, inherited]
 

Initial time-to-live of particles (max).

Real Ogre::ParticleEmitter::mMinSpeed [protected, inherited]
 

Min speed of particles.

Real Ogre::ParticleEmitter::mMinTTL [protected, inherited]
 

Initial time-to-live of particles (min).

String Ogre::StringInterface::mParamDictName [protected, inherited]
 

Class name for this instance to be used as a lookup (must be initialised by subclasses).

Vector3 Ogre::ParticleEmitter::mPosition [protected, inherited]
 

Position relative to the center of the ParticleSystem.

Real Ogre::ParticleEmitter::mRepeatDelayMax [protected, inherited]
 

Real Ogre::ParticleEmitter::mRepeatDelayMin [protected, inherited]
 

Time between each repeat.

Real Ogre::ParticleEmitter::mRepeatDelayRemain [protected, inherited]
 

Repeat delay left.

EmitterCommands::CmdAngle Ogre::ParticleEmitter::msAngleCmd [static, protected, inherited]
 

HollowEllipsoidEmitter::CmdInnerX Ogre::HollowEllipsoidEmitter::msCmdInnerX [static, protected]
 

HollowEllipsoidEmitter::CmdInnerY Ogre::HollowEllipsoidEmitter::msCmdInnerY [static, protected]
 

HollowEllipsoidEmitter::CmdInnerZ Ogre::HollowEllipsoidEmitter::msCmdInnerZ [static, protected]
 

EmitterCommands::CmdColour Ogre::ParticleEmitter::msColourCmd [static, protected, inherited]
 

EmitterCommands::CmdColourRangeEnd Ogre::ParticleEmitter::msColourRangeEndCmd [static, protected, inherited]
 

EmitterCommands::CmdColourRangeStart Ogre::ParticleEmitter::msColourRangeStartCmd [static, protected, inherited]
 

AreaEmitter::CmdDepth Ogre::AreaEmitter::msDepthCmd [static, protected, inherited]
 

ParamDictionaryMap Ogre::StringInterface::msDictionary [static, protected, inherited]
 

Dictionary of parameters.

EmitterCommands::CmdDirection Ogre::ParticleEmitter::msDirectionCmd [static, protected, inherited]
 

EmitterCommands::CmdDuration Ogre::ParticleEmitter::msDurationCmd [static, protected, inherited]
 

EmitterCommands::CmdEmissionRate Ogre::ParticleEmitter::msEmissionRateCmd [static, protected, inherited]
 

AreaEmitter::CmdHeight Ogre::AreaEmitter::msHeightCmd [static, protected, inherited]
 

Vector3 Ogre::AreaEmitter::mSize [protected, inherited]
 

Size of the area.

EmitterCommands::CmdMaxDuration Ogre::ParticleEmitter::msMaxDurationCmd [static, protected, inherited]
 

EmitterCommands::CmdMaxRepeatDelay Ogre::ParticleEmitter::msMaxRepeatDelayCmd [static, protected, inherited]
 

EmitterCommands::CmdMaxTTL Ogre::ParticleEmitter::msMaxTTLCmd [static, protected, inherited]
 

EmitterCommands::CmdMaxVelocity Ogre::ParticleEmitter::msMaxVelocityCmd [static, protected, inherited]
 

EmitterCommands::CmdMinDuration Ogre::ParticleEmitter::msMinDurationCmd [static, protected, inherited]
 

EmitterCommands::CmdMinRepeatDelay Ogre::ParticleEmitter::msMinRepeatDelayCmd [static, protected, inherited]
 

EmitterCommands::CmdMinTTL Ogre::ParticleEmitter::msMinTTLCmd [static, protected, inherited]
 

EmitterCommands::CmdMinVelocity Ogre::ParticleEmitter::msMinVelocityCmd [static, protected, inherited]
 

EmitterCommands::CmdPosition Ogre::ParticleEmitter::msPositionCmd [static, protected, inherited]
 

EmitterCommands::CmdRepeatDelay Ogre::ParticleEmitter::msRepeatDelayCmd [static, protected, inherited]
 

Real Ogre::ParticleEmitter::mStartTime [protected, inherited]
 

Start time (in seconds from start of first call to ParticleSystem to update).

EmitterCommands::CmdTTL Ogre::ParticleEmitter::msTTLCmd [static, protected, inherited]
 

EmitterCommands::CmdVelocity Ogre::ParticleEmitter::msVelocityCmd [static, protected, inherited]
 

AreaEmitter::CmdWidth Ogre::AreaEmitter::msWidthCmd [static, protected, inherited]
 

Command objects.

String Ogre::ParticleEmitter::mType [protected, inherited]
 

Name of the type of emitter, MUST be initialised by subclasses.

Vector3 Ogre::ParticleEmitter::mUp [protected, inherited]
 

Vector3 Ogre::AreaEmitter::mXRange [protected, inherited]
 

Local axes, not normalised, their magnitude reflects area size.

Vector3 Ogre::AreaEmitter::mYRange [protected, inherited]
 

Local axes, not normalised, their magnitude reflects area size.

Vector3 Ogre::AreaEmitter::mZRange [protected, inherited]
 

Local axes, not normalised, their magnitude reflects area size.

Copyright © 2002 by The OGRE Team