OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::AreaEmitter Class Reference

Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...

#include <OgreAreaEmitter.h>

+ Inheritance diagram for Ogre::AreaEmitter:

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 Member Functions

 AreaEmitter (ParticleSystem *psys)
 
unsigned short _getEmissionCount (Real timeElapsed) override
 See ParticleEmitter. More...
 
Real getDepth () const
 Gets the depth (local y size) of the emitter. More...
 
Real getHeight () const
 Gets the height (local y size) of the emitter. More...
 
Real getWidth () const
 Gets the width (local x size) of the emitter. More...
 
void setDepth (Real Depth)
 Sets the depth (local y size) of the emitter. More...
 
void setDirection (const Vector3 &direction) override
 Overloaded to update the trans. More...
 
void setHeight (Real Height)
 Sets the height (local y size) of the emitter. 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...
 
- Public Member Functions inherited from Ogre::ParticleEmitter
 ParticleEmitter (ParticleSystem *psys)
 
virtual ~ParticleEmitter ()
 Virtual destructor essential. More...
 
virtual void _initParticle (Particle *pParticle)
 Initialises a particle based on the emitter's approach and parameters. More...
 
virtual const RadiangetAngle () const
 Returns the maximum angle which the initial particle direction can deviate from the emitters base direction. More...
 
virtual const ColourValuegetColour () const
 Gets the colour of particles to be emitted. More...
 
virtual const ColourValuegetColourRangeEnd () const
 Gets the maximum colour of particles to be emitted. More...
 
virtual const ColourValuegetColourRangeStart () const
 Gets the minimum colour of particles to be emitted. More...
 
virtual const Vector3getDirection () 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 () const
 Gets the duration of the emitter from when it is created or re-enabled. More...
 
virtual Real getEmissionRate () const
 Returns the emission rate set for this emitter. More...
 
const StringgetEmittedEmitter () const
 Returns the name of the emitter to be emitted. More...
 
virtual bool getEnabled () const
 Gets the flag indicating if this emitter is enabled or not. More...
 
virtual Real getMaxDuration () const
 Gets the maximum duration of this emitter in seconds (see setDuration for more details) More...
 
virtual Real getMaxParticleVelocity () const
 Returns the maximum particle velocity. More...
 
virtual Real getMaxRepeatDelay () const
 Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details) More...
 
virtual Real getMaxTimeToLive () const
 Gets the maximum time each particle will live for. More...
 
virtual Real getMinDuration () const
 Gets the minimum duration of this emitter in seconds (see setDuration for more details) More...
 
virtual Real getMinParticleVelocity () const
 Returns the minimum particle velocity. More...
 
virtual Real getMinRepeatDelay () const
 Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details) More...
 
virtual Real getMinTimeToLive () const
 Gets the minimum time each particle will live for. More...
 
const StringgetName () const
 Returns the name of the emitter. More...
 
virtual Real getParticleVelocity () const
 Returns the initial velocity of particles emitted. More...
 
virtual const Vector3getPosition () const
 Returns the position of this emitter relative to the center of the particle system. More...
 
virtual Real getRepeatDelay () const
 Gets the duration of the emitter from when it is created or re-enabled. More...
 
virtual Real getStartTime () const
 Gets the start time of the emitter. More...
 
virtual Real getTimeToLive () const
 Gets the time each particle will live for. More...
 
virtual const StringgetType () const =0
 Returns the name of the type of emitter. More...
 
virtual const Vector3getUp () const
 Returns the up vector of the emitter. More...
 
virtual bool isEmitted () const
 Return true if the emitter is emitted by another emitter. 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...
 
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...
 
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...
 
virtual void setParticleVelocity (Real min, Real max)
 Sets the initial velocity range of particles emitted. More...
 
virtual void setParticleVelocity (Real speed)
 Sets the initial velocity 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...
 
virtual void setStartTime (Real startTime)
 Sets the 'start time' of this emitter. More...
 
virtual void setTimeToLive (Real minTtl, Real maxTtl)
 Sets the range of lifetime for particles emitted. More...
 
virtual void setTimeToLive (Real ttl)
 Sets the lifetime of all particles emitted. More...
 
virtual void setUp (const Vector3 &up)
 Sets the notional up vector of the emitter. More...
 
- Public Member Functions inherited from Ogre::StringInterface
 StringInterface ()
 
virtual ~StringInterface ()
 Virtual destructor, see Effective C++. More...
 
virtual void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object. More...
 
ParamDictionarygetParamDictionary ()
 Retrieves the parameter dictionary for this class. More...
 
const ParamDictionarygetParamDictionary () const
 
virtual String getParameter (const String &name) const
 Generic parameter retrieval method. More...
 
const ParameterListgetParameters () const
 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 void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method. More...
 
- Public Member Functions inherited from Ogre::Particle
 Particle ()
 
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...
 
Real getOwnHeight () const
 Retrieves the particle's personal width, if hasOwnDimensions is true. More...
 
Real getOwnWidth () const
 Retrieves the particle's personal width, if hasOwnDimensions is true. More...
 
const RadiangetRotation () const
 
ParticleVisualDatagetVisualData () const
 Get the optional visual data associated with the class. More...
 
bool hasOwnDimensions () const
 Returns true if this particle deviates from the ParticleSystem's default dimensions (i.e. More...
 
void resetDimensions ()
 Utility method to reset this particle. More...
 
void setDimensions (Real width, Real height)
 Sets the width and height for this particle. More...
 
void setRotation (const Radian &rad)
 Sets the current rotation. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::Particle
enum  ParticleType { Visual , Emitter }
 Type of particle. More...
 
- Static Public Member Functions inherited from Ogre::StringInterface
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 inherited from Ogre::Particle
ColourValue mColour
 Current colour. More...
 
Vector3 mDirection
 Direction (and speed) 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...
 
Vector3 mPosition
 World position. More...
 
Radian mRotation
 Current rotation value. More...
 
Radian mRotationSpeed
 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 an area (box, sphere, ellipsoid whatever subclasses choose to be).

Remarks
This is an empty superclass and needs to be subclassed. Basic particle emitter emits particles from/in an (unspecified) 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

◆ AreaEmitter()

Ogre::AreaEmitter::AreaEmitter ( ParticleSystem psys)
inline

Member Function Documentation

◆ _getEmissionCount()

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

◆ getDepth()

Real Ogre::AreaEmitter::getDepth ( ) const

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

◆ getHeight()

Real Ogre::AreaEmitter::getHeight ( ) const

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

◆ getWidth()

Real Ogre::AreaEmitter::getWidth ( ) const

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

◆ setDepth()

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

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

◆ setDirection()

void Ogre::AreaEmitter::setDirection ( const Vector3 direction)
overridevirtual

Overloaded to update the trans.

matrix

Reimplemented from Ogre::ParticleEmitter.

◆ setHeight()

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

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

◆ setSize() [1/2]

void Ogre::AreaEmitter::setSize ( const Vector3 size)

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

Parameters
sizeVector 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 
)

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

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

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


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