OGRE  1.12.4 Object-Oriented Graphics Rendering Engine
Ogre::RingEmitter Class Reference

Particle emitter which emits particles randomly from points inside a ring (e.g. More...

#include <OgreRingEmitter.h>

Inheritance diagram for Ogre::RingEmitter:

## Classes

class  CmdInnerX
Command object for inner size (see ParamCommand). More...

class  CmdInnerY
Command object for inner size (see ParamCommand). More...

## Public Types

enum  ParticleType { Visual, Emitter }
Type of particle. More...

## Public Member Functions

RingEmitter (ParticleSystem *psys)

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

void _initParticle (Particle *pParticle)

void _notifyOwner (ParticleSystem *owner)
Internal method for notifying the particle of it's owner. More...

void _notifyVisualData (ParticleVisualData *vis)
Internal method for notifying the particle of it's optional visual data. More...

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

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

virtual const ColourValuegetColour (void) const
Gets the colour of particles to be emitted. More...

virtual const ColourValuegetColourRangeEnd (void) const
Gets the maximum colour of particles to be emitted. More...

virtual const ColourValuegetColourRangeStart (void) const
Gets the minimum colour of particles to be emitted. More...

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

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

virtual const Vector3getDirPositionReference () const
Returns the position reference to generate direction of emitted particles. More...

virtual bool getDirPositionReferenceEnabled () const
Returns whether direction or position reference is used. More...

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

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

const StringgetEmittedEmitter (void) const
Returns the name of the emitter to be emitted. More...

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

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

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

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

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

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

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

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

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

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

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

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

const StringgetName (void) const
Returns the name of the emitter. More...

Real getOwnHeight (void) const
Retrieves the particle's personal width, if hasOwnDimensions is true. More...

Real getOwnWidth (void) const
Retrieves the particle's personal width, if hasOwnDimensions is true. More...

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

const ParamDictionarygetParamDictionary (void) const

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

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

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

virtual const Vector3getPosition (void) const
Returns the position of this emitter relative to the center of the particle system. More...

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

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

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

const StringgetType (void) const
Returns the name of the type of emitter. More...

virtual const Vector3getUp (void) const
Returns the up vector of the emitter. More...

ParticleVisualDatagetVisualData (void) const
Get the optional visual data associated with the class. More...

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

bool hasOwnDimensions (void) const
Returns true if this particle deviates from the ParticleSystem's default dimensions (i.e. More...

virtual bool isEmitted (void) const
Return true if the emitter is emitted by another emitter. More...

void resetDimensions (void)
Utility method to reset this particle. More...

virtual void setAngle (const Radian &angle)
Sets the maximum angle away from the emitter direction which particle will be emitted. 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 setColourRangeEnd (const ColourValue &colour)
Sets the maximum colour of particles to be emitted. More...

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

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

void setDimensions (Real width, Real height)
Sets the width and height for this particle. More...

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

virtual void setDirPositionReference (const Vector3 &position, bool enable)
Sets the direction 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 void setEmissionRate (Real particlesPerSecond)
Sets the emission rate for this emitter. More...

virtual void setEmitted (bool emitted)
Set the indication (true/false) to indicate that the emitter is emitted by another emitter. More...

virtual void setEmittedEmitter (const String &emittedEmitter)
Sets the name of the emitter to be emitted. More...

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

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

void setInnerSize (Real x, Real y)
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...

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

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

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

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

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

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

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

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

virtual void setName (const String &newName)
Sets the name of the emitter. More...

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

void setParameterList (const NameValuePairList &paramList)
Generic multiple parameter setting method. 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 setPosition (const Vector3 &pos)
Sets the position of this emitter relative to the particle system center. 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...

Sets the current rotation. 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...

virtual void setStartTime (Real startTime)
Sets the 'start time' of 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 setUp (const Vector3 &up)
Sets the notional up vector of the emitter. More...

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

## Static Public Member Functions

static 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. More...

## Public Attributes

ColourValue mColour
Current colour. More...

Real mHeight
Personal height if mOwnDimensions == true. More...

bool mOwnDimensions
Does this particle have it's own dimensions? More...

ParticleType mParticleType
Determines the type of particle. More...

Current rotation value. More...

Speed of rotation in radians/sec. More...

Real mTimeToLive
Time to live, number of seconds left of particles natural life. More...

Real mTotalTimeToLive
Total Time to live, number of seconds of particles natural life. More...

Real mWidth
Personal width if mOwnDimensions == true. More...

## Detailed Description

Particle emitter which emits particles randomly from points inside a ring (e.g.

a tube).

Remarks
This particle emitter emits particles from a ring-shaped 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.

## ◆ ParticleType

 inherited

Type of particle.

Enumerator
Visual
Emitter

## ◆ RingEmitter()

 Ogre::RingEmitter::RingEmitter ( ParticleSystem * psys )

## ◆ _initParticle()

 void Ogre::RingEmitter::_initParticle ( Particle * pParticle )
virtual
ParticleEmitter

Reimplemented from Ogre::ParticleEmitter.

## ◆ setInnerSize()

 void Ogre::RingEmitter::setInnerSize ( Real x, Real y )

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

Parameters
 x,y 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

## ◆ setInnerSizeX()

 void Ogre::RingEmitter::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

## ◆ setInnerSizeY()

 void Ogre::RingEmitter::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

## ◆ getInnerSizeX()

 Real Ogre::RingEmitter::getInnerSizeX ( void ) const

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

## ◆ getInnerSizeY()

 Real Ogre::RingEmitter::getInnerSizeY ( void ) const

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

## ◆ _getEmissionCount()

 unsigned short Ogre::AreaEmitter::_getEmissionCount ( Real timeElapsed )
virtualinherited

## ◆ setDirection()

 void Ogre::AreaEmitter::setDirection ( const Vector3 & direction )
virtualinherited

matrix

Reimplemented from Ogre::ParticleEmitter.

## ◆ setSize() [1/2]

 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)

