\hypertarget{class_ogre_1_1_particle_emitter_factory}{}\doxysection{Ogre\+::Particle\+Emitter\+Factory Class Reference}
\label{class_ogre_1_1_particle_emitter_factory}\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}


Abstract class defining the interface to be implemented by creators of \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} subclasses.  




{\ttfamily \#include $<$Ogre\+Particle\+Emitter\+Factory.\+h$>$}



Inheritance diagram for Ogre\+::Particle\+Emitter\+Factory\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_particle_emitter_factory__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}{Particle\+Emitter\+Factory}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory_ae60c102ff4c406309b4fd0b03af61f48}{$\sim$\+Particle\+Emitter\+Factory}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory_ad724bb97fa00667c2bc6056631991f82}{create\+Emitter}} (\mbox{\hyperlink{class_ogre_1_1_particle_system}{Particle\+System}} $\ast$psys)=0
\begin{DoxyCompactList}\small\item\em Creates a new emitter instance. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory_adc0b5ab2657292efbdb4bc6e6e6a2462}{destroy\+Emitter}} (\mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Destroys the emitter pointed to by the parameter (for early clean up if required). \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory_a81999da1779cbe5e0ff478f97d021fe2}{get\+Name}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the name of the factory, the name which identifies the particle emitter type this factory creates. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Abstract class defining the interface to be implemented by creators of \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} subclasses. 

\begin{DoxyRemark}{Remarks}
Plugins or 3rd party applications can add new types of particle emitters to \mbox{\hyperlink{namespace_ogre}{Ogre}} by creating subclasses of the \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} class. Because multiple instances of these emitters may be required, a factory class to manage the instances is also required. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
\mbox{\hyperlink{class_ogre_1_1_particle_emitter_factory}{Particle\+Emitter\+Factory}} subclasses must allow the creation and destruction of \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} subclasses. They must also be registered with the \mbox{\hyperlink{class_ogre_1_1_particle_system_manager}{Particle\+System\+Manager}}. All factories have a name which identifies them, examples might be \textquotesingle{}point\textquotesingle{}, \textquotesingle{}cone\textquotesingle{}, or \textquotesingle{}box\textquotesingle{}, and these can be also be used from particle system scripts. 
\end{DoxyParagraph}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}\label{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}} 
\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}!ParticleEmitterFactory@{ParticleEmitterFactory}}
\index{ParticleEmitterFactory@{ParticleEmitterFactory}!Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}
\doxysubsubsection{\texorpdfstring{ParticleEmitterFactory()}{ParticleEmitterFactory()}}
{\footnotesize\ttfamily Ogre\+::\+Particle\+Emitter\+Factory\+::\+Particle\+Emitter\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_ae60c102ff4c406309b4fd0b03af61f48}\label{class_ogre_1_1_particle_emitter_factory_ae60c102ff4c406309b4fd0b03af61f48}} 
\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}!````~ParticleEmitterFactory@{$\sim$ParticleEmitterFactory}}
\index{````~ParticleEmitterFactory@{$\sim$ParticleEmitterFactory}!Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}
\doxysubsubsection{\texorpdfstring{$\sim$ParticleEmitterFactory()}{~ParticleEmitterFactory()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Particle\+Emitter\+Factory\+::$\sim$\+Particle\+Emitter\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_a81999da1779cbe5e0ff478f97d021fe2}\label{class_ogre_1_1_particle_emitter_factory_a81999da1779cbe5e0ff478f97d021fe2}} 
\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}!getName@{getName}}
\index{getName@{getName}!Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}
\doxysubsubsection{\texorpdfstring{getName()}{getName()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+Particle\+Emitter\+Factory\+::get\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the name of the factory, the name which identifies the particle emitter type this factory creates. 



Implemented in \mbox{\hyperlink{class_ogre_1_1_cylinder_emitter_factory_a07a5ebdc795ad762276559318bd910e6}{Ogre\+::\+Cylinder\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_ellipsoid_emitter_factory_a910cdd2bbbdd37e379d9cf596538ecab}{Ogre\+::\+Ellipsoid\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_hollow_ellipsoid_emitter_factory_ae7e462bb537bbd1e075d9b05d8a65fc7}{Ogre\+::\+Hollow\+Ellipsoid\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_ring_emitter_factory_a8ff6dc4038b3c8dfb646049f64c13d4f}{Ogre\+::\+Ring\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_box_emitter_factory_ad33e2059833cbe4240ed9d9cbade9eab}{Ogre\+::\+Box\+Emitter\+Factory}}, and \mbox{\hyperlink{class_ogre_1_1_point_emitter_factory_a277279ebb247a8970e00620e10e3ceea}{Ogre\+::\+Point\+Emitter\+Factory}}.

\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_ad724bb97fa00667c2bc6056631991f82}\label{class_ogre_1_1_particle_emitter_factory_ad724bb97fa00667c2bc6056631991f82}} 
\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}!createEmitter@{createEmitter}}
\index{createEmitter@{createEmitter}!Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}
\doxysubsubsection{\texorpdfstring{createEmitter()}{createEmitter()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}}$\ast$ Ogre\+::\+Particle\+Emitter\+Factory\+::create\+Emitter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_particle_system}{Particle\+System}} $\ast$}]{psys }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Creates a new emitter instance. 

\begin{DoxyRemark}{Remarks}
The subclass M\+U\+ST add a pointer to the created instance to m\+Emitters. 
\end{DoxyRemark}


Implemented in \mbox{\hyperlink{class_ogre_1_1_cylinder_emitter_factory_af8892d44f424a42a2c317b6c20202c2c}{Ogre\+::\+Cylinder\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_ellipsoid_emitter_factory_a31306cb9ce96ba953129ebb23caf5024}{Ogre\+::\+Ellipsoid\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_hollow_ellipsoid_emitter_factory_a0a150f462944dcacb8ad2696b1e3220e}{Ogre\+::\+Hollow\+Ellipsoid\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_ring_emitter_factory_add020512c1bc26113414c3af7277afa8}{Ogre\+::\+Ring\+Emitter\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_box_emitter_factory_a2bfbaa5182b1c8c531cd9ef8c53c2555}{Ogre\+::\+Box\+Emitter\+Factory}}, and \mbox{\hyperlink{class_ogre_1_1_point_emitter_factory_af1909aaba1cd04a10a364779fe22d5d6}{Ogre\+::\+Point\+Emitter\+Factory}}.

\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_adc0b5ab2657292efbdb4bc6e6e6a2462}\label{class_ogre_1_1_particle_emitter_factory_adc0b5ab2657292efbdb4bc6e6e6a2462}} 
\index{Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}!destroyEmitter@{destroyEmitter}}
\index{destroyEmitter@{destroyEmitter}!Ogre::ParticleEmitterFactory@{Ogre::ParticleEmitterFactory}}
\doxysubsubsection{\texorpdfstring{destroyEmitter()}{destroyEmitter()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Particle\+Emitter\+Factory\+::destroy\+Emitter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}} $\ast$}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Destroys the emitter pointed to by the parameter (for early clean up if required). 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_particle_emitter_factory_8h}{Ogre\+Particle\+Emitter\+Factory.\+h}}\end{DoxyCompactItemize}
