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


Abstract class defining the interface to be implemented by creators of \mbox{\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}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_particle_affector_factory_adefcc5659fbddb67e72ece498003500c}{Particle\+Affector\+Factory}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_particle_affector_factory_ae030407c3bc3e4cdc997f58f000278ea}{$\sim$\+Particle\+Affector\+Factory}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_particle_affector_factory_a7989506f2f5452593f0a377c06d2f61f}{create\+Affector}} (\mbox{\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 \mbox{\hyperlink{class_ogre_1_1_particle_affector_factory_a073f267f4efff156cac2d0a2ef40f7dd}{destroy\+Affector}} (\mbox{\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 \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\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}


\doxysubsection{Detailed Description}
Abstract class defining the interface to be implemented by creators of \mbox{\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 \mbox{\hyperlink{namespace_ogre}{Ogre}} by creating subclasses of the \mbox{\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}{}
\mbox{\hyperlink{class_ogre_1_1_particle_affector_factory}{Particle\+Affector\+Factory}} subclasses must allow the creation and destruction of \mbox{\hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector}} 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{}force\+\_\+vector\textquotesingle{}, \textquotesingle{}attractor\textquotesingle{}, or \textquotesingle{}fader\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_affector_factory_adefcc5659fbddb67e72ece498003500c}\label{class_ogre_1_1_particle_affector_factory_adefcc5659fbddb67e72ece498003500c}} 
\index{Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}!ParticleAffectorFactory@{ParticleAffectorFactory}}
\index{ParticleAffectorFactory@{ParticleAffectorFactory}!Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}}
\doxysubsubsection{\texorpdfstring{ParticleAffectorFactory()}{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::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}!````~ParticleAffectorFactory@{$\sim$ParticleAffectorFactory}}
\index{````~ParticleAffectorFactory@{$\sim$ParticleAffectorFactory}!Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}}
\doxysubsubsection{\texorpdfstring{$\sim$ParticleAffectorFactory()}{~ParticleAffectorFactory()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Particle\+Affector\+Factory\+::$\sim$\+Particle\+Affector\+Factory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_particle_affector_factory_a6315b2c094791ee6c6cdddc9c435cdec}\label{class_ogre_1_1_particle_affector_factory_a6315b2c094791ee6c6cdddc9c435cdec}} 
\index{Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}!getName@{getName}}
\index{getName@{getName}!Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}}
\doxysubsubsection{\texorpdfstring{getName()}{getName()}}
{\footnotesize\ttfamily virtual \mbox{\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::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}!createAffector@{createAffector}}
\index{createAffector@{createAffector}!Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}}
\doxysubsubsection{\texorpdfstring{createAffector()}{createAffector()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{class_ogre_1_1_particle_affector}{Particle\+Affector}}$\ast$ Ogre\+::\+Particle\+Affector\+Factory\+::create\+Affector (\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 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::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}!destroyAffector@{destroyAffector}}
\index{destroyAffector@{destroyAffector}!Ogre::ParticleAffectorFactory@{Ogre::ParticleAffectorFactory}}
\doxysubsubsection{\texorpdfstring{destroyAffector()}{destroyAffector()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Particle\+Affector\+Factory\+::destroy\+Affector (\begin{DoxyParamCaption}\item[{\mbox{\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 
\mbox{\hyperlink{_ogre_particle_affector_factory_8h}{Ogre\+Particle\+Affector\+Factory.\+h}}\end{DoxyCompactItemize}