## ◆ setSize() [2/2]

 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)

## ◆ setWidth()

 void Ogre::AreaEmitter::setWidth ( Real width )
inherited

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

## ◆ getWidth()

 Real Ogre::AreaEmitter::getWidth ( void ) const
inherited

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

## ◆ setHeight()

 void Ogre::AreaEmitter::setHeight ( Real Height )
inherited

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

## ◆ getHeight()

 Real Ogre::AreaEmitter::getHeight ( void ) const
inherited

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

## ◆ setDepth()

 void Ogre::AreaEmitter::setDepth ( Real Depth )
inherited

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

## ◆ getDepth()

 Real Ogre::AreaEmitter::getDepth ( void ) const
inherited

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

## ◆ setPosition()

 virtual void Ogre::ParticleEmitter::setPosition ( const Vector3 & pos )
virtualinherited

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

## ◆ getPosition()

 virtual const Vector3& Ogre::ParticleEmitter::getPosition ( void ) const
virtualinherited

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

## ◆ getDirection()

 virtual const Vector3& Ogre::ParticleEmitter::getDirection ( void ) const
virtualinherited

Returns the base direction of the emitter.

## ◆ setUp()

 virtual void Ogre::ParticleEmitter::setUp ( const Vector3 & up )
virtualinherited

Sets the notional up vector of the emitter.

Remarks
Many emitters emit particles from within a region, and for some that region is not circularly symmetric about the emitter direction. The up vector allows such emitters to be orientated about the direction vector.
Parameters
 up The base direction for particles emitted. It must be perpendicular to the direction vector.

## ◆ getUp()

 virtual const Vector3& Ogre::ParticleEmitter::getUp ( void ) const
virtualinherited

Returns the up vector of the emitter.

## ◆ setDirPositionReference()

 virtual void Ogre::ParticleEmitter::setDirPositionReference ( const Vector3 & position, bool enable )
virtualinherited

Sets the direction of the emitter.

Some particle effects need to emit particles in many random directions, but still following some rules; like not having them collide against each other. Very useful for explosions and implosions (when velocity is negative)

Note
Although once enabled mDirPositionRef will supersede mDirection; calling setDirection() may still be needed to setup a custom up vector.
Parameters
 position The reference position in which the direction of the particles will be calculated from, also taking into account the particle's position at the time of emission. enable True to use mDirPositionRef, false to use the default behaviour with mDirection

## ◆ getDirPositionReference()

 virtual const Vector3& Ogre::ParticleEmitter::getDirPositionReference ( ) const
virtualinherited

Returns the position reference to generate direction of emitted particles.

## ◆ getDirPositionReferenceEnabled()

 virtual bool Ogre::ParticleEmitter::getDirPositionReferenceEnabled ( ) const
