\hypertarget{class_ogre_1_1_particle_affector_factory}{}\section{Ogre\+:\+:Particle\+Affector\+Factory Class Reference}
\label{class_ogre_1_1_particle_affector_factory}\index{Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}}


Abstract class defining the interface to be implemented by creators of \hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} subclasses.  




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



Inheritance diagram for Ogre\+:\+:Particle\+Affector\+Factory\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_particle_affector_factory__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_particle_affector_factory_adefcc5659fbddb67e72ece498003500c}{Particle\+Affector\+Factory} ()
\item 
virtual \hyperlink{class_ogre_1_1_particle_affector_factory_ae030407c3bc3e4cdc997f58f000278ea}{$\sim$\+Particle\+Affector\+Factory} ()
\item 
virtual \hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} $\ast$ \hyperlink{class_ogre_1_1_particle_affector_factory_a7989506f2f5452593f0a377c06d2f61f}{create\+Affector} (\hyperlink{class_ogre_1_1_particle_system}{Particle\+System} $\ast$psys)=0
\begin{DoxyCompactList}\small\item\em Creates a new affector instance. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_particle_affector_factory_a073f267f4efff156cac2d0a2ef40f7dd}{destroy\+Affector} (\hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} $\ast$e)
\begin{DoxyCompactList}\small\item\em Destroys the affector 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_affector_factory_a6315b2c094791ee6c6cdddc9c435cdec}{get\+Name} () const =0
\begin{DoxyCompactList}\small\item\em Returns the name of the factory, the name which identifies the particle affector 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_affector}{Particle\+Affector} subclasses. 

\begin{DoxyRemark}{Remarks}
Plugins or 3rd party applications can add new types of particle affectors to \hyperlink{namespace_ogre}{Ogre} by creating subclasses of the \hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} class. Because multiple instances of these affectors may be required, a factory class to manage the instances is also required. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
\hyperlink{class_ogre_1_1_particle_affector_factory}{Particle\+Affector\+Factory} subclasses must allow the creation and destruction of \hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} 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{}force\+\_\+vector\textquotesingle{}, \textquotesingle{}attractor\textquotesingle{}, or \textquotesingle{}fader\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_affector_factory_adefcc5659fbddb67e72ece498003500c}\label{class_ogre_1_1_particle_affector_factory_adefcc5659fbddb67e72ece498003500c}} 
\index{Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}!Particle\+Affector\+Factory@{Particle\+Affector\+Factory}}
\index{Particle\+Affector\+Factory@{Particle\+Affector\+Factory}!Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}}
\subsubsection{\texorpdfstring{Particle\+Affector\+Factory()}{ParticleAffectorFactory()}}
{\footnotesize\ttfamily Ogre\+::\+Particle\+Affector\+Factory\+::\+Particle\+Affector\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_affector_factory_a6315b2c094791ee6c6cdddc9c435cdec}\label{class_ogre_1_1_particle_affector_factory_a6315b2c094791ee6c6cdddc9c435cdec}} 
\index{Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+Particle\+Affector\+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 affector type this factory creates. 

\mbox{\Hypertarget{class_ogre_1_1_particle_affector_factory_a7989506f2f5452593f0a377c06d2f61f}\label{class_ogre_1_1_particle_affector_factory_a7989506f2f5452593f0a377c06d2f61f}} 
\index{Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}!create\+Affector@{create\+Affector}}
\index{create\+Affector@{create\+Affector}!Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}}
\subsubsection{\texorpdfstring{create\+Affector()}{createAffector()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector}$\ast$ Ogre\+::\+Particle\+Affector\+Factory\+::create\+Affector (\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 affector instance. 

\begin{DoxyRemark}{Remarks}
The subclass M\+U\+ST add a pointer to the created instance to m\+Affectors. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_particle_affector_factory_a073f267f4efff156cac2d0a2ef40f7dd}\label{class_ogre_1_1_particle_affector_factory_a073f267f4efff156cac2d0a2ef40f7dd}} 
\index{Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}!destroy\+Affector@{destroy\+Affector}}
\index{destroy\+Affector@{destroy\+Affector}!Ogre\+::\+Particle\+Affector\+Factory@{Ogre\+::\+Particle\+Affector\+Factory}}
\subsubsection{\texorpdfstring{destroy\+Affector()}{destroyAffector()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Particle\+Affector\+Factory\+::destroy\+Affector (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector} $\ast$}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Destroys the affector 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_affector_factory_8h}{Ogre\+Particle\+Affector\+Factory.\+h}\end{DoxyCompactItemize}
