\hypertarget{class_ogre_1_1_factory_obj}{}\doxysection{Ogre\+::Factory\+Obj$<$ T $>$ Class Template Reference}
\label{class_ogre_1_1_factory_obj}\index{Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}}


Abstract factory class.  




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

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_factory_obj_aaebb437ff1300951ba83071c7a998725}{$\sim$\+Factory\+Obj}} ()
\item 
virtual T $\ast$ \mbox{\hyperlink{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}{create\+Instance}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name)=0
\begin{DoxyCompactList}\small\item\em Creates a new object. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_factory_obj_adb934021afa323e7867bd3b52dffe1cc}{destroy\+Instance}} (T $\ast$ptr)=0
\begin{DoxyCompactList}\small\item\em Destroys an object which was created by this factory. \end{DoxyCompactList}\item 
virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \& \mbox{\hyperlink{class_ogre_1_1_factory_obj_a3d8aef92fb9e0eac7ed41167fb686a10}{get\+Type}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the factory type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Ogre\+::\+Factory\+Obj$<$ T $>$}

Abstract factory class. 

Does nothing by itself, but derived classes can add functionality. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_factory_obj_aaebb437ff1300951ba83071c7a998725}\label{class_ogre_1_1_factory_obj_aaebb437ff1300951ba83071c7a998725}} 
\index{Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}!````~FactoryObj@{$\sim$FactoryObj}}
\index{````~FactoryObj@{$\sim$FactoryObj}!Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$FactoryObj()}{~FactoryObj()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual \mbox{\hyperlink{class_ogre_1_1_factory_obj}{Ogre\+::\+Factory\+Obj}}$<$ T $>$\+::$\sim$\mbox{\hyperlink{class_ogre_1_1_factory_obj}{Factory\+Obj}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_factory_obj_a3d8aef92fb9e0eac7ed41167fb686a10}\label{class_ogre_1_1_factory_obj_a3d8aef92fb9e0eac7ed41167fb686a10}} 
\index{Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}!getType@{getType}}
\index{getType@{getType}!Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}\& \mbox{\hyperlink{class_ogre_1_1_factory_obj}{Ogre\+::\+Factory\+Obj}}$<$ T $>$\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the factory type. 

\begin{DoxyReturn}{Returns}
The factory type. 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{class_ogre_1_1_a_p_k_file_system_archive_factory_a9654b843fa2ea996172993c389ce6f3a}{Ogre\+::\+A\+P\+K\+File\+System\+Archive\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_embedded_zip_archive_factory_aad4203d69a8382413bd74530318edee3}{Ogre\+::\+Embedded\+Zip\+Archive\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_zip_archive_factory_a41f9f9e4204c07c26d4d685d1d41a18c}{Ogre\+::\+Zip\+Archive\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_file_system_archive_factory_a0aa13f124f25755334dcc35a28076ce1}{Ogre\+::\+File\+System\+Archive\+Factory}}, and \mbox{\hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_a0bac6edae8d172f997a3a6d9ac4adb2e}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}}.

\mbox{\Hypertarget{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}\label{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}} 
\index{Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}!createInstance@{createInstance}}
\index{createInstance@{createInstance}!Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{createInstance()}{createInstance()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual T$\ast$ \mbox{\hyperlink{class_ogre_1_1_factory_obj}{Ogre\+::\+Factory\+Obj}}$<$ T $>$\+::create\+Instance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Creates a new object. 


\begin{DoxyParams}{Parameters}
{\em name} & Name of the object to create \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An object created by the factory. The type of the object depends on the factory. 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{class_ogre_1_1_archive_factory_a29c98713d1e9463bc3ab19d17be5635c}{Ogre\+::\+Archive\+Factory}}, and \mbox{\hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_abcd075e9f79664278929eae4fd3e5793}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}}.

\mbox{\Hypertarget{class_ogre_1_1_factory_obj_adb934021afa323e7867bd3b52dffe1cc}\label{class_ogre_1_1_factory_obj_adb934021afa323e7867bd3b52dffe1cc}} 
\index{Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}!destroyInstance@{destroyInstance}}
\index{destroyInstance@{destroyInstance}!Ogre::FactoryObj$<$ T $>$@{Ogre::FactoryObj$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{destroyInstance()}{destroyInstance()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual void \mbox{\hyperlink{class_ogre_1_1_factory_obj}{Ogre\+::\+Factory\+Obj}}$<$ T $>$\+::destroy\+Instance (\begin{DoxyParamCaption}\item[{T $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Destroys an object which was created by this factory. 


\begin{DoxyParams}{Parameters}
{\em ptr} & Pointer to the object to destroy \\
\hline
\end{DoxyParams}


Implemented in \mbox{\hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_aafabf4d4db170f067a2c5a54e0477372}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_a_p_k_file_system_archive_factory_ab0ebdeda7a7d199507fb11d3ca191d71}{Ogre\+::\+A\+P\+K\+File\+System\+Archive\+Factory}}, \mbox{\hyperlink{class_ogre_1_1_zip_archive_factory_a84f0bbc7ca53b6e525a9a774a03341fe}{Ogre\+::\+Zip\+Archive\+Factory}}, and \mbox{\hyperlink{class_ogre_1_1_file_system_archive_factory_a1eb9e2ef1abd9aa441091438c44daef4}{Ogre\+::\+File\+System\+Archive\+Factory}}.



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