<html> <head> <title>Ogre::ParticleEmitterFactory 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::ParticleEmitterFactory Class Reference</h1>Abstract class defining the interface to be implemented by creators of <a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> subclasses. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>></code> <p> Inheritance diagram for Ogre::ParticleEmitterFactory:<p><center><img src="classOgre_1_1ParticleEmitterFactory__inherit__graph.png" border="0" usemap="#Ogre_1_1ParticleEmitterFactory__inherit__map" alt="Inheritance graph"></center> <map name="Ogre_1_1ParticleEmitterFactory__inherit__map"> <area href="classOgre_1_1BoxEmitterFactory.html" shape="rect" coords="280,24,437,5" alt=""> <area href="classOgre_1_1CylinderEmitterFactory.html" shape="rect" coords="267,67,451,48" alt=""> <area href="classOgre_1_1EllipsoidEmitterFactory.html" shape="rect" coords="267,109,451,91" alt=""> <area href="classOgre_1_1HollowEllipsoidEmitterFactory.html" shape="rect" coords="247,152,471,133" alt=""> <area href="classOgre_1_1PointEmitterFactory.html" shape="rect" coords="276,195,441,176" alt=""> <area href="classOgre_1_1RingEmitterFactory.html" shape="rect" coords="279,237,439,219" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1ParticleEmitterFactory-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_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya0">ParticleEmitterFactory</a> ()</td></tr> <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya1">~ParticleEmitterFactory</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_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya2">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 emitter type this factory creates.</em> <a href="#Ogre_1_1ParticleEmitterFactorya2"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> * </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya3">createEmitter</a> (void)=0</td></tr> <tr><td> </td><td><font size=-1><em>Creates a new emitter instance.</em> <a href="#Ogre_1_1ParticleEmitterFactorya3"></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_1ParticleEmitterFactory.html#Ogre_1_1RingEmitterFactorya2">destroyEmitter</a> (<a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> *e)</td></tr> <tr><td> </td><td><font size=-1><em>Destroys the emitter pointed to by the parameter (for early clean up if reauired).</em> <a href="#Ogre_1_1RingEmitterFactorya2"></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_1ParticleEmitter.html">ParticleEmitter</a> * > </td><td valign=bottom><a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1RingEmitterFactoryn0">mEmitters</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_1ParticleEmitter.html">ParticleEmitter</a> subclasses. <p> <dl compact><dt><b> Remarks: </b><dd> Plugins or 3rd party applications can add new types of particle emitters to <a class="el" href="namespaceOgre.html">Ogre</a> by creating subclasses of the <a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> class. Because multiple instances of these emitters may be required, a factory class to manage the instances is also required. <p> <a class="el" href="classOgre_1_1ParticleEmitterFactory.html">ParticleEmitterFactory</a> subclasses must allow the creation and destruction of <a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</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 'point', 'cone', or 'box', and these can be also be used from particle system scripts. </dl> <p> <p> Definition at line <a class="el" href="OgreParticleEmitterFactory_8h-source.html#l00046">46</a> of file <a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> <a name="Ogre_1_1ParticleEmitterFactorya0" doxytag="Ogre::ParticleEmitterFactory::ParticleEmitterFactory"></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::ParticleEmitterFactory::ParticleEmitterFactory </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="OgreParticleEmitterFactory_8h-source.html#l00051">51</a> of file <a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>. </td> </tr> </table> <a name="Ogre_1_1ParticleEmitterFactorya1" doxytag="Ogre::ParticleEmitterFactory::~ParticleEmitterFactory"></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::ParticleEmitterFactory::~ParticleEmitterFactory </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="OgreParticleEmitterFactory_8h-source.html#l00052">52</a> of file <a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>. </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="Ogre_1_1ParticleEmitterFactorya3" doxytag="Ogre::ParticleEmitterFactory::createEmitter"></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_1ParticleEmitter.html">ParticleEmitter</a>* Ogre::ParticleEmitterFactory::createEmitter </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 emitter instance. <p> <dl compact><dt><b> Remarks: </b><dd> The subclass MUST add a pointer to the created instance to mEmitters. </dl> <p> Implemented in <a class="el" href="classOgre_1_1BoxEmitterFactory.html#Ogre_1_1BoxEmitterFactorya1">Ogre::BoxEmitterFactory</a>, <a class="el" href="classOgre_1_1CylinderEmitterFactory.html#Ogre_1_1CylinderEmitterFactorya1">Ogre::CylinderEmitterFactory</a>, <a class="el" href="classOgre_1_1EllipsoidEmitterFactory.html#Ogre_1_1EllipsoidEmitterFactorya1">Ogre::EllipsoidEmitterFactory</a>, <a class="el" href="classOgre_1_1HollowEllipsoidEmitterFactory.html#Ogre_1_1HollowEllipsoidEmitterFactorya1">Ogre::HollowEllipsoidEmitterFactory</a>, <a class="el" href="classOgre_1_1PointEmitterFactory.html#Ogre_1_1PointEmitterFactorya1">Ogre::PointEmitterFactory</a>, and <a class="el" href="classOgre_1_1RingEmitterFactory.html#Ogre_1_1RingEmitterFactorya1">Ogre::RingEmitterFactory</a>. </td> </tr> </table> <a name="Ogre_1_1RingEmitterFactorya2" doxytag="Ogre::ParticleEmitterFactory::destroyEmitter"></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::ParticleEmitterFactory::destroyEmitter </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</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 emitter pointed to by the parameter (for early clean up if reauired). <p> <p> Definition at line <a class="el" href="OgreParticleEmitterFactory_8h-source.html#l00075">75</a> of file <a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>. </td> </tr> </table> <a name="Ogre_1_1ParticleEmitterFactorya2" doxytag="Ogre::ParticleEmitterFactory::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::ParticleEmitterFactory::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 emitter type this factory creates. <p> <p> Implemented in <a class="el" href="classOgre_1_1BoxEmitterFactory.html#Ogre_1_1BoxEmitterFactorya0">Ogre::BoxEmitterFactory</a>, <a class="el" href="classOgre_1_1CylinderEmitterFactory.html#Ogre_1_1CylinderEmitterFactorya0">Ogre::CylinderEmitterFactory</a>, <a class="el" href="classOgre_1_1EllipsoidEmitterFactory.html#Ogre_1_1EllipsoidEmitterFactorya0">Ogre::EllipsoidEmitterFactory</a>, <a class="el" href="classOgre_1_1HollowEllipsoidEmitterFactory.html#Ogre_1_1HollowEllipsoidEmitterFactorya0">Ogre::HollowEllipsoidEmitterFactory</a>, <a class="el" href="classOgre_1_1PointEmitterFactory.html#Ogre_1_1PointEmitterFactorya0">Ogre::PointEmitterFactory</a>, and <a class="el" href="classOgre_1_1RingEmitterFactory.html#Ogre_1_1RingEmitterFactorya0">Ogre::RingEmitterFactory</a>. <p> Referenced by <a class="el" href="OgreParticleSystemManager_8cpp-source.html#l00154">Ogre::ParticleSystemManager::addEmitterFactory</a>(). </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a name="Ogre_1_1RingEmitterFactoryn0" doxytag="Ogre::ParticleEmitterFactory::mEmitters"></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_1ParticleEmitter.html">ParticleEmitter</a>*> Ogre::ParticleEmitterFactory::mEmitters<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="OgreParticleEmitterFactory_8h-source.html#l00049">49</a> of file <a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="OgreParticleEmitterFactory_8h-source.html">OgreParticleEmitterFactory.h</a></ul> <p> Copyright © 2002-2003 by The OGRE Team<br /> Last modified Wed Jan 21 00:18:57 2004 </p> </body> </html>