virtualinherited

Returns whether direction or position reference is used.

## ◆ setAngle()

 virtual void Ogre::ParticleEmitter::setAngle ( const Radian & angle )
virtualinherited

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, whereas if you set it to 180 degrees or more, particles will be emitted in a sphere, i.e. in all directions.
Parameters
 angle Maximum angle which initial particle direction can deviate from the emitter base direction vector.

## ◆ getAngle()

 virtual const Radian& Ogre::ParticleEmitter::getAngle ( void ) const
virtualinherited

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

## ◆ setParticleVelocity() [1/2]

 virtual void Ogre::ParticleEmitter::setParticleVelocity ( Real speed )
virtualinherited

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.

## ◆ setParticleVelocity() [2/2]

 virtual void Ogre::ParticleEmitter::setParticleVelocity ( Real min, Real max )
virtualinherited

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.

## ◆ setMinParticleVelocity()

 virtual void Ogre::ParticleEmitter::setMinParticleVelocity ( Real min )
virtualinherited

Returns the minimum particle velocity.

## ◆ setMaxParticleVelocity()

 virtual void Ogre::ParticleEmitter::setMaxParticleVelocity ( Real max )
virtualinherited

Returns the maximum particle velocity.

## ◆ getParticleVelocity()

 virtual Real Ogre::ParticleEmitter::getParticleVelocity ( void ) const
virtualinherited

Returns the initial velocity of particles emitted.

## ◆ getMinParticleVelocity()

 virtual Real Ogre::ParticleEmitter::getMinParticleVelocity ( void ) const
virtualinherited

Returns the minimum particle velocity.

## ◆ getMaxParticleVelocity()

 virtual Real Ogre::ParticleEmitter::getMaxParticleVelocity ( void ) const
virtualinherited

Returns the maximum particle velocity.

## ◆ setEmissionRate()

 virtual void Ogre::ParticleEmitter::setEmissionRate ( Real particlesPerSecond )
virtualinherited

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.

## ◆ getEmissionRate()

 virtual Real Ogre::ParticleEmitter::getEmissionRate ( void ) const
virtualinherited

Returns the emission rate set for this emitter.

## ◆ setTimeToLive() [1/2]

 virtual void Ogre::ParticleEmitter::setTimeToLive ( Real ttl )
virtualinherited

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.

## ◆ setTimeToLive() [2/2]

 virtual void Ogre::ParticleEmitter::setTimeToLive ( Real minTtl, Real maxTtl )
virtualinherited

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. Must be non-negative! maxTtl The maximum number of seconds each particle will live for. Must be non-negative!

## ◆ setMinTimeToLive()

 virtual void Ogre::ParticleEmitter::setMinTimeToLive ( Real min )
virtualinherited

Sets the minimum time each particle will live for.

Must be non-negative!

## ◆ setMaxTimeToLive()

 virtual void Ogre::ParticleEmitter::setMaxTimeToLive ( Real max )
virtualinherited

Sets the maximum time each particle will live for.

Must be non-negative!

## ◆ getTimeToLive()

 virtual Real Ogre::ParticleEmitter::getTimeToLive ( void ) const
virtualinherited

Gets the time each particle will live for.

## ◆ getMinTimeToLive()

 virtual Real Ogre::ParticleEmitter::getMinTimeToLive ( void ) const
virtualinherited

Gets the minimum time each particle will live for.

## ◆ getMaxTimeToLive()

 virtual Real Ogre::ParticleEmitter::getMaxTimeToLive ( void ) const
virtualinherited

Gets the maximum time each particle will live for.

## ◆ setColour() [1/2]

 virtual void Ogre::ParticleEmitter::setColour ( const ColourValue & colour )
virtualinherited

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.

## ◆ setColour() [2/2]

 virtual void Ogre::ParticleEmitter::setColour ( const ColourValue & colourStart, const ColourValue & colourEnd )
virtualinherited

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

## ◆ setColourRangeStart()

 virtual void Ogre::ParticleEmitter::setColourRangeStart ( const ColourValue & colour )
virtualinherited

Sets the minimum colour of particles to be emitted.

## ◆ setColourRangeEnd()

 virtual void Ogre::ParticleEmitter::setColourRangeEnd ( const ColourValue & colour )
virtualinherited

Sets the maximum colour of particles to be emitted.

