\hypertarget{class_ogre_1_1_portal_base_factory}{}\section{Ogre\+:\+:Portal\+Base\+Factory Class Reference}
\label{class_ogre_1_1_portal_base_factory}\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}


Factory object for creating \hyperlink{class_ogre_1_1_portal}{Portal} instances.  




{\ttfamily \#include $<$Ogre\+Portal\+Base.\+h$>$}



Inheritance diagram for Ogre\+:\+:Portal\+Base\+Factory\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{class_ogre_1_1_portal_base_factory__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_ogre_1_1_movable_object_factory_aa23e112f39b565fa0b97e60e27014de3}{\+\_\+notify\+Type\+Flags} (\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32} flag)
\begin{DoxyCompactList}\small\item\em Notify this factory of the type mask to apply. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$ \hyperlink{class_ogre_1_1_movable_object_factory_a23f425e96487a07c316b2e828ee3ed2f}{create\+Instance} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$manager, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$params=0)
\begin{DoxyCompactList}\small\item\em Create a new instance of the object. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_movable_object_factory_aae1cdb0b70854af1c84e23d5b45dfb30}{destroy\+Instance} (\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$obj)=0
\begin{DoxyCompactList}\small\item\em Destroy an instance of the object. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_movable_object_factory_a0b45580fccdefe99312afa67265264fc}{get\+Type} (void) const =0
\begin{DoxyCompactList}\small\item\em Get the type of the object to be created. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32} \hyperlink{class_ogre_1_1_movable_object_factory_a79d691ca0e7dd4e8c96254360e0acd87}{get\+Type\+Flags} (void) const
\begin{DoxyCompactList}\small\item\em Gets the type flag for this factory. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_movable_object_factory_a7217963ad49147c6d9b1603392ee1408}{request\+Type\+Flags} (void) const
\begin{DoxyCompactList}\small\item\em Does this factory require the allocation of a \textquotesingle{}type flag\textquotesingle{}, used to selectively include / exclude this type from scene queries? \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Factory object for creating \hyperlink{class_ogre_1_1_portal}{Portal} instances. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_a0b45580fccdefe99312afa67265264fc}\label{class_ogre_1_1_movable_object_factory_a0b45580fccdefe99312afa67265264fc}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!get\+Type@{get\+Type}}
\index{get\+Type@{get\+Type}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{get\+Type()}{getType()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Movable\+Object\+Factory\+::get\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}, {\ttfamily [inherited]}}



Get the type of the object to be created. 



Implemented in \hyperlink{class_ogre_1_1_entity_factory_af821278ed5a1b320891f9f3f448fdc9c}{Ogre\+::\+Entity\+Factory}, \hyperlink{class_ogre_1_1_billboard_set_factory_a35f510c502749dd9683e1f31cead69e3}{Ogre\+::\+Billboard\+Set\+Factory}, \hyperlink{class_ogre_1_1_light_factory_a08255f7d58203fe0d7f6802fa6a29d5c}{Ogre\+::\+Light\+Factory}, \hyperlink{class_ogre_1_1_manual_object_factory_a123488fd18330d278fd15982242c558f}{Ogre\+::\+Manual\+Object\+Factory}, \hyperlink{class_ogre_1_1_billboard_chain_factory_abe6b84f4675514162d986c7fbf29a346}{Ogre\+::\+Billboard\+Chain\+Factory}, \hyperlink{class_ogre_1_1_particle_system_factory_a557d6be131ee6de5f8475f8defc23f77}{Ogre\+::\+Particle\+System\+Factory}, \hyperlink{class_ogre_1_1_ribbon_trail_factory_a32d1d370d50652632344b88033b8d60d}{Ogre\+::\+Ribbon\+Trail\+Factory}, \hyperlink{class_ogre_1_1_p_c_z_light_factory_a534cd5eb770fa71f66e419088111cd14}{Ogre\+::\+P\+C\+Z\+Light\+Factory}, \hyperlink{class_ogre_1_1_portal_factory_a88a2aa36305fd2c84720aaa89ba1e7cb}{Ogre\+::\+Portal\+Factory}, and \hyperlink{class_ogre_1_1_anti_portal_factory_aa92b2d390d411f78132238b98cf7e375}{Ogre\+::\+Anti\+Portal\+Factory}.

