OGRE  13.6
Object-Oriented Graphics Rendering Engine
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:

Classes

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

Public Member Functions

 HollowEllipsoidEmitter (ParticleSystem *psys)
 
void _initParticle (Particle *pParticle) override
 Initialises a particle based on the emitter's approach and parameters. 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...
 
Real getInnerSizeZ (void) const
 Gets the z component of the area inside the ellipsoid which doesn't emit particles. 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...
 
- Public Member Functions inherited from Ogre::EllipsoidEmitter
 EllipsoidEmitter (ParticleSystem *psys)
 See AreaEmitter. More...
 
- Public Member Functions inherited from Ogre::AreaEmitter
 AreaEmitter (ParticleSystem *psys)
 
Real getDepth (void) const
 Gets the depth (local y size) of the emitter. More...
 
Real getHeight (void) const
 Gets the height (local y size) of the emitter. More...
 
Real getWidth (void) 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 unsigned short _getEmissionCount (Real timeElapsed)
 Gets the number of particles which this emitter would like to emit based on the time elapsed. More...
 
virtual const RadiangetAngle (void) const
 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...
 
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...
 
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...
 
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...
 
virtual bool isEmitted (void) 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...
 
void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object. 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...
 
bool setParameter (const String &name, const String &value)
 Generic parameter setting method. More...
 
void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method. More...
 
- Public Member Functions inherited from Ogre::Particle
 Particle ()
 
float getOwnHeight (void) const
 Retrieves the particle's personal width, if hasOwnDimensions is true. More...
 
float getOwnWidth (void) const
 Retrieves the particle's personal width, if hasOwnDimensions is true. More...
 
const RadiangetRotation (void) const
 
bool hasOwnDimensions (void) const
 
void setDimensions (float width, float 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 : uint8 { 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
RGBA mColour
 Current colour. More...
 
Vector3 mDirection
 Direction (and speed) More...
 
float mHeight
 Particle height. More...
 
ParticleType mParticleType
 Determines the type of particle. More...
 
Vector3 mPosition
 World position. More...
 
uint8 mRandomTexcoordOffset
 
Radian mRotation
 Current rotation value. More...
 
Radian mRotationSpeed
 Speed of rotation in radians/sec. More...
 
uint8 mTexcoordIndex
 Index into the array of texture coordinates. More...
 
float mTimeToLive
 Time to live, number of seconds left of particles natural life. More...
 
float mTotalTimeToLive
 Total Time to live, number of seconds of particles natural life. More...
 
float mWidth
 Particle width. More...
 

Detailed Description

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

Constructor & Destructor Documentation

◆ HollowEllipsoidEmitter()

Ogre::HollowEllipsoidEmitter::HollowEllipsoidEmitter ( ParticleSystem psys)

Member Function Documentation

◆ _initParticle()

void Ogre::HollowEllipsoidEmitter::_initParticle ( Particle pParticle)
overridevirtual

Initialises a particle based on the emitter's approach and parameters.

See the _getEmissionCount method for details of why there is a separation between 'requested' emissions and actual initialised particles.

Parameters
pParticlePointer 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 from Ogre::EllipsoidEmitter.

◆ setInnerSize()

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,zParametric values describing the proportion of the shape which is hollow in each direction.
Note
The values are fractions of the 'outer' dimensions; E.g. 0 is solid, 0.5 is half-hollow etc

◆ setInnerSizeX()

void Ogre::HollowEllipsoidEmitter::setInnerSizeX ( Real  x)

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

Parameters
xParametric value describing the proportion of the shape which is hollow in this direction.
Note
The values are fractions of the 'outer' dimensions; E.g. 0 is solid, 0.5 is half-hollow etc

◆ setInnerSizeY()

void Ogre::HollowEllipsoidEmitter::setInnerSizeY ( Real  y)

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

Parameters
yParametric value describing the proportion of the shape which is hollow in this direction.
Note
The values are fractions of the 'outer' dimensions; E.g. 0 is solid, 0.5 is half-hollow etc

◆ setInnerSizeZ()

void Ogre::HollowEllipsoidEmitter::setInnerSizeZ ( Real  z)

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

Parameters
zParametric value describing the proportion of the shape which is hollow in this direction.
Note
The values are fractions of the 'outer' dimensions; E.g. 0 is solid, 0.5 is half-hollow etc

◆ getInnerSizeX()

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

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

◆ getInnerSizeY()

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

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

◆ getInnerSizeZ()

Real Ogre::HollowEllipsoidEmitter::getInnerSizeZ ( void  ) const

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


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