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


Abstract factory class.  




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_ogre_1_1_factory_obj_aaebb437ff1300951ba83071c7a998725}{$\sim$\+Factory\+Obj} ()
\item 
virtual T $\ast$ \hyperlink{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}{create\+Instance} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)=0
\begin{DoxyCompactList}\small\item\em Creates a new object. \end{DoxyCompactList}\item 
virtual void \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 \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \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}


\subsection{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. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_factory_obj_a3d8aef92fb9e0eac7ed41167fb686a10}\label{class_ogre_1_1_factory_obj_a3d8aef92fb9e0eac7ed41167fb686a10}} 
\index{Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}!get\+Type@{get\+Type}}
\index{get\+Type@{get\+Type}!Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}}
\subsubsection{\texorpdfstring{get\+Type()}{getType()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& \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 \hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_a0bac6edae8d172f997a3a6d9ac4adb2e}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}, \hyperlink{class_ogre_1_1_a_p_k_file_system_archive_factory_a9654b843fa2ea996172993c389ce6f3a}{Ogre\+::\+A\+P\+K\+File\+System\+Archive\+Factory}, \hyperlink{class_ogre_1_1_embedded_zip_archive_factory_aad4203d69a8382413bd74530318edee3}{Ogre\+::\+Embedded\+Zip\+Archive\+Factory}, \hyperlink{class_ogre_1_1_zip_archive_factory_a41f9f9e4204c07c26d4d685d1d41a18c}{Ogre\+::\+Zip\+Archive\+Factory}, and \hyperlink{class_ogre_1_1_file_system_archive_factory_a0aa13f124f25755334dcc35a28076ce1}{Ogre\+::\+File\+System\+Archive\+Factory}.



Referenced by Ogre\+::\+Factory\+Obj$<$ Particle\+System\+Renderer $>$\+::$\sim$\+Factory\+Obj().

\mbox{\Hypertarget{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}\label{class_ogre_1_1_factory_obj_a0a4a382d89b01a0c24e27b02af71153a}} 
\index{Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}!create\+Instance@{create\+Instance}}
\index{create\+Instance@{create\+Instance}!Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}}
\subsubsection{\texorpdfstring{create\+Instance()}{createInstance()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual T$\ast$ \hyperlink{class_ogre_1_1_factory_obj}{Ogre\+::\+Factory\+Obj}$<$ T $>$\+::create\+Instance (\begin{DoxyParamCaption}\item[{const \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 \hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_abcd075e9f79664278929eae4fd3e5793}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}, and \hyperlink{class_ogre_1_1_archive_factory_a29c98713d1e9463bc3ab19d17be5635c}{Ogre\+::\+Archive\+Factory}.



Referenced by Ogre\+::\+Factory\+Obj$<$ Particle\+System\+Renderer $>$\+::$\sim$\+Factory\+Obj().

\mbox{\Hypertarget{class_ogre_1_1_factory_obj_adb934021afa323e7867bd3b52dffe1cc}\label{class_ogre_1_1_factory_obj_adb934021afa323e7867bd3b52dffe1cc}} 
\index{Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}!destroy\+Instance@{destroy\+Instance}}
\index{destroy\+Instance@{destroy\+Instance}!Ogre\+::\+Factory\+Obj@{Ogre\+::\+Factory\+Obj}}
\subsubsection{\texorpdfstring{destroy\+Instance()}{destroyInstance()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
virtual void \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 \hyperlink{class_ogre_1_1_billboard_particle_renderer_factory_aafabf4d4db170f067a2c5a54e0477372}{Ogre\+::\+Billboard\+Particle\+Renderer\+Factory}, \hyperlink{class_ogre_1_1_a_p_k_file_system_archive_factory_ab0ebdeda7a7d199507fb11d3ca191d71}{Ogre\+::\+A\+P\+K\+File\+System\+Archive\+Factory}, \hyperlink{class_ogre_1_1_zip_archive_factory_a84f0bbc7ca53b6e525a9a774a03341fe}{Ogre\+::\+Zip\+Archive\+Factory}, and \hyperlink{class_ogre_1_1_file_system_archive_factory_a1eb9e2ef1abd9aa441091438c44daef4}{Ogre\+::\+File\+System\+Archive\+Factory}.



Referenced by Ogre\+::\+Factory\+Obj$<$ Particle\+System\+Renderer $>$\+::$\sim$\+Factory\+Obj().



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