\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_a23f425e96487a07c316b2e828ee3ed2f}\label{class_ogre_1_1_movable_object_factory_a23f425e96487a07c316b2e828ee3ed2f}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!create\+Instance@{create\+Instance}}
\index{create\+Instance@{create\+Instance}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{create\+Instance()}{createInstance()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object}$\ast$ Ogre\+::\+Movable\+Object\+Factory\+::create\+Instance (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$}]{manager,  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{params = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a new instance of the object. 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the new object \\
\hline
{\em manager} & The \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} instance that will be holding the instance once created. \\
\hline
{\em params} & Name/value pair list of additional parameters required to construct the object (defined per subtype). Optional. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_aae1cdb0b70854af1c84e23d5b45dfb30}\label{class_ogre_1_1_movable_object_factory_aae1cdb0b70854af1c84e23d5b45dfb30}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!destroy\+Instance@{destroy\+Instance}}
\index{destroy\+Instance@{destroy\+Instance}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{destroy\+Instance()}{destroyInstance()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Movable\+Object\+Factory\+::destroy\+Instance (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}, {\ttfamily [inherited]}}



Destroy an instance of the object. 



Implemented in \hyperlink{class_ogre_1_1_entity_factory_ac08df5e5199b95ffbe48d4b425919500}{Ogre\+::\+Entity\+Factory}, \hyperlink{class_ogre_1_1_billboard_set_factory_a1d9a309182513810d2bd2ae98cc6e5be}{Ogre\+::\+Billboard\+Set\+Factory}, \hyperlink{class_ogre_1_1_light_factory_ab128c82ed2e160d4c870baca1c041add}{Ogre\+::\+Light\+Factory}, \hyperlink{class_ogre_1_1_manual_object_factory_abcaadec45f403cb7d358fdb9e519de25}{Ogre\+::\+Manual\+Object\+Factory}, \hyperlink{class_ogre_1_1_billboard_chain_factory_a9057100cd94978807e668a68e1839c97}{Ogre\+::\+Billboard\+Chain\+Factory}, \hyperlink{class_ogre_1_1_particle_system_factory_a8ac53881aac2f64f6180cf0608919457}{Ogre\+::\+Particle\+System\+Factory}, \hyperlink{class_ogre_1_1_ribbon_trail_factory_a99f934caf81126b1e149544416d5a9c4}{Ogre\+::\+Ribbon\+Trail\+Factory}, \hyperlink{class_ogre_1_1_p_c_z_light_factory_a74d244b326044b4b802a4d3ee897006e}{Ogre\+::\+P\+C\+Z\+Light\+Factory}, \hyperlink{class_ogre_1_1_portal_factory_a1e0625e43ce55da3130662898f2c7e93}{Ogre\+::\+Portal\+Factory}, and \hyperlink{class_ogre_1_1_anti_portal_factory_abcc80b699903b945a3050b415191f5c3}{Ogre\+::\+Anti\+Portal\+Factory}.

\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_a7217963ad49147c6d9b1603392ee1408}\label{class_ogre_1_1_movable_object_factory_a7217963ad49147c6d9b1603392ee1408}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!request\+Type\+Flags@{request\+Type\+Flags}}
\index{request\+Type\+Flags@{request\+Type\+Flags}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{request\+Type\+Flags()}{requestTypeFlags()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Movable\+Object\+Factory\+::request\+Type\+Flags (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Does this factory require the allocation of a \textquotesingle{}type flag\textquotesingle{}, used to selectively include / exclude this type from scene queries? 

\begin{DoxyRemark}{Remarks}
The default implementation here is to return \textquotesingle{}false\textquotesingle{}, ie not to request a unique type mask from \hyperlink{class_ogre_1_1_root}{Root}. For objects that never need to be excluded in \hyperlink{class_ogre_1_1_scene_query}{Scene\+Query} results, that\textquotesingle{}s fine, since the default implementation of \hyperlink{class_ogre_1_1_movable_object_a2d718f6ed0b708495cc2a31eb653ad84}{Movable\+Object\+::get\+Type\+Flags} is to return all ones, hence matching any query type mask. However, if you want the objects created by this factory to be filterable by queries using a broad type, you have to give them a (preferably unique) type mask -\/ and given that you don\textquotesingle{}t know what other \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} types are registered, \hyperlink{class_ogre_1_1_root}{Root} will allocate you one. 
\end{DoxyRemark}


Reimplemented in \hyperlink{class_ogre_1_1_portal_factory_a8c1c9edbe1d3af25cf2a10ee6d783dfc}{Ogre\+::\+Portal\+Factory}, and \hyperlink{class_ogre_1_1_anti_portal_factory_a2174deb17522078482d2c7dec12c2ecb}{Ogre\+::\+Anti\+Portal\+Factory}.

\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_aa23e112f39b565fa0b97e60e27014de3}\label{class_ogre_1_1_movable_object_factory_aa23e112f39b565fa0b97e60e27014de3}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!\+\_\+notify\+Type\+Flags@{\+\_\+notify\+Type\+Flags}}
\index{\+\_\+notify\+Type\+Flags@{\+\_\+notify\+Type\+Flags}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Type\+Flags()}{\_notifyTypeFlags()}}
{\footnotesize\ttfamily void Ogre\+::\+Movable\+Object\+Factory\+::\+\_\+notify\+Type\+Flags (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}}]{flag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Notify this factory of the type mask to apply. 

\begin{DoxyRemark}{Remarks}
This should normally only be called by \hyperlink{class_ogre_1_1_root}{Root} in response to a \textquotesingle{}true\textquotesingle{} result from request\+Type\+Mask. However, you can actually use it yourself if you\textquotesingle{}re careful; for example to assign the same mask to a number of different types of object, should you always wish them to be treated the same in queries. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_movable_object_factory_a79d691ca0e7dd4e8c96254360e0acd87}\label{class_ogre_1_1_movable_object_factory_a79d691ca0e7dd4e8c96254360e0acd87}} 
\index{Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}!get\+Type\+Flags@{get\+Type\+Flags}}
\index{get\+Type\+Flags@{get\+Type\+Flags}!Ogre\+::\+Portal\+Base\+Factory@{Ogre\+::\+Portal\+Base\+Factory}}
\subsubsection{\texorpdfstring{get\+Type\+Flags()}{getTypeFlags()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32} Ogre\+::\+Movable\+Object\+Factory\+::get\+Type\+Flags (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets the type flag for this factory. 

\begin{DoxyRemark}{Remarks}
A type flag is like a query flag, except that it applies to all instances of a certain type of object. 
\end{DoxyRemark}


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