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


Abstract class defining the interface to be implemented by creators of \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}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}{Particle\+Emitter\+Factory} ()
\item 
virtual \hyperlink{class_ogre_1_1_particle_emitter_factory_ae60c102ff4c406309b4fd0b03af61f48}{$\sim$\+Particle\+Emitter\+Factory} ()
\item 
virtual \hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter} $\ast$ \hyperlink{class_ogre_1_1_particle_emitter_factory_ad724bb97fa00667c2bc6056631991f82}{create\+Emitter} (\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 \hyperlink{class_ogre_1_1_particle_emitter_factory_adc0b5ab2657292efbdb4bc6e6e6a2462}{destroy\+Emitter} (\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 \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \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}


\subsection{Detailed Description}
Abstract class defining the interface to be implemented by creators of \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 \hyperlink{namespace_ogre}{Ogre} by creating subclasses of the \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}{}
\hyperlink{class_ogre_1_1_particle_emitter_factory}{Particle\+Emitter\+Factory} subclasses must allow the creation and destruction of \hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter} subclasses. They must also be registered with the \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}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}\label{class_ogre_1_1_particle_emitter_factory_ae7d84a60ac62a0ee941b690cb6c13ea1}} 
\index{Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}!Particle\+Emitter\+Factory@{Particle\+Emitter\+Factory}}
\index{Particle\+Emitter\+Factory@{Particle\+Emitter\+Factory}!Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}}
\subsubsection{\texorpdfstring{Particle\+Emitter\+Factory()}{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\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}!````~Particle\+Emitter\+Factory@{$\sim$\+Particle\+Emitter\+Factory}}
\index{````~Particle\+Emitter\+Factory@{$\sim$\+Particle\+Emitter\+Factory}!Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}}
\subsubsection{\texorpdfstring{$\sim$\+Particle\+Emitter\+Factory()}{~ParticleEmitterFactory()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Particle\+Emitter\+Factory\+::$\sim$\+Particle\+Emitter\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_emitter_factory_a81999da1779cbe5e0ff478f97d021fe2}\label{class_ogre_1_1_particle_emitter_factory_a81999da1779cbe5e0ff478f97d021fe2}} 
\index{Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily virtual \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 \hyperlink{class_ogre_1_1_cylinder_emitter_factory_a07a5ebdc795ad762276559318bd910e6}{Ogre\+::\+Cylinder\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_ellipsoid_emitter_factory_a910cdd2bbbdd37e379d9cf596538ecab}{Ogre\+::\+Ellipsoid\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_hollow_ellipsoid_emitter_factory_ae7e462bb537bbd1e075d9b05d8a65fc7}{Ogre\+::\+Hollow\+Ellipsoid\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_ring_emitter_factory_a8ff6dc4038b3c8dfb646049f64c13d4f}{Ogre\+::\+Ring\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_box_emitter_factory_ad33e2059833cbe4240ed9d9cbade9eab}{Ogre\+::\+Box\+Emitter\+Factory}, and \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\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}!create\+Emitter@{create\+Emitter}}
\index{create\+Emitter@{create\+Emitter}!Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}}
\subsubsection{\texorpdfstring{create\+Emitter()}{createEmitter()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_particle_emitter}{Particle\+Emitter}$\ast$ Ogre\+::\+Particle\+Emitter\+Factory\+::create\+Emitter (\begin{DoxyParamCaption}\item[{\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 \hyperlink{class_ogre_1_1_cylinder_emitter_factory_af8892d44f424a42a2c317b6c20202c2c}{Ogre\+::\+Cylinder\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_ellipsoid_emitter_factory_a31306cb9ce96ba953129ebb23caf5024}{Ogre\+::\+Ellipsoid\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_hollow_ellipsoid_emitter_factory_a0a150f462944dcacb8ad2696b1e3220e}{Ogre\+::\+Hollow\+Ellipsoid\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_ring_emitter_factory_add020512c1bc26113414c3af7277afa8}{Ogre\+::\+Ring\+Emitter\+Factory}, \hyperlink{class_ogre_1_1_box_emitter_factory_a2bfbaa5182b1c8c531cd9ef8c53c2555}{Ogre\+::\+Box\+Emitter\+Factory}, and \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\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}!destroy\+Emitter@{destroy\+Emitter}}
\index{destroy\+Emitter@{destroy\+Emitter}!Ogre\+::\+Particle\+Emitter\+Factory@{Ogre\+::\+Particle\+Emitter\+Factory}}
\subsubsection{\texorpdfstring{destroy\+Emitter()}{destroyEmitter()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Particle\+Emitter\+Factory\+::destroy\+Emitter (\begin{DoxyParamCaption}\item[{\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 
\hyperlink{_ogre_particle_emitter_factory_8h}{Ogre\+Particle\+Emitter\+Factory.\+h}\end{DoxyCompactItemize}
