OgreParticleEmitter.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4 (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __ParticleEmitter_H__
29 #define __ParticleEmitter_H__
30 
31 #include "OgrePrerequisites.h"
32 #include "OgreString.h"
33 #include "OgreVector3.h"
34 #include "OgreColourValue.h"
35 #include "OgreStringInterface.h"
37 #include "OgreParticle.h"
38 #include "OgreHeaderPrefix.h"
39 
40 
41 namespace Ogre {
42 
43 
73  {
74  protected:
75 
76  // Command object for setting / getting parameters
100 
101 
116  /* Center position to tell in which direction will particles be emitted according to their position,
117  useful for explosions & implosions, some emitters (i.e. point emitter) may not need it. */
133 
135  bool mEnabled;
136 
145 
151 
152  // Fractions of particles wanted to be emitted last time
154 
157 
160 
161  // If 'true', this emitter is emitted by another emitter.
162  // NB. That doesn't imply that the emitter itself emits other emitters (that could or could not be the case)
163  bool mEmitted;
164 
165  // NB Method below here are to help out people implementing emitters by providing the
166  // most commonly used approaches as piecemeal methods
167 
171  virtual void genEmissionDirection( const Vector3 &particlePos, Vector3& destVector );
172 
177  virtual void genEmissionVelocity(Vector3& destVector);
178 
180  virtual Real genEmissionTTL(void);
181 
183  virtual void genEmissionColour(ColourValue& destColour);
184 
186  virtual unsigned short genConstantEmissionCount(Real timeElapsed);
187 
196  void addBaseParameters(void);
197 
199  void initDurationRepeat(void);
200 
201 
202  public:
205  virtual ~ParticleEmitter();
206 
208  virtual void setPosition(const Vector3& pos);
209 
211  virtual const Vector3& getPosition(void) const;
212 
224  virtual void setDirection(const Vector3& direction);
225 
227  virtual const Vector3& getDirection(void) const;
228 
237  virtual void setUp(const Vector3& up);
238 
240  virtual const Vector3& getUp(void) const;
241 
255  virtual void setDirPositionReference( const Vector3& position, bool enable );
256 
258  virtual const Vector3& getDirPositionReference() const;
259 
261  virtual bool getDirPositionReferenceEnabled() const;
262 
273  virtual void setAngle(const Radian& angle);
274 
276  virtual const Radian& getAngle(void) const;
277 
285  virtual void setParticleVelocity(Real speed);
286 
287 
297  virtual void setParticleVelocity(Real min, Real max);
299  virtual void setMinParticleVelocity(Real min);
301  virtual void setMaxParticleVelocity(Real max);
302 
304  virtual Real getParticleVelocity(void) const;
305 
307  virtual Real getMinParticleVelocity(void) const;
308 
310  virtual Real getMaxParticleVelocity(void) const;
311 
324  virtual void setEmissionRate(Real particlesPerSecond);
325 
327  virtual Real getEmissionRate(void) const;
328 
339  virtual void setTimeToLive(Real ttl);
353  virtual void setTimeToLive(Real minTtl, Real maxTtl);
354 
356  virtual void setMinTimeToLive(Real min);
358  virtual void setMaxTimeToLive(Real max);
359 
361  virtual Real getTimeToLive(void) const;
362 
364  virtual Real getMinTimeToLive(void) const;
366  virtual Real getMaxTimeToLive(void) const;
367 
375  virtual void setColour(const ColourValue& colour);
385  virtual void setColour(const ColourValue& colourStart, const ColourValue& colourEnd);
387  virtual void setColourRangeStart(const ColourValue& colour);
389  virtual void setColourRangeEnd(const ColourValue& colour);
391  virtual const ColourValue& getColour(void) const;
393  virtual const ColourValue& getColourRangeStart(void) const;
395  virtual const ColourValue& getColourRangeEnd(void) const;
396 
409  virtual unsigned short _getEmissionCount(Real timeElapsed) = 0;
410 
420  virtual void _initParticle(Particle* pParticle) {
421  // Initialise size in case it's been altered
422  pParticle->resetDimensions();
423  }
424 
425 
431  const String &getType(void) const { return mType; }
432 
437  virtual void setEnabled(bool enabled);
438 
440  virtual bool getEnabled(void) const;
441 
449  virtual void setStartTime(Real startTime);
451  virtual Real getStartTime(void) const;
452 
464  virtual void setDuration(Real duration);
465 
467  virtual Real getDuration(void) const;
468 
480  virtual void setDuration(Real min, Real max);
482  virtual void setMinDuration(Real min);
484  virtual void setMaxDuration(Real max);
486  virtual Real getMinDuration(void) const;
488  virtual Real getMaxDuration(void) const;
489 
499  virtual void setRepeatDelay(Real duration);
500 
502  virtual Real getRepeatDelay(void) const;
503 
515  virtual void setRepeatDelay(Real min, Real max);
517  virtual void setMinRepeatDelay(Real min);
519  virtual void setMaxRepeatDelay(Real max);
521  virtual Real getMinRepeatDelay(void) const;
523  virtual Real getMaxRepeatDelay(void) const;
524 
526  const String &getName(void) const;
527 
529  virtual void setName(const String& newName);
530 
532  const String &getEmittedEmitter(void) const;
533 
535  virtual void setEmittedEmitter(const String& emittedEmitter);
536 
538  virtual bool isEmitted(void) const;
539 
541  virtual void setEmitted(bool emitted);
542 
543 
544  };
548 }
549 
550 #include "OgreHeaderSuffix.h"
551 
552 #endif
553 
OgreHeaderSuffix.h
Ogre::Particle::resetDimensions
void resetDimensions(void)
Utility method to reset this particle.
Ogre::ParticleEmitter::_getEmissionCount
virtual unsigned short _getEmissionCount(Real timeElapsed)=0
Gets the number of particles which this emitter would like to emit based on the time elapsed.
Ogre::ParticleEmitter::setColour
virtual void setColour(const ColourValue &colourStart, const ColourValue &colourEnd)
Sets the range of colours for emitted particles.
Ogre::ParticleEmitter::genEmissionDirection
virtual void genEmissionDirection(const Vector3 &particlePos, Vector3 &destVector)
Internal utility method for generating particle exit direction.
Ogre::ParticleEmitter::getPosition
virtual const Vector3 & getPosition(void) const
Returns the position of this emitter relative to the center of the particle system.
Ogre::ParticleEmitter::mName
String mName
The name of the emitter. The name is optional unless it is used as an emitter that is emitted itself.
Definition: OgreParticleEmitter.h:156
Ogre::EmitterCommands::CmdMaxVelocity
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:121
Ogre::ParticleEmitter::msEmittedEmitterCmd
static EmitterCommands::CmdEmittedEmitter msEmittedEmitterCmd
Definition: OgreParticleEmitter.h:99
Ogre::ParticleEmitter::getColour
virtual const ColourValue & getColour(void) const
Gets the colour of particles to be emitted.
Ogre::ParticleEmitter::getTimeToLive
virtual Real getTimeToLive(void) const
Gets the time each particle will live for.
Ogre::ParticleEmitter::getMaxDuration
virtual Real getMaxDuration(void) const
Gets the maximum duration of this emitter in seconds (see setDuration for more details)
Ogre
Definition: OgreAndroidLogListener.h:35
Ogre::ParticleEmitter::getEnabled
virtual bool getEnabled(void) const
Gets the flag indicating if this emitter is enabled or not.
Ogre::ParticleEmitter::setEmissionRate
virtual void setEmissionRate(Real particlesPerSecond)
Sets the emission rate for this emitter.
Ogre::ParticleEmitter::getUp
virtual const Vector3 & getUp(void) const
Returns the up vector of the emitter.
Ogre::ParticleEmitter::setDirPositionReference
virtual void setDirPositionReference(const Vector3 &position, bool enable)
Sets the direction of the emitter.
Ogre::EmitterCommands::CmdMinVelocity
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:114
Ogre::ParticleEmitter::msNameCmd
static EmitterCommands::CmdName msNameCmd
Definition: OgreParticleEmitter.h:98
Ogre::ParticleEmitter::mType
String mType
Name of the type of emitter, MUST be initialised by subclasses.
Definition: OgreParticleEmitter.h:109
Ogre::ParticleEmitter::getEmittedEmitter
const String & getEmittedEmitter(void) const
Returns the name of the emitter to be emitted.
Ogre::ParticleEmitter::mMaxSpeed
Real mMaxSpeed
Max speed of particles.
Definition: OgreParticleEmitter.h:124
Ogre::ParticleEmitter::mMinTTL
Real mMinTTL
Initial time-to-live of particles (min)
Definition: OgreParticleEmitter.h:126
Ogre::ParticleEmitter::msPositionCmd
static EmitterCommands::CmdPosition msPositionCmd
Definition: OgreParticleEmitter.h:89
Ogre::ParticleEmitter::mDirPositionRef
Vector3 mDirPositionRef
Definition: OgreParticleEmitter.h:118
Ogre::ParticleEmitter::mAngle
Radian mAngle
Angle around direction which particles may be emitted, internally radians but angleunits for interfac...
Definition: OgreParticleEmitter.h:120
Ogre::ParticleEmitter::msRepeatDelayCmd
static EmitterCommands::CmdRepeatDelay msRepeatDelayCmd
Definition: OgreParticleEmitter.h:95
Ogre::EmitterCommands::CmdColourRangeEnd
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:68
Ogre::ParticleEmitter::getColourRangeStart
virtual const ColourValue & getColourRangeStart(void) const
Gets the minimum colour of particles to be emitted.
Ogre::ParticleEmitter::mMinSpeed
Real mMinSpeed
Min speed of particles.
Definition: OgreParticleEmitter.h:122
Ogre::ParticleEmitter::getMinDuration
virtual Real getMinDuration(void) const
Gets the minimum duration of this emitter in seconds (see setDuration for more details)
Ogre::ParticleEmitter::setColour
virtual void setColour(const ColourValue &colour)
Sets the initial colour of particles emitted.
Ogre::ParticleEmitter::setEmittedEmitter
virtual void setEmittedEmitter(const String &emittedEmitter)
Sets the name of the emitter to be emitted.
Ogre::ParticleEmitter::setMinParticleVelocity
virtual void setMinParticleVelocity(Real min)
Returns the minimum particle velocity.
Ogre::ParticleEmitter::msMaxVelocityCmd
static EmitterCommands::CmdMaxVelocity msMaxVelocityCmd
Definition: OgreParticleEmitter.h:86
Ogre::ParticleEmitter::getMinRepeatDelay
virtual Real getMinRepeatDelay(void) const
Gets the minimum duration of this emitter in seconds (see setRepeatDelay for more details)
Ogre::ParticleEmitter::~ParticleEmitter
virtual ~ParticleEmitter()
Virtual destructor essential.
Ogre::ParticleEmitter::setColourRangeStart
virtual void setColourRangeStart(const ColourValue &colour)
Sets the minimum colour of particles to be emitted.
Ogre::ParticleEmitter::getDirPositionReference
virtual const Vector3 & getDirPositionReference() const
Returns the position reference to generate direction of emitted particles.
Ogre::ParticleEmitter::msMaxDurationCmd
static EmitterCommands::CmdMaxDuration msMaxDurationCmd
Definition: OgreParticleEmitter.h:94
Ogre::ParticleEmitter::getMinTimeToLive
virtual Real getMinTimeToLive(void) const
Gets the minimum time each particle will live for.
Ogre::ParticleEmitter::setDirection
virtual void setDirection(const Vector3 &direction)
Sets the direction of the emitter.
Ogre::EmitterCommands::CmdColourRangeStart
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:61
Ogre::ParticleEmitter::mRemainder
Real mRemainder
Definition: OgreParticleEmitter.h:153
Ogre::ParticleEmitter::getMaxParticleVelocity
virtual Real getMaxParticleVelocity(void) const
Returns the maximum particle velocity.
Ogre::EmitterCommands::CmdMinTTL
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:135
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::ParticleEmitter::msMinTTLCmd
static EmitterCommands::CmdMinTTL msMinTTLCmd
Definition: OgreParticleEmitter.h:87
Ogre::ParticleEmitter::mEnabled
bool mEnabled
Whether this emitter is currently enabled (defaults to true)
Definition: OgreParticleEmitter.h:135
Ogre::ParticleEmitter::msColourCmd
static EmitterCommands::CmdColour msColourCmd
Definition: OgreParticleEmitter.h:78
Ogre::ParticleEmitter::msMaxRepeatDelayCmd
static EmitterCommands::CmdMaxRepeatDelay msMaxRepeatDelayCmd
Definition: OgreParticleEmitter.h:97
Ogre::ParticleEmitter::msDirectionCmd
static EmitterCommands::CmdDirection msDirectionCmd
Definition: OgreParticleEmitter.h:81
Ogre::ParticleEmitter::_initParticle
virtual void _initParticle(Particle *pParticle)
Initialises a particle based on the emitter's approach and parameters.
Definition: OgreParticleEmitter.h:420
Ogre::ParticleEmitter::getDirPositionReferenceEnabled
virtual bool getDirPositionReferenceEnabled() const
Returns whether direction or position reference is used.
Ogre::ParticleEmitter::setRepeatDelay
virtual void setRepeatDelay(Real duration)
Sets the time between repeats of the emitter.
Ogre::EmitterCommands::CmdUp
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:84
Ogre::EmitterCommands::CmdMinRepeatDelay
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:184
OgreParticle.h
Ogre::EmitterCommands::CmdName
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:198
OgreParticleEmitterCommands.h
Ogre::EmitterCommands::CmdDirPositionRef
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:92
OgreStringInterface.h
OgreHeaderPrefix.h
Ogre::ParticleEmitter::getStartTime
virtual Real getStartTime(void) const
Gets the start time of the emitter.
Ogre::ParticleEmitter::getType
const String & getType(void) const
Returns the name of the type of emitter.
Definition: OgreParticleEmitter.h:431
Ogre::ParticleEmitter::mDurationRemain
Real mDurationRemain
Current duration remainder.
Definition: OgreParticleEmitter.h:144
Ogre::ParticleEmitter::msMaxTTLCmd
static EmitterCommands::CmdMaxTTL msMaxTTLCmd
Definition: OgreParticleEmitter.h:85
OgrePrerequisites.h
Ogre::ParticleEmitter::mRepeatDelayMin
Real mRepeatDelayMin
Time between each repeat.
Definition: OgreParticleEmitter.h:147
Ogre::ParticleEmitter::msUpCmd
static EmitterCommands::CmdUp msUpCmd
Definition: OgreParticleEmitter.h:82
Ogre::EmitterCommands::CmdMaxTTL
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:142
Ogre::ParticleEmitter::mUseDirPositionRef
bool mUseDirPositionRef
When true, mDirPositionRef is used instead of mDirection to generate particles.
Definition: OgreParticleEmitter.h:115
Ogre::ParticleEmitter::msMinDurationCmd
static EmitterCommands::CmdMinDuration msMinDurationCmd
Definition: OgreParticleEmitter.h:93
Ogre::EmitterCommands::CmdAngle
Command object for ParticleEmitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:46
Ogre::ParticleEmitter::genEmissionTTL
virtual Real genEmissionTTL(void)
Internal utility method for generating a time-to-live for a particle.
Ogre::ParticleEmitter::msVelocityCmd
static EmitterCommands::CmdVelocity msVelocityCmd
Definition: OgreParticleEmitter.h:91
Ogre::ParticleEmitter::mPosition
Vector3 mPosition
Position relative to the center of the ParticleSystem.
Definition: OgreParticleEmitter.h:105
Ogre::ParticleEmitter::addBaseParameters
void addBaseParameters(void)
Internal method for setting up the basic parameter definitions for a subclass.
Ogre::Radian
Wrapper class which indicates a given angle value is in Radians.
Definition: OgreMath.h:48
Ogre::EmitterCommands::CmdVelocity
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:107
Ogre::ParticleEmitter::mDurationMax
Real mDurationMax
Maximum length of time the emitter will run for (0 = forever)
Definition: OgreParticleEmitter.h:142
Ogre::EmitterCommands::CmdDirection
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:76
Ogre::ParticleEmitter::setTimeToLive
virtual void setTimeToLive(Real minTtl, Real maxTtl)
Sets the range of lifetime for particles emitted.
Ogre::ParticleEmitter::setMaxDuration
virtual void setMaxDuration(Real max)
Sets the maximum duration of this emitter in seconds (see setDuration for more details)
Ogre::ParticleEmitter::getColourRangeEnd
virtual const ColourValue & getColourRangeEnd(void) const
Gets the maximum colour of particles to be emitted.
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::ParticleEmitter::msDirPositionRefCmd
static EmitterCommands::CmdDirPositionRef msDirPositionRefCmd
Definition: OgreParticleEmitter.h:83
Ogre::ParticleEmitter::setDuration
virtual void setDuration(Real min, Real max)
Sets the range of random duration for this emitter.
Ogre::ParticleEmitter::msColourRangeStartCmd
static EmitterCommands::CmdColourRangeStart msColourRangeStartCmd
Definition: OgreParticleEmitter.h:79
Ogre::ParticleEmitter::getParticleVelocity
virtual Real getParticleVelocity(void) const
Returns the initial velocity of particles emitted.
Ogre::EmitterCommands::CmdPosition
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:149
Ogre::Particle
Class representing a single particle instance.
Definition: OgreParticle.h:62
Ogre::ParticleEmitter::mStartTime
Real mStartTime
Start time (in seconds from start of first call to ParticleSystem to update)
Definition: OgreParticleEmitter.h:138
Ogre::ParticleEmitter::getAngle
virtual const Radian & getAngle(void) const
Returns the maximum angle which the initial particle direction can deviate from the emitters base dir...
Ogre::ParticleEmitter::getName
const String & getName(void) const
Returns the name of the emitter.
Ogre::ParticleEmitter
Abstract class defining the interface to be implemented by particle emitters.
Definition: OgreParticleEmitter.h:73
Ogre::ParticleEmitter::setRepeatDelay
virtual void setRepeatDelay(Real min, Real max)
Sets the range of random duration for this emitter.
Ogre::ParticleEmitter::setDuration
virtual void setDuration(Real duration)
Sets the duration of the emitter.
Ogre::StringInterface
Class defining the common interface which classes can use to present a reflection-style,...
Definition: OgreStringInterface.h:164
Ogre::ParticleEmitter::getEmissionRate
virtual Real getEmissionRate(void) const
Returns the emission rate set for this emitter.
Ogre::ParticleEmitter::genEmissionColour
virtual void genEmissionColour(ColourValue &destColour)
Internal utility method for generating a colour for a particle.
Ogre::ParticleEmitter::getMaxRepeatDelay
virtual Real getMaxRepeatDelay(void) const
Gets the maximum duration of this emitter in seconds (see setRepeatDelay for more details)
Ogre::ParticleEmitter::genConstantEmissionCount
virtual unsigned short genConstantEmissionCount(Real timeElapsed)
Internal utility method for generating an emission count based on a constant emission rate.
Ogre::ParticleEmitter::mEmissionRate
Real mEmissionRate
Rate in particles per second at which this emitter wishes to emit particles.
Definition: OgreParticleEmitter.h:107
Ogre::ParticleEmitter::msMinVelocityCmd
static EmitterCommands::CmdMinVelocity msMinVelocityCmd
Definition: OgreParticleEmitter.h:88
Ogre::EmitterCommands::CmdEmittedEmitter
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:206
Ogre::ParticleEmitter::mRepeatDelayRemain
Real mRepeatDelayRemain
Repeat delay left.
Definition: OgreParticleEmitter.h:150
Ogre::ParticleEmitter::isEmitted
virtual bool isEmitted(void) const
Return true if the emitter is emitted by another emitter.
Ogre::ParticleEmitter::msAngleCmd
static EmitterCommands::CmdAngle msAngleCmd
Definition: OgreParticleEmitter.h:77
Ogre::ParticleEmitter::setMinDuration
virtual void setMinDuration(Real min)
Sets the minimum duration of this emitter in seconds (see setDuration for more details)
Ogre::ParticleEmitter::setPosition
virtual void setPosition(const Vector3 &pos)
Sets the position of this emitter relative to the particle system center.
Ogre::ParticleEmitter::setMinTimeToLive
virtual void setMinTimeToLive(Real min)
Sets the minimum time each particle will live for.
OgreColourValue.h
Ogre::ColourValue
Class representing colour.
Definition: OgreColourValue.h:58
Ogre::ParticleEmitter::msColourRangeEndCmd
static EmitterCommands::CmdColourRangeEnd msColourRangeEndCmd
Definition: OgreParticleEmitter.h:80
Ogre::ParticleEmitter::setTimeToLive
virtual void setTimeToLive(Real ttl)
Sets the lifetime of all particles emitted.
Ogre::ParticleEmitter::mUp
Vector3 mUp
Notional up vector, used to speed up generation of variant directions, and also to orient some emitte...
Definition: OgreParticleEmitter.h:113
Ogre::EmitterCommands::CmdEmissionRate
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:100
Ogre::ParticleEmitter::getDirection
virtual const Vector3 & getDirection(void) const
Returns the base direction of the emitter.
Ogre::ParticleEmitter::mDurationMin
Real mDurationMin
Minimum length of time emitter will run for (0 = forever)
Definition: OgreParticleEmitter.h:140
Ogre::EmitterCommands::CmdDuration
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:156
Ogre::ParticleEmitter::msEmissionRateCmd
static EmitterCommands::CmdEmissionRate msEmissionRateCmd
Definition: OgreParticleEmitter.h:84
Ogre::ParticleEmitter::mEmittedEmitter
String mEmittedEmitter
The name of the emitter to be emitted (optional)
Definition: OgreParticleEmitter.h:159
Ogre::ParticleEmitter::msMinRepeatDelayCmd
static EmitterCommands::CmdMinRepeatDelay msMinRepeatDelayCmd
Definition: OgreParticleEmitter.h:96
Ogre::ParticleEmitter::msDurationCmd
static EmitterCommands::CmdDuration msDurationCmd
Definition: OgreParticleEmitter.h:92
Ogre::ParticleSystem
Class defining particle system based special effects.
Definition: OgreParticleSystem.h:68
Ogre::ParticleEmitter::getRepeatDelay
virtual Real getRepeatDelay(void) const
Gets the duration of the emitter from when it is created or re-enabled.
Ogre::EmitterCommands::CmdMaxDuration
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:170
Ogre::ParticleEmitter::mEmitted
bool mEmitted
Definition: OgreParticleEmitter.h:163
Ogre::EmitterCommands::CmdMaxRepeatDelay
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:191
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::ParticleEmitter::getMaxTimeToLive
virtual Real getMaxTimeToLive(void) const
Gets the maximum time each particle will live for.
Ogre::ParticleEmitter::msTTLCmd
static EmitterCommands::CmdTTL msTTLCmd
Definition: OgreParticleEmitter.h:90
Ogre::ParticleEmitter::setMinRepeatDelay
virtual void setMinRepeatDelay(Real min)
Sets the minimum duration of this emitter in seconds (see setRepeatDelay for more details)
Ogre::ParticleEmitter::getMinParticleVelocity
virtual Real getMinParticleVelocity(void) const
Returns the minimum particle velocity.
Ogre::EmitterCommands::CmdTTL
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:128
Ogre::ParticleEmitter::setParticleVelocity
virtual void setParticleVelocity(Real speed)
Sets the initial velocity of particles emitted.
Ogre::ParticleEmitter::mDirection
Vector3 mDirection
Base direction of the emitter, may not be used by some emitters.
Definition: OgreParticleEmitter.h:111
OgreString.h
Ogre::EmitterCommands::CmdColour
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:53
Ogre::ParticleEmitter::setParticleVelocity
virtual void setParticleVelocity(Real min, Real max)
Sets the initial velocity range of particles emitted.
Ogre::ParticleEmitter::setEmitted
virtual void setEmitted(bool emitted)
Set the indication (true/false) to indicate that the emitter is emitted by another emitter.
Ogre::ParticleEmitter::mRepeatDelayMax
Real mRepeatDelayMax
Definition: OgreParticleEmitter.h:148
Ogre::ParticleEmitter::ParticleEmitter
ParticleEmitter(ParticleSystem *psys)
OgreVector3.h
Ogre::ParticleEmitter::setEnabled
virtual void setEnabled(bool enabled)
Sets whether or not the emitter is enabled.
Ogre::ParticleEmitter::setMaxRepeatDelay
virtual void setMaxRepeatDelay(Real max)
Sets the maximum duration of this emitter in seconds (see setRepeatDelay for more details)
Ogre::ParticleEmitter::setStartTime
virtual void setStartTime(Real startTime)
Sets the 'start time' of this emitter.
Ogre::Vector3
Standard 3-dimensional vector.
Definition: OgreVector3.h:52
Ogre::ParticleEmitter::setUp
virtual void setUp(const Vector3 &up)
Sets the notional up vector of the emitter.
Ogre::ParticleEmitter::mColourRangeStart
ColourValue mColourRangeStart
Initial colour of particles (range start)
Definition: OgreParticleEmitter.h:130
Ogre::ParticleEmitter::mParent
ParticleSystem * mParent
Parent particle system.
Definition: OgreParticleEmitter.h:103
Ogre::ParticleEmitter::mColourRangeEnd
ColourValue mColourRangeEnd
Initial colour of particles (range end)
Definition: OgreParticleEmitter.h:132
Ogre::ParticleEmitter::getDuration
virtual Real getDuration(void) const
Gets the duration of the emitter from when it is created or re-enabled.
Ogre::EmitterCommands::CmdMinDuration
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:163
Ogre::ParticleEmitter::mMaxTTL
Real mMaxTTL
Initial time-to-live of particles (max)
Definition: OgreParticleEmitter.h:128
Ogre::ParticleEmitter::setColourRangeEnd
virtual void setColourRangeEnd(const ColourValue &colour)
Sets the maximum colour of particles to be emitted.
Ogre::ParticleEmitter::setName
virtual void setName(const String &newName)
Sets the name of the emitter.
Ogre::ParticleEmitter::initDurationRepeat
void initDurationRepeat(void)
Internal method for initialising the duration & repeat of an emitter.
Ogre::ParticleEmitter::setMaxParticleVelocity
virtual void setMaxParticleVelocity(Real max)
Returns the maximum particle velocity.
Ogre::ParticleEmitter::setAngle
virtual void setAngle(const Radian &angle)
Sets the maximum angle away from the emitter direction which particle will be emitted.
Ogre::ParticleEmitter::setMaxTimeToLive
virtual void setMaxTimeToLive(Real max)
Sets the maximum time each particle will live for.
Ogre::EmitterCommands::CmdRepeatDelay
Command object for particle emitter - see ParamCommand.
Definition: OgreParticleEmitterCommands.h:177
Ogre::ParticleEmitter::genEmissionVelocity
virtual void genEmissionVelocity(Vector3 &destVector)
Internal utility method to apply velocity to a particle direction.

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.