<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.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::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,5,437,24" alt=""> <area href="classOgre_1_1CylinderEmitterFactory.html" shape="rect" coords="267,48,451,67" alt=""> <area href="classOgre_1_1EllipsoidEmitterFactory.html" shape="rect" coords="267,91,451,109" alt=""> <area href="classOgre_1_1HollowEllipsoidEmitterFactory.html" shape="rect" coords="247,133,471,152" alt=""> <area href="classOgre_1_1PointEmitterFactory.html" shape="rect" coords="276,176,441,195" alt=""> <area href="classOgre_1_1RingEmitterFactory.html" shape="rect" coords="279,219,439,237" 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></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_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya0">ParticleEmitterFactory</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_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya1">~ParticleEmitterFactory</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_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya2">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 emitter type this factory creates. <a href="#Ogre_1_1ParticleEmitterFactorya2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1ParticleEmitterFactorya3">createEmitter</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 emitter instance. <a href="#Ogre_1_1ParticleEmitterFactorya3"></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_1ParticleEmitterFactory.html#Ogre_1_1RingEmitterFactorya2">destroyEmitter</a> (<a class="el" href="classOgre_1_1ParticleEmitter.html">ParticleEmitter</a> *e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys the emitter pointed to by the parameter (for early clean up if reauired). <a href="#Ogre_1_1RingEmitterFactorya2"></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_1ParticleEmitter.html">ParticleEmitter</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1RingEmitterFactoryp0">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></dt><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. </dd></dl> <dl compact><dt><b></b></dt><dd><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. </dd></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 class="anchor" name="Ogre_1_1ParticleEmitterFactorya0" doxytag="Ogre::ParticleEmitterFactory::ParticleEmitterFactory" ></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::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 class="anchor" name="Ogre_1_1ParticleEmitterFactorya1" doxytag="Ogre::ParticleEmitterFactory::~ParticleEmitterFactory" ></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::ParticleEmitterFactory::~<a class="el" href="classOgre_1_1ParticleEmitterFactory.html">ParticleEmitterFactory</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_1ParticleEmitterFactorya3" doxytag="Ogre::ParticleEmitterFactory::createEmitter" ></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_1ParticleEmitter.html">ParticleEmitter</a>* Ogre::ParticleEmitterFactory::createEmitter </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 emitter instance. <p> <dl compact><dt><b>Remarks:</b></dt><dd>The subclass MUST add a pointer to the created instance to mEmitters. </dd></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 class="anchor" name="Ogre_1_1RingEmitterFactorya2" doxytag="Ogre::ParticleEmitterFactory::destroyEmitter" ></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::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> </td> </tr> </table> <a class="anchor" name="Ogre_1_1ParticleEmitterFactorya2" doxytag="Ogre::ParticleEmitterFactory::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::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>. </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="Ogre_1_1RingEmitterFactoryp0" doxytag="Ogre::ParticleEmitterFactory::mEmitters" ></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_1ParticleEmitter.html">ParticleEmitter</a>*> <a class="el" href="classOgre_1_1ParticleEmitterFactory.html#Ogre_1_1RingEmitterFactoryp0">Ogre::ParticleEmitterFactory::mEmitters</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="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 © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:21:34 2005 </p> </body> </html>