<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.3.6 --> <div class="qindex"><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">Class 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">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <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,5,477,23" alt=""> <area href="classOgre_1_1ColourFaderAffectorFactory2.html" shape="rect" coords="264,47,480,66" alt=""> <area href="classOgre_1_1ColourImageAffectorFactory.html" shape="rect" coords="267,90,477,109" alt=""> <area href="classOgre_1_1ColourInterpolatorAffectorFactory.html" shape="rect" coords="251,133,493,151" alt=""> <area href="classOgre_1_1LinearForceAffectorFactory.html" shape="rect" coords="268,175,476,194" alt=""> <area href="classOgre_1_1RotationAffectorFactory.html" shape="rect" coords="280,218,464,237" alt=""> <area href="classOgre_1_1ScaleAffectorFactory.html" shape="rect" coords="287,261,457,279" 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></td></tr> <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya0">ParticleAffectorFactory</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya1">~ParticleAffectorFactory</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="namespaceOgre.html#a426">String</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya2">getName</a> () const=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the name of the factory, the name which identifies the particle affector type this factory creates. <a href="#Ogre_1_1ParticleAffectorFactorya2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ParticleAffectorFactorya3">createAffector</a> (<a class="el" href="classOgre_1_1ParticleSystem.html">ParticleSystem</a> *psys)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new affector instance. <a href="#Ogre_1_1ParticleAffectorFactorya3"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" 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 class="mdescLeft"> </td><td class="mdescRight">Destroys the affector pointed to by the parameter (for early clean up if reauired). <a href="#Ogre_1_1ScaleAffectorFactorya0"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryp0">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></dt><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. </dd></dl> <dl compact><dt><b></b></dt><dd><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. </dd></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 class="anchor" name="Ogre_1_1ParticleAffectorFactorya0" doxytag="Ogre::ParticleAffectorFactory::ParticleAffectorFactory" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <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 class="anchor" name="Ogre_1_1ParticleAffectorFactorya1" doxytag="Ogre::ParticleAffectorFactory::~ParticleAffectorFactory" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual Ogre::ParticleAffectorFactory::~<a class="el" href="classOgre_1_1ParticleAffectorFactory.html">ParticleAffectorFactory</a> </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> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="Ogre_1_1ParticleAffectorFactorya3" doxytag="Ogre::ParticleAffectorFactory::createAffector" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <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"><a class="el" href="classOgre_1_1ParticleSystem.html">ParticleSystem</a> * </td> <td class="mdname1" valign="top" nowrap> <em>psys</em> </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></dt><dd>The subclass MUST add a pointer to the created instance to mAffectors. </dd></dl> <p> Implemented in <a class="el" href="classOgre_1_1ColourFaderAffectorFactory.html#Ogre_1_1ColourFaderAffectorFactoryd1">Ogre::ColourFaderAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourFaderAffectorFactory2.html#Ogre_1_1ColourFaderAffectorFactory2d1">Ogre::ColourFaderAffectorFactory2</a>, <a class="el" href="classOgre_1_1ColourImageAffectorFactory.html#Ogre_1_1ColourImageAffectorFactoryd1">Ogre::ColourImageAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourInterpolatorAffectorFactory.html#Ogre_1_1ColourInterpolatorAffectorFactoryd1">Ogre::ColourInterpolatorAffectorFactory</a>, <a class="el" href="classOgre_1_1LinearForceAffectorFactory.html#Ogre_1_1LinearForceAffectorFactoryd1">Ogre::LinearForceAffectorFactory</a>, <a class="el" href="classOgre_1_1RotationAffectorFactory.html#Ogre_1_1RotationAffectorFactoryd1">Ogre::RotationAffectorFactory</a>, and <a class="el" href="classOgre_1_1ScaleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryd1">Ogre::ScaleAffectorFactory</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1ScaleAffectorFactorya0" doxytag="Ogre::ParticleAffectorFactory::destroyAffector" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <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> </td> </tr> </table> <a class="anchor" name="Ogre_1_1ParticleAffectorFactorya2" doxytag="Ogre::ParticleAffectorFactory::getName" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a426">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_1ColourFaderAffectorFactoryd0">Ogre::ColourFaderAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourFaderAffectorFactory2.html#Ogre_1_1ColourFaderAffectorFactory2d0">Ogre::ColourFaderAffectorFactory2</a>, <a class="el" href="classOgre_1_1ColourImageAffectorFactory.html#Ogre_1_1ColourImageAffectorFactoryd0">Ogre::ColourImageAffectorFactory</a>, <a class="el" href="classOgre_1_1ColourInterpolatorAffectorFactory.html#Ogre_1_1ColourInterpolatorAffectorFactoryd0">Ogre::ColourInterpolatorAffectorFactory</a>, <a class="el" href="classOgre_1_1LinearForceAffectorFactory.html#Ogre_1_1LinearForceAffectorFactoryd0">Ogre::LinearForceAffectorFactory</a>, <a class="el" href="classOgre_1_1RotationAffectorFactory.html#Ogre_1_1RotationAffectorFactoryd0">Ogre::RotationAffectorFactory</a>, and <a class="el" href="classOgre_1_1ScaleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryd0">Ogre::ScaleAffectorFactory</a>. </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="Ogre_1_1ScaleAffectorFactoryp0" doxytag="Ogre::ParticleAffectorFactory::mAffectors" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <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>*> <a class="el" href="classOgre_1_1ParticleAffectorFactory.html#Ogre_1_1ScaleAffectorFactoryp0">Ogre::ParticleAffectorFactory::mAffectors</a><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 © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:21:30 2005 </p> </body> </html>