![]() |
OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...
#include <OgreAreaEmitter.h>
Classes | |
class | CmdDepth |
Command object for area emitter size (see ParamCommand). More... | |
class | CmdHeight |
Command object for area emitter size (see ParamCommand). More... | |
class | CmdWidth |
Command object for area emitter size (see ParamCommand). More... | |
Public Types | |
enum | ParticleType { Visual , Emitter } |
Type of particle. More... | |
Public Member Functions | |
AreaEmitter (ParticleSystem *psys) | |
unsigned short | _getEmissionCount (Real timeElapsed) |
See ParticleEmitter. | |
virtual void | _initParticle (Particle *pParticle) |
Initialises a particle based on the emitter's approach and parameters. | |
void | _notifyOwner (ParticleSystem *owner) |
Internal method for notifying the particle of it's owner. | |
void | _notifyVisualData (ParticleVisualData *vis) |
Internal method for notifying the particle of it's optional visual data. | |
virtual void | copyParametersTo (StringInterface *dest) const |
Method for copying this object's parameters to another object. | |
virtual const Radian & | getAngle (void) const |
Returns the maximum angle which the initial particle direction can deviate from the emitters base direction. | |
virtual const ColourValue & | getColour (void) const |
Gets the colour of particles to be emitted. | |
virtual const ColourValue & | getColourRangeEnd (void) const |
Gets the maximum colour of particles to be emitted. | |
virtual const ColourValue & | getColourRangeStart (void) const |
Gets the minimum colour of particles to be emitted. | |
Real | getDepth (void) const |
Gets the depth (local y size) of the emitter. | |
virtual const Vector3 & | getDirection (void) const |
Returns the base direction of the emitter. | |
virtual const Vector3 & | getDirPositionReference () const |
Returns the position reference to generate direction of emitted particles. | |
virtual bool | getDirPositionReferenceEnabled () const |
Returns whether direction or position reference is used. | |
virtual Real | getDuration (void) const |
Gets the duration of the emitter from when it is created or re-enabled. | |
virtual Real | getEmissionRate (void) const |
Returns the emission rate set for this emitter. | |
const String & | getEmittedEmitter (void) const |
Returns the name of the emitter to be emitted. | |
virtual bool | getEnabled (void) const |
Gets the flag indicating if this emitter is enabled or not. | |
Real | getHeight (void) const |
Gets the height (local y size) of the emitter. | |
virtual Real | getMaxDuration (void) const |
Gets the maximum duration of this emitter in seconds (see setDuration for more details) | |
virtual Real | getMaxParticleVelocity (void) const |
Returns the maximum particle velocity. | |
virtual Real | getMaxRepeatDelay (void) const |
Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details) | |
virtual Real | getMaxTimeToLive (void) const |
Gets the maximum time each particle will live for. | |
virtual Real | getMinDuration (void) const |
Gets the minimum duration of this emitter in seconds (see setDuration for more details) | |
virtual Real | getMinParticleVelocity (void) const |
Returns the minimum particle velocity. | |
virtual Real | getMinRepeatDelay (void) const |
Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details) | |
virtual Real | getMinTimeToLive (void) const |
Gets the minimum time each particle will live for. | |
const String & | getName (void) const |
Returns the name of the emitter. | |
Real | getOwnHeight (void) const |
Retrieves the particle's personal width, if hasOwnDimensions is true. | |
Real | getOwnWidth (void) const |
Retrieves the particle's personal width, if hasOwnDimensions is true. | |
ParamDictionary * | getParamDictionary (void) |
Retrieves the parameter dictionary for this class. | |
const ParamDictionary * | getParamDictionary (void) const |
virtual String | getParameter (const String &name) const |
Generic parameter retrieval method. | |
const ParameterList & | getParameters (void) const |
Retrieves a list of parameters valid for this object. | |
virtual Real | getParticleVelocity (void) const |
Returns the initial velocity of particles emitted. | |
virtual const Vector3 & | getPosition (void) const |
Returns the position of this emitter relative to the center of the particle system. | |
virtual Real | getRepeatDelay (void) const |
Gets the duration of the emitter from when it is created or re-enabled. | |
const Radian & | getRotation (void) const |
virtual Real | getStartTime (void) const |
Gets the start time of the emitter. | |
virtual Real | getTimeToLive (void) const |
Gets the time each particle will live for. | |
const String & | getType (void) const |
Returns the name of the type of emitter. | |
virtual const Vector3 & | getUp (void) const |
Returns the up vector of the emitter. | |
ParticleVisualData * | getVisualData (void) const |
Get the optional visual data associated with the class. | |
Real | getWidth (void) const |
Gets the width (local x size) of the emitter. | |
bool | hasOwnDimensions (void) const |
Returns true if this particle deviates from the ParticleSystem's default dimensions (i.e. | |
virtual bool | isEmitted (void) const |
Return true if the emitter is emitted by another emitter. | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void | resetDimensions (void) |
Utility method to reset this particle. | |
virtual void | setAngle (const Radian &angle) |
Sets the maximum angle away from the emitter direction which particle will be emitted. | |
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 | setColourRangeEnd (const ColourValue &colour) |
Sets the maximum colour of particles to be emitted. | |
virtual void | setColourRangeStart (const ColourValue &colour) |
Sets the minimum colour of particles to be emitted. | |
void | setDepth (Real Depth) |
Sets the depth (local y size) of the emitter. | |
void | setDimensions (Real width, Real height) |
Sets the width and height for this particle. | |
void | setDirection (const Vector3 &direction) |
Overloaded to update the trans. | |
virtual void | setDirPositionReference (const Vector3 &position, bool enable) |
Sets the direction of the emitter. | |
virtual void | setDuration (Real duration) |
Sets the duration of the emitter. | |
virtual void | setDuration (Real min, Real max) |
Sets the range of random duration for this emitter. | |
virtual void | setEmissionRate (Real particlesPerSecond) |
Sets the emission rate for this emitter. | |
virtual void | setEmitted (bool emitted) |
Set the indication (true/false) to indicate that the emitter is emitted by another emitter. | |
virtual void | setEmittedEmitter (const String &emittedEmitter) |
Sets the name of the emitter to be emitted. | |
virtual void | setEnabled (bool enabled) |
Sets whether or not the emitter is enabled. | |
void | setHeight (Real Height) |
Sets the height (local y size) of the emitter. | |
virtual void | setMaxDuration (Real max) |
Sets the maximum duration of this emitter in seconds (see setDuration for more details) | |
virtual void | setMaxParticleVelocity (Real max) |
Returns the maximum particle velocity. | |
virtual void | setMaxRepeatDelay (Real max) |
Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details) | |
virtual void | setMaxTimeToLive (Real max) |
Sets the maximum time each particle will live for. | |
virtual void | setMinDuration (Real min) |
Sets the minimum duration of this emitter in seconds (see setDuration for more details) | |
virtual void | setMinParticleVelocity (Real min) |
Returns the minimum particle velocity. | |
virtual void | setMinRepeatDelay (Real min) |
Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details) | |
virtual void | setMinTimeToLive (Real min) |
Sets the minimum time each particle will live for. | |
virtual void | setName (const String &newName) |
Sets the name of the emitter. | |
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 void | setParticleVelocity (Real min, Real max) |
Sets the initial velocity range of particles emitted. | |
virtual void | setParticleVelocity (Real speed) |
Sets the initial velocity of particles emitted. | |
virtual void | setPosition (const Vector3 &pos) |
Sets the position of this emitter relative to the particle system center. | |
virtual void | setRepeatDelay (Real duration) |
Sets the time between repeats of the emitter. | |
virtual void | setRepeatDelay (Real min, Real max) |
Sets the range of random duration for this emitter. | |
void | setRotation (const Radian &rad) |
Sets the current rotation. | |
void | setSize (const Vector3 &size) |
Sets the size of the area from which particles are emitted. | |
void | setSize (Real x, Real y, Real z) |
Sets the size of the area from which particles are emitted. | |
virtual void | setStartTime (Real startTime) |
Sets the 'start time' of this emitter. | |
virtual void | setTimeToLive (Real minTtl, Real maxTtl) |
Sets the range of lifetime for particles emitted. | |
virtual void | setTimeToLive (Real ttl) |
Sets the lifetime of all particles emitted. | |
virtual void | setUp (const Vector3 &up) |
Sets the notional up vector of the emitter. | |
void | setWidth (Real width) |
Sets the width (local x size) of the emitter. | |
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. | |
Public Attributes | |
ColourValue | mColour |
Current colour. | |
Real | mHeight |
Personal height if mOwnDimensions == true. | |
bool | mOwnDimensions |
Does this particle have it's own dimensions? | |
ParticleType | mParticleType |
Determines the type of particle. | |
Radian | mRotation |
Current rotation value. | |
Radian | mRotationSpeed |
Speed of rotation in radians/sec. | |
Real | mTimeToLive |
Time to live, number of seconds left of particles natural life. | |
Real | mTotalTimeToLive |
Total Time to live, number of seconds of particles natural life. | |
Real | mWidth |
Personal width if mOwnDimensions == true. | |
Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be).
|
inherited |
|
inline |
See ParticleEmitter.
Implements Ogre::ParticleEmitter.
Initialises a particle based on the emitter's approach and parameters.
pParticle | Pointer to a particle which must be initialised based on how this emitter starts particles. This is passed as a pointer rather than being created by the emitter so the ParticleSystem can reuse Particle instances, and can also set defaults itself. |
Reimplemented in Ogre::BoxEmitter, Ogre::CylinderEmitter, Ogre::EllipsoidEmitter, Ogre::HollowEllipsoidEmitter, Ogre::PointEmitter, and Ogre::RingEmitter.
|
inherited |
Internal method for notifying the particle of it's owner.
|
inlineinherited |
Internal method for notifying the particle of it's optional visual data.
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.
|
inlinevirtualinherited |
Method for copying this object's parameters to another object.
dest | Pointer to object to have it's parameters set the same as this object. |
Returns the maximum angle which the initial particle direction can deviate from the emitters base direction.
|
virtualinherited |
Gets the colour of particles to be emitted.
|
virtualinherited |
Gets the maximum colour of particles to be emitted.
|
virtualinherited |
Gets the minimum colour of particles to be emitted.
Returns the base direction of the emitter.
Returns the position reference to generate direction of emitted particles.
Returns whether direction or position reference is used.
Gets the duration of the emitter from when it is created or re-enabled.
Returns the emission rate set for this emitter.
Returns the name of the emitter to be emitted.
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.
Returns the name of the emitter.
Retrieves the particle's personal width, if hasOwnDimensions is true.
Retrieves the particle's personal width, if hasOwnDimensions is true.
|
inlineinherited |
Retrieves the parameter dictionary for this class.
|
inlineinherited |
|
inlinevirtualinherited |
Generic parameter retrieval method.
name | The name of the parameter to get |
|
inherited |
Retrieves a list of parameters valid for this object.
Returns the initial velocity of particles emitted.
Returns the position of this emitter relative to the 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.
Returns the up vector of the emitter.
|
inlineinherited |
Get the optional visual data associated with the class.
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).
Return true if the emitter is emitted by another emitter.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
Sets the maximum angle away from the emitter direction which particle will be emitted.
angle | Maximum angle which initial particle direction can deviate from the emitter base direction vector. |
|
virtualinherited |
Sets the initial colour of particles emitted.
colour | The colour which all particles will be given on emission. |
|
virtualinherited |
Sets the range of colours for emitted particles.
colourStart | The start of the colour range |
colourEnd | The end of the colour range |
|
virtualinherited |
Sets the maximum colour of particles to be emitted.
|
virtualinherited |
Sets the minimum colour of particles to be emitted.
Sets the width and height for this particle.
|
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)
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 |
Sets the duration of the emitter.
duration | The duration in seconds. |
Sets the range of random duration for this emitter.
min | The minimum duration in seconds. |
max | The minimum duration in seconds. |
Sets the emission rate for this emitter.
particlesPerSecond | The number of particles to be emitted every second. |
Set the indication (true/false) to indicate that the emitter is emitted by another emitter.
|
virtualinherited |
Sets the name of the emitter to be emitted.
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.
Must be non-negative!
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.
Must be non-negative!
Sets the name of the emitter.
|
virtualinherited |
Generic parameter setting method.
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. |
|
virtualinherited |
Generic multiple parameter setting method.
paramList | Name/value pair list |
Sets the initial velocity range of particles emitted.
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. |
Sets the initial velocity of particles emitted.
speed | The initial speed in world units per second which every particle emitted starts with. |
Sets the position of this emitter relative to the particle system center.
Sets the time between repeats of the emitter.
duration | The duration in seconds. |
Sets the range of random duration for this emitter.
min | The minimum duration in seconds. |
max | The minimum duration in seconds. |
Sets the size of the area from which particles are emitted.
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) |
Sets the size of the area from which particles are emitted.
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) |
Sets the 'start time' of this emitter.
startTime | The time in seconds from the creation or enabling of the emitter. |
Sets the range of lifetime for particles emitted.
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! |
Sets the lifetime of all particles emitted.
ttl | The number of seconds each particle will live for. |
Sets the notional up vector of the emitter.
up | The base direction for particles emitted. It must be perpendicular to the direction vector. |
|
inherited |
Current colour.
|
inherited |
Personal height if mOwnDimensions == true.
|
inherited |
Does this particle have it's own dimensions?
|
inherited |
Determines the type of particle.
|
inherited |
Current rotation value.
|
inherited |
Speed of rotation in radians/sec.
|
inherited |
Time to live, number of seconds left of particles natural life.
|
inherited |
Total Time to live, number of seconds of particles natural life.
|
inherited |
Personal width if mOwnDimensions == true.