## ◆ getColour()

 virtual const ColourValue& Ogre::ParticleEmitter::getColour ( void ) const
virtualinherited

Gets the colour of particles to be emitted.

## ◆ getColourRangeStart()

 virtual const ColourValue& Ogre::ParticleEmitter::getColourRangeStart ( void ) const
virtualinherited

Gets the minimum colour of particles to be emitted.

## ◆ getColourRangeEnd()

 virtual const ColourValue& Ogre::ParticleEmitter::getColourRangeEnd ( void ) const
virtualinherited

Gets the maximum colour of particles to be emitted.

## ◆ getType()

 const String& Ogre::ParticleEmitter::getType ( void ) const
inlineinherited

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.

## ◆ setEnabled()

 virtual void Ogre::ParticleEmitter::setEnabled ( bool enabled )
virtualinherited

Sets whether or not the emitter is enabled.

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

## ◆ getEnabled()

 virtual bool Ogre::ParticleEmitter::getEnabled ( void ) const
virtualinherited

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

## ◆ setStartTime()

 virtual void Ogre::ParticleEmitter::setStartTime ( Real startTime )
virtualinherited

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.

## ◆ getStartTime()

 virtual Real Ogre::ParticleEmitter::getStartTime ( void ) const
virtualinherited

Gets the start time of the emitter.

## ◆ setDuration() [1/2]

 virtual void Ogre::ParticleEmitter::setDuration ( Real duration )
virtualinherited

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.

## ◆ setDuration() [2/2]

 virtual void Ogre::ParticleEmitter::setDuration ( Real min, Real max )
virtualinherited

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.

## ◆ getDuration()

 virtual Real Ogre::ParticleEmitter::getDuration ( void ) const
virtualinherited

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

## ◆ setMinDuration()

 virtual void Ogre::ParticleEmitter::setMinDuration ( Real min )
virtualinherited

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

## ◆ setMaxDuration()

 virtual void Ogre::ParticleEmitter::setMaxDuration ( Real max )
virtualinherited

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

## ◆ getMinDuration()

 virtual Real Ogre::ParticleEmitter::getMinDuration ( void ) const
virtualinherited

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

## ◆ getMaxDuration()

 virtual Real Ogre::ParticleEmitter::getMaxDuration ( void ) const
virtualinherited

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

## ◆ setRepeatDelay() [1/2]

 virtual void Ogre::ParticleEmitter::setRepeatDelay ( Real duration )
virtualinherited

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.

## ◆ setRepeatDelay() [2/2]

 virtual void Ogre::ParticleEmitter::setRepeatDelay ( Real min, Real max )
virtualinherited

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.

## ◆ getRepeatDelay()

 virtual Real Ogre::ParticleEmitter::getRepeatDelay ( void ) const
virtualinherited

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

## ◆ setMinRepeatDelay()

 virtual void Ogre::ParticleEmitter::setMinRepeatDelay ( Real min )
virtualinherited

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

## ◆ setMaxRepeatDelay()

 virtual void Ogre::ParticleEmitter::setMaxRepeatDelay ( Real max )
virtualinherited

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

## ◆ getMinRepeatDelay()

 virtual Real Ogre::ParticleEmitter::getMinRepeatDelay ( void ) const
virtualinherited

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

## ◆ getMaxRepeatDelay()

 virtual Real Ogre::ParticleEmitter::getMaxRepeatDelay ( void ) const
virtualinherited

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

## ◆ getName()

 const String& Ogre::ParticleEmitter::getName ( void ) const
inherited

Returns the name of the emitter.

## ◆ setName()

 virtual void Ogre::ParticleEmitter::setName ( const String & newName )
virtualinherited

Sets the name of the emitter.

## ◆ getEmittedEmitter()

 const String& Ogre::ParticleEmitter::getEmittedEmitter ( void ) const
inherited

Returns the name of the emitter to be emitted.

## ◆ setEmittedEmitter()

 virtual void Ogre::ParticleEmitter::setEmittedEmitter ( const String & emittedEmitter )
virtualinherited

Sets the name of the emitter to be emitted.

## ◆ isEmitted()

 virtual bool Ogre::ParticleEmitter::isEmitted ( void ) const
virtualinherited

Return true if the emitter is emitted by another emitter.

## ◆ setEmitted()

 virtual void Ogre::ParticleEmitter::setEmitted ( bool emitted )
