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

This plugin subclass of ParticleAffector allows you to alter the scale of particles. More...

#include <OgreScaleAffector.h>

+ Inheritance diagram for Ogre::ScaleAffector:

Classes

class  CmdMultiplyMode
 
class  CmdScaleAdjust
 Command object for scale adjust (see ParamCommand). More...
 

Public Member Functions

 ScaleAffector (ParticleSystem *psys)
 Default constructor. More...
 
void _affectParticles (ParticleSystem *pSystem, Real timeElapsed) override
 See ParticleAffector. More...
 
Real getAdjust () const
 Gets the scale adjustment to be made per second to particles. More...
 
bool getMultiplyMode () const
 Gets the multiply mode. More...
 
void setAdjust (Real rate)
 Sets the scale adjustment to be made per second to particles. More...
 
void setMultiplyMode (bool bMultiplyMode)
 Sets the multiply mode. More...
 
- Public Member Functions inherited from Ogre::ParticleAffector
 ParticleAffector (ParticleSystem *parent)
 
virtual ~ParticleAffector ()
 Virtual destructor essential. More...
 
virtual void _initParticle (Particle *pParticle)
 Method called to allow the affector to initialize all newly created particles in the system. More...
 
const StringgetType () const
 Returns the name of the type of affector. 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...
 

Static Public Attributes

static CmdMultiplyMode msMultiplyModeCmd
 
static CmdScaleAdjust msScaleCmd
 

Additional Inherited Members

- 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...
 

Detailed Description

This plugin subclass of ParticleAffector allows you to alter the scale of particles.

Remarks
This class supplies the ParticleAffector implementation required to make the particle expand or contract in mid-flight.

Constructor & Destructor Documentation

◆ ScaleAffector()

Ogre::ScaleAffector::ScaleAffector ( ParticleSystem psys)

Default constructor.

Member Function Documentation

◆ _affectParticles()

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

◆ getAdjust()

Real Ogre::ScaleAffector::getAdjust ( ) const

Gets the scale adjustment to be made per second to particles.

◆ getMultiplyMode()

bool Ogre::ScaleAffector::getMultiplyMode ( ) const

Gets the multiply mode.

◆ setAdjust()

void Ogre::ScaleAffector::setAdjust ( Real  rate)

Sets the scale adjustment to be made per second to particles.

Parameters
rateSets the adjustment to be made to the x and y scale components per second. These values will be added to the scale of all particles every second, scaled over each frame for a smooth adjustment.

◆ setMultiplyMode()

void Ogre::ScaleAffector::setMultiplyMode ( bool  bMultiplyMode)

Sets the multiply mode.

Parameters
bMultiplyModeWhen false (default), we do scale += factor * time. When true, we do scale *= pow( factor, time ).

False it "slows" down as the particle gets bigger. Shrinking particles is also problematic. True provides a consistent growth over time. Shrinking particles is easy.

Member Data Documentation

◆ msMultiplyModeCmd

CmdMultiplyMode Ogre::ScaleAffector::msMultiplyModeCmd
static

◆ msScaleCmd

CmdScaleAdjust Ogre::ScaleAffector::msScaleCmd
static

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