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

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

#include <OgreScaleAffector2.h>

+ Inheritance diagram for Ogre::ScaleAffector2:

Public Member Functions

 ScaleAffector2 ()
 
void _cloneFrom (const ParticleAffector2 *original) override
 
Real getAdjust () const
 Gets the scale adjustment to be made per second to particles. More...
 
bool getMultiplyMode () const
 Gets the multiply mode. More...
 
String getType () const override
 Returns the name of the type of affector. More...
 
void run (ParticleCpuData cpuData, size_t numParticles, ArrayReal timeSinceLast) const override
 
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::ParticleAffector2
virtual void initEmittedParticles (ParticleCpuData, const EmittedParticle *, size_t) const
 Initializes particles Can be called by multiple threads. More...
 
virtual bool needsInitialization () const
 Returns true if initEmittedParticles() must be called on a particle that has been emitted. More...
 
virtual void oneTimeInit ()
 
virtual bool wantsRotation () const
 Returns true if ParticleSystemDef should default to something else other than ParticleRotationType::None. 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...
 

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

◆ ScaleAffector2()

Ogre::ScaleAffector2::ScaleAffector2 ( )

Member Function Documentation

◆ _cloneFrom()

void Ogre::ScaleAffector2::_cloneFrom ( const ParticleAffector2 original)
overridevirtual

◆ getAdjust()

Real Ogre::ScaleAffector2::getAdjust ( ) const

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

◆ getMultiplyMode()

bool Ogre::ScaleAffector2::getMultiplyMode ( ) const

Gets the multiply mode.

◆ getType()

String Ogre::ScaleAffector2::getType ( ) const
overridevirtual

Returns the name of the type of affector.

Remarks
This property is useful for determining the type of affector procedurally so another can be created.

Implements Ogre::ParticleAffector2.

◆ run()

void Ogre::ScaleAffector2::run ( ParticleCpuData  cpuData,
size_t  numParticles,
ArrayReal  timeSinceLast 
) const
overridevirtual

◆ setAdjust()

void Ogre::ScaleAffector2::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::ScaleAffector2::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.


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