<html> <head> <title>Ogre::ParticleAffectorFactory class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.2.16 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>Ogre::ParticleAffectorFactory Class Reference</h1>Abstract class defining the interface to be implemented by creators of <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> subclasses. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>></code> <p> Inheritance diagram for Ogre::ParticleAffectorFactory:<p><center><img src="classOgre_1_1ParticleAffectorFactory__inherit__graph.png" border="0" usemap="#Ogre_1_1ParticleAffectorFactory__inherit__map" alt="Inheritance graph"></center> <map name="Ogre_1_1ParticleAffectorFactory__inherit__map"> <area href="classOgre_1_1ColourFaderAffectorFactory.html" shape="rect" coords="267,23,477,5" alt=""> <area href="classOgre_1_1ColourFaderAffectorFactory2.html" shape="rect" coords="264,66,480,47" alt=""> <area href="classOgre_1_1ColourImageAffectorFactory.html" shape="rect" coords="267,109,477,90" alt=""> <area href="classOgre_1_1ColourInterpolatorAffectorFactory.html" shape="rect" coords="251,151,493,133" alt=""> <area href="classOgre_1_1LinearForceAffectorFactory.html" shape="rect" coords="268,194,476,175" alt=""> <area href="classOgre_1_1RotationAffectorFactory.html" shape="rect" coords="280,237,464,218" alt=""> <area href="classOgre_1_1ScaleAffectorFactory.html" shape="rect" coords="287,279,457,261" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1ParticleAffectorFactory-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya0">ParticleAffectorFactory</a> ()</td></tr> <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya1">~ParticleAffectorFactory</a> ()</td></tr> <tr><td nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1String.html">String</a> </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya2">getName</a> () const=0</td></tr> <tr><td> </td><td><font size=-1><em>Returns the name of the factory, the name which identifies the particle affector type this factory creates.</em> <a href="#Ogre_1_1ParticleAffectorFactorya2"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> * </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya3">createAffector</a> (void)=0</td></tr> <tr><td> </td><td><font size=-1><em>Creates a new affector instance.</em> <a href="#Ogre_1_1ParticleAffectorFactorya3"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ScaleAffectorFactorya0">destroyAffector</a> (<a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> *e)</td></tr> <tr><td> </td><td><font size=-1><em>Destroys the affector pointed to by the parameter (for early clean up if reauired).</em> <a href="#Ogre_1_1ScaleAffectorFactorya0"></a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td nowrap align=right valign=top>std::vector< <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> * > </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryn0">mAffectors</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Abstract class defining the interface to be implemented by creators of <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> subclasses. <p> <dl compact><dt><b> Remarks: </b><dd> Plugins or 3rd party applications can add new types of particle affectors to <a class="el" href="namespaceOgre.html">Ogre</a> by creating subclasses of the <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> class. Because multiple instances of these affectors may be required, a factory class to manage the instances is also required. <p> <a class="el" href="classOgre_1_1ParticleAffectorFactory.html">ParticleAffectorFactory</a> subclasses must allow the creation and destruction of <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> subclasses. They must also be registered with the <a class="el" href="classOgre_1_1ParticleSystemManager.html">ParticleSystemManager</a>. All factories have a name which identifies them, examples might be 'force_vector', 'attractor', or 'fader', and these can be also be used from particle system scripts. </dl> <p> <p> Definition at line <a class="el" href="OgreParticleAffectorFactory_8h-source.html#l00045">45</a> of file <a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> <a name="Ogre_1_1ParticleAffectorFactorya0" doxytag="Ogre::ParticleAffectorFactory::ParticleAffectorFactory"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> Ogre::ParticleAffectorFactory::ParticleAffectorFactory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreParticleAffectorFactory_8h-source.html#l00050">50</a> of file <a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>. </td> </tr> </table> <a name="Ogre_1_1ParticleAffectorFactorya1" doxytag="Ogre::ParticleAffectorFactory::~ParticleAffectorFactory"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual Ogre::ParticleAffectorFactory::~ParticleAffectorFactory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreParticleAffectorFactory_8h-source.html#l00051">51</a> of file <a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>. </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="Ogre_1_1ParticleAffectorFactorya3" doxytag="Ogre::ParticleAffectorFactory::createAffector"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a>* Ogre::ParticleAffectorFactory::createAffector </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Creates a new affector instance. <p> <dl compact><dt><b> Remarks: </b><dd> The subclass MUST add a pointer to the created instance to mAffectors. </dl> <p> Implemented in <a class="el" href="classOgre_1_1ColourFaderAffectorFactory.html#Ogre_1_1ColourFaderAffectorFactoryc1">Ogre::ColourFaderAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourFaderAffectorFactory2.html#Ogre_1_1ColourFaderAffectorFactory2c1">Ogre::ColourFaderAffectorFactory2</a>, <a class="el" href="classOgre_1_1ColourImageAffectorFactory.html#Ogre_1_1ColourImageAffectorFactoryc1">Ogre::ColourImageAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourInterpolatorAffectorFactory.html#Ogre_1_1ColourInterpolatorAffectorFactoryc1">Ogre::ColourInterpolatorAffectorFactory</a>, <a class="el" href="classOgre_1_1LinearForceAffectorFactory.html#Ogre_1_1LinearForceAffectorFactoryc1">Ogre::LinearForceAffectorFactory</a>, <a class="el" href="classOgre_1_1RotationAffectorFactory.html#Ogre_1_1RotationAffectorFactoryc1">Ogre::RotationAffectorFactory</a>, and <a class="el" href="classOgre_1_1ScaleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryc1">Ogre::ScaleAffectorFactory</a>. </td> </tr> </table> <a name="Ogre_1_1ScaleAffectorFactorya0" doxytag="Ogre::ParticleAffectorFactory::destroyAffector"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void Ogre::ParticleAffectorFactory::destroyAffector </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> * </td> <td class="mdname1" valign="top" nowrap> <em>e</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Destroys the affector pointed to by the parameter (for early clean up if reauired). <p> <p> Definition at line <a class="el" href="OgreParticleAffectorFactory_8h-source.html#l00074">74</a> of file <a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>. </td> </tr> </table> <a name="Ogre_1_1ParticleAffectorFactorya2" doxytag="Ogre::ParticleAffectorFactory::getName"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1String.html">String</a> Ogre::ParticleAffectorFactory::getName </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [pure virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the name of the factory, the name which identifies the particle affector type this factory creates. <p> <p> Implemented in <a class="el" href="classOgre_1_1ColourFaderAffectorFactory.html#Ogre_1_1ColourFaderAffectorFactoryc0">Ogre::ColourFaderAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourFaderAffectorFactory2.html#Ogre_1_1ColourFaderAffectorFactory2c0">Ogre::ColourFaderAffectorFactory2</a>, <a class="el" href="classOgre_1_1ColourImageAffectorFactory.html#Ogre_1_1ColourImageAffectorFactoryc0">Ogre::ColourImageAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourInterpolatorAffectorFactory.html#Ogre_1_1ColourInterpolatorAffectorFactoryc0">Ogre::ColourInterpolatorAffectorFactory</a>, <a class="el" href="classOgre_1_1LinearForceAffectorFactory.html#Ogre_1_1LinearForceAffectorFactoryc0">Ogre::LinearForceAffectorFactory</a>, <a class="el" href="classOgre_1_1RotationAffectorFactory.html#Ogre_1_1RotationAffectorFactoryc0">Ogre::RotationAffectorFactory</a>, and <a class="el" href="classOgre_1_1ScaleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryc0">Ogre::ScaleAffectorFactory</a>. <p> Referenced by <a class="el" href="OgreParticleSystemManager_8cpp-source.html#l00161">Ogre::ParticleSystemManager::addAffectorFactory</a>(). </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a name="Ogre_1_1ScaleAffectorFactoryn0" doxytag="Ogre::ParticleAffectorFactory::mAffectors"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> std::vector<<a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a>*> Ogre::ParticleAffectorFactory::mAffectors<code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreParticleAffectorFactory_8h-source.html#l00048">48</a> of file <a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="OgreParticleAffectorFactory_8h-source.html">OgreParticleAffectorFactory.h</a></ul> <p> Copyright © 2002-2003 by The OGRE Team<br /> Last modified Wed Jan 21 00:18:53 2004 </p> </body> </html>