virtualinherited

Set the indication (true/false) to indicate that the emitter is emitted by another emitter.

## ◆ getParamDictionary() [1/2]

 ParamDictionary* Ogre::StringInterface::getParamDictionary ( void )
inlineinherited

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.

## ◆ getParamDictionary() [2/2]

 const ParamDictionary* Ogre::StringInterface::getParamDictionary ( void ) const
inlineinherited

## ◆ getParameters()

 const ParameterList& Ogre::StringInterface::getParameters ( void ) const
inherited

Retrieves a list of parameters valid for this object.

Returns
A reference to a static list of ParameterDef objects.

## ◆ setParameter()

 bool Ogre::StringInterface::setParameter ( const String & name, const String & value )
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)

Referenced by Ogre::StringInterface::copyParametersTo().

## ◆ setParameterList()

 void Ogre::StringInterface::setParameterList ( const NameValuePairList & paramList )
inherited

Generic multiple parameter setting method.

Remarks
Call this method with a list of name / value pairs 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
 paramList Name/value pair list

## ◆ getParameter()

 String Ogre::StringInterface::getParameter ( const String & name ) const
inlineinherited

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

References Ogre::ParamCommand::doGet().

## ◆ copyParametersTo()

 void Ogre::StringInterface::copyParametersTo ( StringInterface * dest ) const
inlineinherited

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.

References Ogre::StringInterface::setParameter().

## ◆ cleanupDictionary()

 static void Ogre::StringInterface::cleanupDictionary ( )
staticinherited

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.

## ◆ setDimensions()

 void Ogre::Particle::setDimensions ( Real width, Real height )
inherited

Sets the width and height for this particle.

Remarks
Note that it is most efficient for every particle in a ParticleSystem to have the same dimensions. If you choose to alter the dimensions of an individual particle the set will be less efficient. Do not call this method unless you really need to have different particle dimensions within the same set. Otherwise just call the ParticleSystem::setDefaultDimensions method instead.

## ◆ hasOwnDimensions()

 bool Ogre::Particle::hasOwnDimensions ( void ) const
inlineinherited

Returns true if this particle deviates from the ParticleSystem's default dimensions (i.e.

if the particle::setDimensions method has been called for this instance).

particle::setDimensions

## ◆ getOwnWidth()

 Real Ogre::Particle::getOwnWidth ( void ) const
inlineinherited

Retrieves the particle's personal width, if hasOwnDimensions is true.

## ◆ getOwnHeight()

 Real Ogre::Particle::getOwnHeight ( void ) const
inlineinherited

Retrieves the particle's personal width, if hasOwnDimensions is true.

## ◆ setRotation()

inherited

Sets the current rotation.

## ◆ getRotation()

 const Radian& Ogre::Particle::getRotation ( void ) const
inlineinherited

## ◆ _notifyOwner()

 void Ogre::Particle::_notifyOwner ( ParticleSystem * owner )
inherited

Internal method for notifying the particle of it's owner.

## ◆ _notifyVisualData()

 void Ogre::Particle::_notifyVisualData ( ParticleVisualData * vis )
inlineinherited

Internal method for notifying the particle of it's optional visual data.

## ◆ getVisualData()

 ParticleVisualData* Ogre::Particle::getVisualData ( void ) const
inlineinherited

Get the optional visual data associated with the class.

## ◆ resetDimensions()

 void Ogre::Particle::resetDimensions ( void )
inherited

Utility method to reset this particle.

Referenced by Ogre::ParticleEmitter::_initParticle().

## ◆ mOwnDimensions

 bool Ogre::Particle::mOwnDimensions
inherited

Does this particle have it's own dimensions?

## ◆ mWidth

 Real Ogre::Particle::mWidth
inherited

Personal width if mOwnDimensions == true.

## ◆ mHeight

 Real Ogre::Particle::mHeight
inherited

Personal height if mOwnDimensions == true.

## ◆ mRotation

inherited

Current rotation value.

## ◆ mColour

 ColourValue Ogre::Particle::mColour
inherited

Current colour.

## ◆ mTimeToLive

 Real Ogre::Particle::mTimeToLive
inherited

Time to live, number of seconds left of particles natural life.

## ◆ mTotalTimeToLive

 Real Ogre::Particle::mTotalTimeToLive
inherited

Total Time to live, number of seconds of particles natural life.