OGRE  14.2
Object-Oriented Graphics Rendering Engine
ParticleFX

Provides Emmiter and Affector implementations for ParticleSystem. More...

Classes

class  Ogre::AreaEmitter
 Particle emitter which emits particles randomly from points inside an area (box, sphere, ellipsoid whatever subclasses choose to be). More...
 
class  Ogre::BoxEmitter
 This emitter emits particles from a random location within a 3-dimensional box. More...
 
class  Ogre::ColourFaderAffector
 This affector modifies the colour of particles in flight. More...
 
class  Ogre::ColourFaderAffector2
 
class  Ogre::CylinderEmitter
 This emitter emits particles in a random direction from within a cylinder area, where the cylinder is oriented along the Z-axis. More...
 
class  Ogre::DeflectorPlaneAffector
 This affector defines a plane which deflects particles which collide with it. More...
 
class  Ogre::DirectionRandomiserAffector
 This affector applies randomness to the movement of the particles. More...
 
class  Ogre::DirectionRandomiserAffector::CmdKeepVelocity
 Command object for keep_velocity (see ParamCommand). More...
 
class  Ogre::DirectionRandomiserAffector::CmdRandomness
 Command object for randomness (see ParamCommand). More...
 
class  Ogre::DirectionRandomiserAffector::CmdScope
 Command object for scope (see ParamCommand). More...
 
class  Ogre::EllipsoidEmitter
 Particle emitter which emits particles randomly from points inside an ellipsoid. More...
 
class  Ogre::HollowEllipsoidEmitter
 Particle emitter which emits particles randomly from points inside a hollow ellipsoid. More...
 
class  Ogre::LinearForceAffector
 This affector applies a force vector to all particles to modify their trajectory. More...
 
class  Ogre::PointEmitter
 This emitter emits particles from a single point, which is it’s position. More...
 
class  Ogre::RingEmitter
 Particle emitter which emits particles randomly from points inside a ring (e.g. More...
 
class  Ogre::RotationAffector
 This affector rotates particles in flight. More...
 
class  Ogre::ScaleAffector
 This affector scales particles in flight. More...
 
class  Ogre::TextureAnimatorAffector
 This affector makes it possible to have an animated texture for each individual particle. More...
 
class  Ogre::TextureAnimatorAffectorFactory
 Factory class for TextureAnimatorAffector. More...
 

Functions

 Ogre::DirectionRandomiserAffector::DirectionRandomiserAffector (ParticleSystem *psys)
 Default constructor. More...
 
void Ogre::DirectionRandomiserAffector::_affectParticles (ParticleSystem *pSystem, Real timeElapsed) override
 Method called to allow the affector to 'do it's stuff' on all active particles in the system. More...
 
String Ogre::DirectionRandomiserAffector::CmdRandomness::doGet (const void *target) const override
 
String Ogre::DirectionRandomiserAffector::CmdScope::doGet (const void *target) const override
 
String Ogre::DirectionRandomiserAffector::CmdKeepVelocity::doGet (const void *target) const override
 
void Ogre::DirectionRandomiserAffector::CmdRandomness::doSet (void *target, const String &val) override
 
void Ogre::DirectionRandomiserAffector::CmdScope::doSet (void *target, const String &val) override
 
void Ogre::DirectionRandomiserAffector::CmdKeepVelocity::doSet (void *target, const String &val) override
 
bool Ogre::DirectionRandomiserAffector::getKeepVelocity (void) const
 Gets flag which detemines whether particle speed is changed. More...
 
Real Ogre::DirectionRandomiserAffector::getRandomness (void) const
 Gets the randomness to apply to the particles in a system. More...
 
Real Ogre::DirectionRandomiserAffector::getScope (void) const
 Gets the scope (percentage of particles which are randomised). More...
 
void Ogre::DirectionRandomiserAffector::setKeepVelocity (bool keepVelocity)
 Determines whether the velocity of particles is unchanged. More...
 
void Ogre::DirectionRandomiserAffector::setRandomness (Real force)
 The amount of randomness to introduce in each axial direction. More...
 
void Ogre::DirectionRandomiserAffector::setScope (Real force)
 The percentage of particles affected in each run of the affector. More...
 

Variables

static CmdKeepVelocity Ogre::DirectionRandomiserAffector::msKeepVelocityCmd
 
static CmdRandomness Ogre::DirectionRandomiserAffector::msRandomnessCmd
 Command objects. More...
 
static CmdScope Ogre::DirectionRandomiserAffector::msScopeCmd
 

Detailed Description

Provides Emmiter and Affector implementations for ParticleSystem.

Function Documentation

◆ doGet() [1/3]

String Ogre::DirectionRandomiserAffector::CmdRandomness::doGet ( const void *  target) const
override

◆ doSet() [1/3]

void Ogre::DirectionRandomiserAffector::CmdRandomness::doSet ( void *  target,
const String val 
)
override

◆ doGet() [2/3]

String Ogre::DirectionRandomiserAffector::CmdScope::doGet ( const void *  target) const
override

◆ doSet() [2/3]

void Ogre::DirectionRandomiserAffector::CmdScope::doSet ( void *  target,
const String val 
)
override

◆ doGet() [3/3]

String Ogre::DirectionRandomiserAffector::CmdKeepVelocity::doGet ( const void *  target) const
override

◆ doSet() [3/3]

void Ogre::DirectionRandomiserAffector::CmdKeepVelocity::doSet ( void *  target,
const String val 
)
override

◆ DirectionRandomiserAffector()

Ogre::DirectionRandomiserAffector::DirectionRandomiserAffector ( ParticleSystem psys)

Default constructor.

◆ _affectParticles()

void Ogre::DirectionRandomiserAffector::_affectParticles ( ParticleSystem pSystem,
Real  timeElapsed 
)
overridevirtual

Method called to allow the affector to 'do it's stuff' on all active particles in the system.

This is where the affector gets the chance to apply it's effects to the particles of a system. The affector is expected to apply it's effect to some or all of the particles in the system passed to it, depending on the affector's approach.

Parameters
pSystemPointer to a ParticleSystem to affect.
timeElapsedThe number of seconds which have elapsed since the last call.

Implements Ogre::ParticleAffector.

◆ setRandomness()

void Ogre::DirectionRandomiserAffector::setRandomness ( Real  force)

The amount of randomness to introduce in each axial direction.

◆ setScope()

void Ogre::DirectionRandomiserAffector::setScope ( Real  force)

The percentage of particles affected in each run of the affector.

◆ setKeepVelocity()

void Ogre::DirectionRandomiserAffector::setKeepVelocity ( bool  keepVelocity)

Determines whether the velocity of particles is unchanged.

◆ getRandomness()

Real Ogre::DirectionRandomiserAffector::getRandomness ( void  ) const

Gets the randomness to apply to the particles in a system.

◆ getScope()

Real Ogre::DirectionRandomiserAffector::getScope ( void  ) const

Gets the scope (percentage of particles which are randomised).

◆ getKeepVelocity()

bool Ogre::DirectionRandomiserAffector::getKeepVelocity ( void  ) const

Gets flag which detemines whether particle speed is changed.

Variable Documentation

◆ msRandomnessCmd

CmdRandomness Ogre::DirectionRandomiserAffector::msRandomnessCmd
static

Command objects.

◆ msScopeCmd

CmdScope Ogre::DirectionRandomiserAffector::msScopeCmd
static

◆ msKeepVelocityCmd

CmdKeepVelocity Ogre::DirectionRandomiserAffector::msKeepVelocityCmd
static