\hypertarget{class_ogre_1_1_bsp_level}{}\section{Ogre\+:\+:Bsp\+Level Class Reference}
\label{class_ogre_1_1_bsp_level}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}


Holds all the data associated with a Binary Space Parition (B\+SP) based indoor level.  




{\ttfamily \#include $<$Ogre\+Bsp\+Level.\+h$>$}



Inheritance diagram for Ogre\+:\+:Bsp\+Level\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=302pt]{class_ogre_1_1_bsp_level__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Loading\+Flags} \{ \newline
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ab49695ac949df3a7d2e2f9a03267097c}{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT} = 0, 
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a6ee542226e1cf18df28ab88426be6809}{L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE} = 1, 
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a70589e0b87b09b0a4fd98ce490dc9782}{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED} = 2, 
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ae5f2eca654bd810da4c774570a5b4b77}{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE} = 3, 
\newline
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ad83abf165de5cfa1a4c8e0cd5471ad2c}{L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE} = 4
 \}\begin{DoxyCompactList}\small\item\em Enum that allow to choose subset of unloaded/reloaded resources and to adjust reloading behavior. \end{DoxyCompactList}
\item 
enum \hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}{Loading\+State} \{ \newline
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca28d463296cacdfc115dbc3fb02d00e94}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED}, 
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caf138fc9087e0dc755bff08a83720cbb5}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG}, 
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caa38cbef7605fc4bff6da2f34599ace8f}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED}, 
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca4228d390b3a9ed614001db177d1f441e}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG}, 
\newline
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca133a073b86c346096237063f99870fc1}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED}, 
\hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572cab43c913411f4a96722902f17b88f10fb}{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG}
 \}\begin{DoxyCompactList}\small\item\em Enum identifying the loading state of the resource. \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_bsp_level_a058020fea4785609e67b628c479e35e2}{Bsp\+Level} (\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} $\ast$creator, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, \hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} handle, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0)
\begin{DoxyCompactList}\small\item\em Default constructor -\/ used by Bsp\+Resource\+Manager (do not call directly) \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_bsp_level_a5acae4086f9ac47234172d1d328b186d}{$\sim$\+Bsp\+Level} ()
\item 
virtual void \hyperlink{class_ogre_1_1_resource_afcb4a61b965600a67ca2c2f060821db9}{\+\_\+dirty\+State} ()
\begin{DoxyCompactList}\small\item\em Manually mark the state of this resource as having been changed. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_aa68664db6b8723dc198beef3d21d4ef5}{\+\_\+fire\+Loading\+Complete} (bool was\+Background\+Loaded)
\begin{DoxyCompactList}\small\item\em Firing of loading complete event. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_aaf63d096584ac7d97fe1d1b0226c9561}{\+\_\+fire\+Preparing\+Complete} (bool was\+Background\+Loaded)
\begin{DoxyCompactList}\small\item\em Firing of preparing complete event. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_aaf3746937cd11864f53bc1c3b4437541}{\+\_\+fire\+Unloading\+Complete} (void)
\begin{DoxyCompactList}\small\item\em Firing of unloading complete event. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_bsp_level_abb6bb7d410caaa37c5a9b573009232fd}{\+\_\+notify\+Object\+Detached} (const \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$mov)
\begin{DoxyCompactList}\small\item\em Internal method, makes sure an object is removed from the leaves when detached from a node. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_bsp_level_ae44b5dbe3ecd07bdfd7632c1d94e5611}{\+\_\+notify\+Object\+Moved} (const \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$mov, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&pos)
\begin{DoxyCompactList}\small\item\em Ensures that the \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} is attached to the right leaves of the B\+SP tree. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_a7e248a1cca0662418d4ab3f63c2e7cf6}{\+\_\+notify\+Origin} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&origin)
\begin{DoxyCompactList}\small\item\em Notify this resource of it\textquotesingle{}s origin. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a5513ffce404b14cff72846318b018d32}{add\+Listener} (\hyperlink{class_ogre_1_1_resource_1_1_listener}{Listener} $\ast$lis)
\begin{DoxyCompactList}\small\item\em Register a listener on this resource. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_aa5d6f3f7e73b77b233fc62b11f270e4d}{change\+Group\+Ownership} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&new\+Group)
\begin{DoxyCompactList}\small\item\em Change the resource group ownership of a \hyperlink{class_ogre_1_1_resource}{Resource}. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_string_interface_aad68d8b18faad14e8286a67527094654}{copy\+Parameters\+To} (\hyperlink{class_ogre_1_1_string_interface}{String\+Interface} $\ast$dest) const
\begin{DoxyCompactList}\small\item\em Method for copying this object\textquotesingle{}s parameters to another object. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a367f6fe60bb211cb4c32e3825ca67e4c}{escalate\+Loading} ()
\begin{DoxyCompactList}\small\item\em Escalates the loading of a background loaded resource. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$ \hyperlink{class_ogre_1_1_bsp_level_aa97d67833e8e77be5d9c86ea890dd31f}{find\+Leaf} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&point) const
\begin{DoxyCompactList}\small\item\em Walks the entire B\+SP tree and returns the leaf which contains the given point. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} $\ast$ \hyperlink{class_ogre_1_1_resource_ab6e377a3964d566ea112fe63bf1d7678}{get\+Creator} (void)
\begin{DoxyCompactList}\small\item\em Gets the manager which created this resource. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_resource_a382919945c07a6a13136889ad3fbf578}{get\+Group} (void) const
\begin{DoxyCompactList}\small\item\em Gets the group which this resource is a member of. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} \hyperlink{class_ogre_1_1_resource_a2298551707debaf774d577e643ee856a}{get\+Handle} (void) const
\item 
\hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$ \hyperlink{class_ogre_1_1_bsp_level_a7e4e02f0608e6e59eb8896046f89c528}{get\+Leaf\+Start} (void)
\begin{DoxyCompactList}\small\item\em Gets a pointer to the start of the leaf nodes. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}{Loading\+State} \hyperlink{class_ogre_1_1_resource_a1e90ade99935ef70ec5b199243bf995b}{get\+Loading\+State} () const
\begin{DoxyCompactList}\small\item\em Returns the current loading state. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_resource_a0646fba8aa0242c6b389d73f47ebe41b}{get\+Name} (void) const
\begin{DoxyCompactList}\small\item\em Gets resource name. \end{DoxyCompactList}\item 
int \hyperlink{class_ogre_1_1_bsp_level_a0078f789dc5c7dfa8e909bfb5b7aa683}{get\+Num\+Leaves} (void) const
\begin{DoxyCompactList}\small\item\em Gets the number of leaf nodes. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_resource_a13423fa7944d7f2339e78b9de026c3be}{get\+Origin} (void) const
\begin{DoxyCompactList}\small\item\em Get the origin of this resource, e.\+g. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_param_dictionary}{Param\+Dictionary} $\ast$ \hyperlink{class_ogre_1_1_string_interface_ae3e13925bde11db245f6c9bbf5031a93}{get\+Param\+Dictionary} (void)
\begin{DoxyCompactList}\small\item\em Retrieves the parameter dictionary for this class. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_param_dictionary}{Param\+Dictionary} $\ast$ \hyperlink{class_ogre_1_1_string_interface_a0f55da0550a7e1ab70a1c8bf598a3e20}{get\+Param\+Dictionary} (void) const
\item 
\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_string_interface_a1d078304c38a9f85d483fc8ed0cdf1fe}{get\+Parameter} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name) const
\begin{DoxyCompactList}\small\item\em Generic parameter retrieval method. \end{DoxyCompactList}\item 
const \hyperlink{group___general_ga1838c2b0619ade1f5e29767062212872}{Parameter\+List} \& \hyperlink{class_ogre_1_1_string_interface_ad4b984bfbf148ddb3310b3d0ba8a9d5d}{get\+Parameters} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves a list of parameters valid for this object. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$ \hyperlink{class_ogre_1_1_bsp_level_a0ba40f8b477f0c66c83a96242ecd5142}{get\+Root\+Node} (void)
\begin{DoxyCompactList}\small\item\em Returns a pointer to the root node (\hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node}) of the B\+SP tree. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{class_ogre_1_1_resource_a0617d9f04ca03bd25f4bde201e6ac13b}{get\+Size} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves info about the size of the resource. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_bsp_level_ae9cfd5baeef2a4f1977086a1c55e3a81}{get\+Sky\+Curvature} (void) const
\begin{DoxyCompactList}\small\item\em Get sky curvature. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_bsp_level_a2f95df076be49177e58e2ae53027559e}{get\+Sky\+Material\+Name} (void) const
\begin{DoxyCompactList}\small\item\em Get Sky material name. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{class_ogre_1_1_resource_ade85e4d5579519e4117a84789c0ae8fd}{get\+State\+Count} () const
\begin{DoxyCompactList}\small\item\em Returns the number of times this resource has changed state, which generally means the number of times it has been loaded. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a60ce96525ac730a0f7b466ed287beef3}{is\+Background\+Loaded} (void) const
\begin{DoxyCompactList}\small\item\em Returns whether this \hyperlink{class_ogre_1_1_resource}{Resource} has been earmarked for background loading. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_bsp_level_a0a39be276b7610046058c1e7bc90d435}{is\+Leaf\+Visible} (const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$from, const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$to) const
\begin{DoxyCompactList}\small\item\em Determines if one leaf node is visible from another. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a74138c0203835513613af73cdb08890d}{is\+Loaded} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} has been loaded, false otherwise. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a3af26f716731b64850ea50cfa4d2edef}{is\+Loading} () const
\begin{DoxyCompactList}\small\item\em Returns whether the resource is currently in the process of background loading. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a8f541900f7e1f73f4c313a732199029a}{is\+Manually\+Loaded} (void) const
\begin{DoxyCompactList}\small\item\em Is this resource manually loaded? \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a0779c46df96234b6619a5f57fbb36078}{is\+Prepared} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} has been prepared, false otherwise. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}{is\+Reloadable} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} is reloadable, false otherwise. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_bsp_level_a2262404327d01504ac157b1de7fc9c3f}{is\+Sky\+Enabled} (void) const
\begin{DoxyCompactList}\small\item\em Is sky enabled? \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream)
\begin{DoxyCompactList}\small\item\em Load direct from stream. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a699d1c851f494a8d5d23d23b695ceb47}{load} (bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Loads the resource, if it is not already. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare} (bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Prepares the resource for load, if it is not already. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a5016aec1762b026997ddd346775879ef}{reload} (\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Loading\+Flags} flags=\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ab49695ac949df3a7d2e2f9a03267097c}{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT})
\begin{DoxyCompactList}\small\item\em Reloads the resource, if it is already loaded. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_a3c49142f739ba8fb56d6e7b3db235fb7}{remove\+Listener} (\hyperlink{class_ogre_1_1_resource_1_1_listener}{Listener} $\ast$lis)
\begin{DoxyCompactList}\small\item\em Remove a listener on this resource. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_ae0a0007de944eb3c2f933a372a752b35}{set\+Background\+Loaded} (bool bl)
\begin{DoxyCompactList}\small\item\em Tells the resource whether it is background loaded or not. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_string_interface_a08d117bf25f011f96d81f1f4ecb25113}{set\+Parameter} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&value)
\begin{DoxyCompactList}\small\item\em Generic parameter setting method. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_string_interface_a9aac32f93bd149a34b809a57a9f01f8f}{set\+Parameter\+List} (const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} \&param\+List)
\begin{DoxyCompactList}\small\item\em Generic multiple parameter setting method. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_ae229b1f58092109adef55bfc6f864d79}{touch} (void)
\begin{DoxyCompactList}\small\item\em \textquotesingle{}Touches\textquotesingle{} the resource to indicate it has been used. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_aa31bef1bfaa87731622e56f11b548e27}{unload} (void)
\begin{DoxyCompactList}\small\item\em Unloads the resource; this is not permanent, the resource can be reloaded later if required. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static size\+\_\+t \hyperlink{class_ogre_1_1_bsp_level_a9efb7f6b93f6fcc3e3583deab5a8d1a3}{calculate\+Loading\+Stages} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&level\+Name)
\begin{DoxyCompactList}\small\item\em Calculate the number of loading stages required for a given level. \end{DoxyCompactList}\item 
static size\+\_\+t \hyperlink{class_ogre_1_1_bsp_level_a5a35308e7576982c9960367008ee361c}{calculate\+Loading\+Stages} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream)
\begin{DoxyCompactList}\small\item\em Calculate the number of loading stages required for a given level. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_interface_a1bea65fa2b3c2ac5a9f3be59b46a80e8}{cleanup\+Dictionary} ()
\begin{DoxyCompactList}\small\item\em Cleans up the static \textquotesingle{}ms\+Dictionary\textquotesingle{} required to reset \hyperlink{namespace_ogre}{Ogre}, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} implementers (e.\+g. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_resource_a104d9db8bfcff1f37b29157bbe070f7a}{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_ogre_1_1_bsp_level_a76934cdb132579a189b802280a1b140e}{Bsp\+Scene\+Manager}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Holds all the data associated with a Binary Space Parition (B\+SP) based indoor level. 

The data used here is populated by loading level files via the Bsp\+Level\+Manager\+::load method, although application users are more likely to call \hyperlink{class_ogre_1_1_scene_manager_accb0fdfbd1f61aa4d3d6e1f4625e1f9c}{Scene\+Manager\+::set\+World\+Geometry} which will automatically arrange the loading of the level. Note that this assumes that you have asked for an indoor-\/specialised \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} (specify S\+T\+\_\+\+I\+N\+D\+O\+OR when calling \hyperlink{class_ogre_1_1_root_a935897d5b82cc2eedcf0f71109bc810f}{Root\+::get\+Scene\+Manager}). \hyperlink{namespace_ogre}{Ogre} currently only supports loading from Quake3 Arena level files, although any source that can be converted into this classes structure could also be used. The Quake3 level load process is in a different class called \hyperlink{class_ogre_1_1_quake3_level}{Quake3\+Level} to keep the specifics separate. 

\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!Loading\+State@{Loading\+State}}
\index{Loading\+State@{Loading\+State}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{Loading\+State}{LoadingState}}
{\footnotesize\ttfamily enum \hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}{Ogre\+::\+Resource\+::\+Loading\+State}\hspace{0.3cm}{\ttfamily [inherited]}}



Enum identifying the loading state of the resource. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca28d463296cacdfc115dbc3fb02d00e94}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca28d463296cacdfc115dbc3fb02d00e94}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+ED&Not loaded. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caf138fc9087e0dc755bff08a83720cbb5}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caf138fc9087e0dc755bff08a83720cbb5}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+I\+NG&Loading is in progress. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caa38cbef7605fc4bff6da2f34599ace8f}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572caa38cbef7605fc4bff6da2f34599ace8f}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+L\+O\+A\+D\+ED&Fully loaded. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca4228d390b3a9ed614001db177d1f441e}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca4228d390b3a9ed614001db177d1f441e}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+U\+N\+L\+O\+A\+D\+I\+NG&Currently unloading. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca133a073b86c346096237063f99870fc1}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572ca133a073b86c346096237063f99870fc1}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+ED&Fully prepared. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG@{L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572cab43c913411f4a96722902f17b88f10fb}\label{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572cab43c913411f4a96722902f17b88f10fb}} 
L\+O\+A\+D\+S\+T\+A\+T\+E\+\_\+\+P\+R\+E\+P\+A\+R\+I\+NG&Preparing is in progress. \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!Loading\+Flags@{Loading\+Flags}}
\index{Loading\+Flags@{Loading\+Flags}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{Loading\+Flags}{LoadingFlags}}
{\footnotesize\ttfamily enum \hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Ogre\+::\+Resource\+::\+Loading\+Flags}\hspace{0.3cm}{\ttfamily [inherited]}}



Enum that allow to choose subset of unloaded/reloaded resources and to adjust reloading behavior. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT@{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+F\+\_\+\+D\+E\+F\+A\+U\+LT@{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ab49695ac949df3a7d2e2f9a03267097c}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ab49695ac949df3a7d2e2f9a03267097c}} 
L\+F\+\_\+\+D\+E\+F\+A\+U\+LT&Only reloadable resources are processed, reload restores initial state. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE@{L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE@{L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a6ee542226e1cf18df28ab88426be6809}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a6ee542226e1cf18df28ab88426be6809}} 
L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE&Process non-\/reloadable resources too. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED@{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED@{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a70589e0b87b09b0a4fd98ce490dc9782}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94a70589e0b87b09b0a4fd98ce490dc9782}} 
L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED&Process only resources which are not referenced by any other object. Usefull to reduce resource consumption. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE@{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE@{L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ae5f2eca654bd810da4c774570a5b4b77}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ae5f2eca654bd810da4c774570a5b4b77}} 
L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE&Combination of L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED and L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE@{L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE@{L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE}}}\mbox{\Hypertarget{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ad83abf165de5cfa1a4c8e0cd5471ad2c}\label{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ad83abf165de5cfa1a4c8e0cd5471ad2c}} 
L\+F\+\_\+\+P\+R\+E\+S\+E\+R\+V\+E\+\_\+\+S\+T\+A\+TE&Preserve some states during reloading, for example stencil shadows prepareness for Meshes. \\
\hline

\end{DoxyEnumFields}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a058020fea4785609e67b628c479e35e2}\label{class_ogre_1_1_bsp_level_a058020fea4785609e67b628c479e35e2}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!Bsp\+Level@{Bsp\+Level}}
\index{Bsp\+Level@{Bsp\+Level}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{Bsp\+Level()}{BspLevel()}}
{\footnotesize\ttfamily Ogre\+::\+Bsp\+Level\+::\+Bsp\+Level (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} $\ast$}]{creator,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}]{handle,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0} }\end{DoxyParamCaption})}



Default constructor -\/ used by Bsp\+Resource\+Manager (do not call directly) 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a5acae4086f9ac47234172d1d328b186d}\label{class_ogre_1_1_bsp_level_a5acae4086f9ac47234172d1d328b186d}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!````~Bsp\+Level@{$\sim$\+Bsp\+Level}}
\index{````~Bsp\+Level@{$\sim$\+Bsp\+Level}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{$\sim$\+Bsp\+Level()}{~BspLevel()}}
{\footnotesize\ttfamily Ogre\+::\+Bsp\+Level\+::$\sim$\+Bsp\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a0a39be276b7610046058c1e7bc90d435}\label{class_ogre_1_1_bsp_level_a0a39be276b7610046058c1e7bc90d435}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Leaf\+Visible@{is\+Leaf\+Visible}}
\index{is\+Leaf\+Visible@{is\+Leaf\+Visible}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Leaf\+Visible()}{isLeafVisible()}}
{\footnotesize\ttfamily bool Ogre\+::\+Bsp\+Level\+::is\+Leaf\+Visible (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$}]{from,  }\item[{const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node} $\ast$}]{to }\end{DoxyParamCaption}) const}



Determines if one leaf node is visible from another. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a0ba40f8b477f0c66c83a96242ecd5142}\label{class_ogre_1_1_bsp_level_a0ba40f8b477f0c66c83a96242ecd5142}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Root\+Node@{get\+Root\+Node}}
\index{get\+Root\+Node@{get\+Root\+Node}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Root\+Node()}{getRootNode()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node}$\ast$ Ogre\+::\+Bsp\+Level\+::get\+Root\+Node (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Returns a pointer to the root node (\hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node}) of the B\+SP tree. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_aa97d67833e8e77be5d9c86ea890dd31f}\label{class_ogre_1_1_bsp_level_aa97d67833e8e77be5d9c86ea890dd31f}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!find\+Leaf@{find\+Leaf}}
\index{find\+Leaf@{find\+Leaf}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{find\+Leaf()}{findLeaf()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node}$\ast$ Ogre\+::\+Bsp\+Level\+::find\+Leaf (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{point }\end{DoxyParamCaption}) const}



Walks the entire B\+SP tree and returns the leaf which contains the given point. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_ae44b5dbe3ecd07bdfd7632c1d94e5611}\label{class_ogre_1_1_bsp_level_ae44b5dbe3ecd07bdfd7632c1d94e5611}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+notify\+Object\+Moved@{\+\_\+notify\+Object\+Moved}}
\index{\+\_\+notify\+Object\+Moved@{\+\_\+notify\+Object\+Moved}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Object\+Moved()}{\_notifyObjectMoved()}}
{\footnotesize\ttfamily void Ogre\+::\+Bsp\+Level\+::\+\_\+notify\+Object\+Moved (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$}]{mov,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{pos }\end{DoxyParamCaption})}



Ensures that the \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} is attached to the right leaves of the B\+SP tree. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_abb6bb7d410caaa37c5a9b573009232fd}\label{class_ogre_1_1_bsp_level_abb6bb7d410caaa37c5a9b573009232fd}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+notify\+Object\+Detached@{\+\_\+notify\+Object\+Detached}}
\index{\+\_\+notify\+Object\+Detached@{\+\_\+notify\+Object\+Detached}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Object\+Detached()}{\_notifyObjectDetached()}}
{\footnotesize\ttfamily void Ogre\+::\+Bsp\+Level\+::\+\_\+notify\+Object\+Detached (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_movable_object}{Movable\+Object} $\ast$}]{mov }\end{DoxyParamCaption})}



Internal method, makes sure an object is removed from the leaves when detached from a node. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a7e4e02f0608e6e59eb8896046f89c528}\label{class_ogre_1_1_bsp_level_a7e4e02f0608e6e59eb8896046f89c528}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Leaf\+Start@{get\+Leaf\+Start}}
\index{get\+Leaf\+Start@{get\+Leaf\+Start}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Leaf\+Start()}{getLeafStart()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_bsp_node}{Bsp\+Node}$\ast$ Ogre\+::\+Bsp\+Level\+::get\+Leaf\+Start (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets a pointer to the start of the leaf nodes. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a0078f789dc5c7dfa8e909bfb5b7aa683}\label{class_ogre_1_1_bsp_level_a0078f789dc5c7dfa8e909bfb5b7aa683}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Num\+Leaves@{get\+Num\+Leaves}}
\index{get\+Num\+Leaves@{get\+Num\+Leaves}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Num\+Leaves()}{getNumLeaves()}}
{\footnotesize\ttfamily int Ogre\+::\+Bsp\+Level\+::get\+Num\+Leaves (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the number of leaf nodes. 



References calculate\+Loading\+Stages(), get\+Sky\+Curvature(), get\+Sky\+Material\+Name(), is\+Sky\+Enabled(), and load().

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a9efb7f6b93f6fcc3e3583deab5a8d1a3}\label{class_ogre_1_1_bsp_level_a9efb7f6b93f6fcc3e3583deab5a8d1a3}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!calculate\+Loading\+Stages@{calculate\+Loading\+Stages}}
\index{calculate\+Loading\+Stages@{calculate\+Loading\+Stages}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{calculate\+Loading\+Stages()}{calculateLoadingStages()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static size\+\_\+t Ogre\+::\+Bsp\+Level\+::calculate\+Loading\+Stages (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{level\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Calculate the number of loading stages required for a given level. 



Referenced by get\+Num\+Leaves().

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a5a35308e7576982c9960367008ee361c}\label{class_ogre_1_1_bsp_level_a5a35308e7576982c9960367008ee361c}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!calculate\+Loading\+Stages@{calculate\+Loading\+Stages}}
\index{calculate\+Loading\+Stages@{calculate\+Loading\+Stages}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{calculate\+Loading\+Stages()}{calculateLoadingStages()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static size\+\_\+t Ogre\+::\+Bsp\+Level\+::calculate\+Loading\+Stages (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Calculate the number of loading stages required for a given level. 

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}\label{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!load@{load}}
\index{load@{load}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{load()}{load()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Bsp\+Level\+::load (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream }\end{DoxyParamCaption})}



Load direct from stream. 



Referenced by get\+Num\+Leaves().

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a2262404327d01504ac157b1de7fc9c3f}\label{class_ogre_1_1_bsp_level_a2262404327d01504ac157b1de7fc9c3f}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Sky\+Enabled@{is\+Sky\+Enabled}}
\index{is\+Sky\+Enabled@{is\+Sky\+Enabled}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Sky\+Enabled()}{isSkyEnabled()}}
{\footnotesize\ttfamily bool Ogre\+::\+Bsp\+Level\+::is\+Sky\+Enabled (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Is sky enabled? 



Referenced by get\+Num\+Leaves().

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a2f95df076be49177e58e2ae53027559e}\label{class_ogre_1_1_bsp_level_a2f95df076be49177e58e2ae53027559e}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Sky\+Material\+Name@{get\+Sky\+Material\+Name}}
\index{get\+Sky\+Material\+Name@{get\+Sky\+Material\+Name}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Sky\+Material\+Name()}{getSkyMaterialName()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Bsp\+Level\+::get\+Sky\+Material\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Get Sky material name. 



Referenced by get\+Num\+Leaves().

\mbox{\Hypertarget{class_ogre_1_1_bsp_level_ae9cfd5baeef2a4f1977086a1c55e3a81}\label{class_ogre_1_1_bsp_level_ae9cfd5baeef2a4f1977086a1c55e3a81}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Sky\+Curvature@{get\+Sky\+Curvature}}
\index{get\+Sky\+Curvature@{get\+Sky\+Curvature}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Sky\+Curvature()}{getSkyCurvature()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Bsp\+Level\+::get\+Sky\+Curvature (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Get sky curvature. 



Referenced by get\+Num\+Leaves().

\mbox{\Hypertarget{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}\label{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!prepare@{prepare}}
\index{prepare@{prepare}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{prepare()}{prepare()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::prepare (\begin{DoxyParamCaption}\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Prepares the resource for load, if it is not already. 

One can call \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} before \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()}, but this is not required as \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} will call \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} itself, if needed. When O\+G\+R\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+U\+P\+P\+O\+RT==1 both \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} and \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} are thread-\/safe. When O\+G\+R\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+U\+P\+P\+O\+RT==2 however, only \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} is thread-\/safe. The reason for this function is to allow a background thread to do some of the loading work, without requiring the whole render system to be thread-\/safe. The background thread would call \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} while the main render loop would later call \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()}. So long as \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()} remains thread-\/safe, subclasses can arbitrarily split the work of loading a resource between \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} and \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()}. It is best to try and do as much work in \hyperlink{class_ogre_1_1_resource_a350b287fa3e83a389221274f68760008}{prepare()}, however, since this will leave less work for the main render thread to do and thus increase F\+PS. 
\begin{DoxyParams}{Parameters}
{\em background\+Thread} & Whether this is occurring in a background thread \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_a699d1c851f494a8d5d23d23b695ceb47}\label{class_ogre_1_1_resource_a699d1c851f494a8d5d23d23b695ceb47}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!load@{load}}
\index{load@{load}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{load()}{load()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::load (\begin{DoxyParamCaption}\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Loads the resource, if it is not already. 

\begin{DoxyRemark}{Remarks}
If the resource is loaded from a file, loading is automatic. If not, if for example this resource gained it\textquotesingle{}s data from procedural calls rather than loading from a file, then this resource will not reload on it\textquotesingle{}s own. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em background\+Thread} & Indicates whether the caller of this method is the background resource loading thread. \\
\hline
\end{DoxyParams}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a39d8ef352a44619ef8cdd93e152c9b5c}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a5016aec1762b026997ddd346775879ef}\label{class_ogre_1_1_resource_a5016aec1762b026997ddd346775879ef}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!reload@{reload}}
\index{reload@{reload}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{reload()}{reload()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::reload (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Loading\+Flags}}]{flags = {\ttfamily \hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94ab49695ac949df3a7d2e2f9a03267097c}{L\+F\+\_\+\+D\+E\+F\+A\+U\+LT}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Reloads the resource, if it is already loaded. 

\begin{DoxyRemark}{Remarks}
Calls \hyperlink{class_ogre_1_1_resource_aa31bef1bfaa87731622e56f11b548e27}{unload()} and then \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} again, if the resource is already loaded. If it is not loaded already, then nothing happens. 
\end{DoxyRemark}


Reimplemented in \hyperlink{class_ogre_1_1_mesh_adca1dc667f145d4a4132811eaadf324f}{Ogre\+::\+Mesh}, and \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a33b2a090d63a597ee92343f4e7abe1d2}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}\label{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Reloadable@{is\+Reloadable}}
\index{is\+Reloadable@{is\+Reloadable}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Reloadable()}{isReloadable()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Reloadable (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} is reloadable, false otherwise. 



Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a957204efc949b9ad55562b9f8f4371f3}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a8f541900f7e1f73f4c313a732199029a}\label{class_ogre_1_1_resource_a8f541900f7e1f73f4c313a732199029a}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Manually\+Loaded@{is\+Manually\+Loaded}}
\index{is\+Manually\+Loaded@{is\+Manually\+Loaded}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Manually\+Loaded()}{isManuallyLoaded()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Manually\+Loaded (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Is this resource manually loaded? 

\mbox{\Hypertarget{class_ogre_1_1_resource_aa31bef1bfaa87731622e56f11b548e27}\label{class_ogre_1_1_resource_aa31bef1bfaa87731622e56f11b548e27}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!unload@{unload}}
\index{unload@{unload}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{unload()}{unload()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::unload (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Unloads the resource; this is not permanent, the resource can be reloaded later if required. 



Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_aa2afd5199e4fb4f9e071bcc3b5805d52}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a0617d9f04ca03bd25f4bde201e6ac13b}\label{class_ogre_1_1_resource_a0617d9f04ca03bd25f4bde201e6ac13b}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Size@{get\+Size}}
\index{get\+Size@{get\+Size}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Size()}{getSize()}}
{\footnotesize\ttfamily virtual size\+\_\+t Ogre\+::\+Resource\+::get\+Size (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Retrieves info about the size of the resource. 



Reimplemented in \hyperlink{class_ogre_1_1_cg_program_a65a86c6f911a8ac4b0c6d7366fb44f26}{Ogre\+::\+Cg\+Program}, and \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_ad501229700788396f71417c19f4990ee}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_ae229b1f58092109adef55bfc6f864d79}\label{class_ogre_1_1_resource_ae229b1f58092109adef55bfc6f864d79}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!touch@{touch}}
\index{touch@{touch}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{touch()}{touch()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::touch (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



\textquotesingle{}Touches\textquotesingle{} the resource to indicate it has been used. 



Reimplemented in \hyperlink{class_ogre_1_1_material_a340e9c6140a5b0f3467596712aa122a9}{Ogre\+::\+Material}, \hyperlink{class_ogre_1_1_cg_program_aa448e3603f9f6cad8cfe40818888227a}{Ogre\+::\+Cg\+Program}, and \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a682949c30fe1718d4514b25df77774c2}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.



Referenced by Ogre\+::\+Material\+::touch().

\mbox{\Hypertarget{class_ogre_1_1_resource_a0646fba8aa0242c6b389d73f47ebe41b}\label{class_ogre_1_1_resource_a0646fba8aa0242c6b389d73f47ebe41b}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Resource\+::get\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets resource name. 



Reimplemented in \hyperlink{class_ogre_1_1_skeleton_instance_a7a09701fea2d613b196932b1227dab47}{Ogre\+::\+Skeleton\+Instance}.



Referenced by Ogre\+::\+Gpu\+Program\+Usage\+::get\+Program\+Name(), and Ogre\+Bites\+::\+Tray\+Manager\+::resource\+Load\+Started().

\mbox{\Hypertarget{class_ogre_1_1_resource_a2298551707debaf774d577e643ee856a}\label{class_ogre_1_1_resource_a2298551707debaf774d577e643ee856a}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Handle@{get\+Handle}}
\index{get\+Handle@{get\+Handle}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Handle()}{getHandle()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} Ogre\+::\+Resource\+::get\+Handle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Reimplemented in \hyperlink{class_ogre_1_1_skeleton_instance_ae6e32b49e6ec3cc795fc74a41eb379ad}{Ogre\+::\+Skeleton\+Instance}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a0779c46df96234b6619a5f57fbb36078}\label{class_ogre_1_1_resource_a0779c46df96234b6619a5f57fbb36078}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Prepared@{is\+Prepared}}
\index{is\+Prepared@{is\+Prepared}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Prepared()}{isPrepared()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Prepared (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} has been prepared, false otherwise. 

\mbox{\Hypertarget{class_ogre_1_1_resource_a74138c0203835513613af73cdb08890d}\label{class_ogre_1_1_resource_a74138c0203835513613af73cdb08890d}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Loaded@{is\+Loaded}}
\index{is\+Loaded@{is\+Loaded}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Loaded()}{isLoaded()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Loaded (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns true if the \hyperlink{class_ogre_1_1_resource}{Resource} has been loaded, false otherwise. 



Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_ac8bfe1f64106637c89ab949dc2d6c59d}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a3af26f716731b64850ea50cfa4d2edef}\label{class_ogre_1_1_resource_a3af26f716731b64850ea50cfa4d2edef}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Loading@{is\+Loading}}
\index{is\+Loading@{is\+Loading}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Loading()}{isLoading()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Loading (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns whether the resource is currently in the process of background loading. 



Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a9f416e82992b3803108a52bd9460cfdf}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a1e90ade99935ef70ec5b199243bf995b}\label{class_ogre_1_1_resource_a1e90ade99935ef70ec5b199243bf995b}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Loading\+State@{get\+Loading\+State}}
\index{get\+Loading\+State@{get\+Loading\+State}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Loading\+State()}{getLoadingState()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_resource_a07e619aa09d3bc6789a6667cb4fc572c}{Loading\+State} Ogre\+::\+Resource\+::get\+Loading\+State (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns the current loading state. 



Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_aa5cb2174294127eefbd4b6343c8107d8}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a60ce96525ac730a0f7b466ed287beef3}\label{class_ogre_1_1_resource_a60ce96525ac730a0f7b466ed287beef3}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!is\+Background\+Loaded@{is\+Background\+Loaded}}
\index{is\+Background\+Loaded@{is\+Background\+Loaded}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{is\+Background\+Loaded()}{isBackgroundLoaded()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Resource\+::is\+Background\+Loaded (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns whether this \hyperlink{class_ogre_1_1_resource}{Resource} has been earmarked for background loading. 

\begin{DoxyRemark}{Remarks}
This option only makes sense when you have built \hyperlink{namespace_ogre}{Ogre} with thread support (O\+G\+R\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+U\+P\+P\+O\+RT). If a resource has been marked for background loading, then it won\textquotesingle{}t load on demand like normal when \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} is called. Instead, it will ignore request to \hyperlink{class_ogre_1_1_bsp_level_a248e690ac0db1c4cd05cec3a4ed6c835}{load()} except if the caller indicates it is the background loader. \hyperlink{class_ogre_1_1_any}{Any} other users of this resource should check \hyperlink{class_ogre_1_1_resource_a74138c0203835513613af73cdb08890d}{is\+Loaded()}, and if that returns false, don\textquotesingle{}t use the resource and come back later. 
\end{DoxyRemark}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a43c95218aea772dc8ff85b2dd65b8b26}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_ae0a0007de944eb3c2f933a372a752b35}\label{class_ogre_1_1_resource_ae0a0007de944eb3c2f933a372a752b35}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!set\+Background\+Loaded@{set\+Background\+Loaded}}
\index{set\+Background\+Loaded@{set\+Background\+Loaded}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{set\+Background\+Loaded()}{setBackgroundLoaded()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::set\+Background\+Loaded (\begin{DoxyParamCaption}\item[{bool}]{bl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Tells the resource whether it is background loaded or not. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_a60ce96525ac730a0f7b466ed287beef3}{Resource\+::is\+Background\+Loaded}. Note that calling this only defers the normal on-\/demand loading behaviour of a resource, it does not actually \hyperlink{struct_ogre_1_1set}{set} up a thread to make sure the resource gets loaded in the background. You should use Resource\+Background\+Loading\+Queue to manage the actual loading (which will call this method itself). 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_adba65f42995100300f2983555f7214cc}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a367f6fe60bb211cb4c32e3825ca67e4c}\label{class_ogre_1_1_resource_a367f6fe60bb211cb4c32e3825ca67e4c}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!escalate\+Loading@{escalate\+Loading}}
\index{escalate\+Loading@{escalate\+Loading}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{escalate\+Loading()}{escalateLoading()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::escalate\+Loading (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Escalates the loading of a background loaded resource. 

\begin{DoxyRemark}{Remarks}
If a resource is set to load in the background, but something needs it before it\textquotesingle{}s been loaded, there could be a problem. If the user of this resource really can\textquotesingle{}t wait, they can escalate the loading which basically pulls the loading into the current thread immediately. If the resource is already being loaded but just hasn\textquotesingle{}t quite finished then this method will simply wait until the background load is complete. 
\end{DoxyRemark}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_a8b5b9e6fec77dfc8d7fde8eb8bf07dd9}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a5513ffce404b14cff72846318b018d32}\label{class_ogre_1_1_resource_a5513ffce404b14cff72846318b018d32}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!add\+Listener@{add\+Listener}}
\index{add\+Listener@{add\+Listener}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{add\+Listener()}{addListener()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::add\+Listener (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_1_1_listener}{Listener} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Register a listener on this resource. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_1_1_listener}{Resource\+::\+Listener} 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_aedc4baffb56b8c6dce5bcfa80bc869fd}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a3c49142f739ba8fb56d6e7b3db235fb7}\label{class_ogre_1_1_resource_a3c49142f739ba8fb56d6e7b3db235fb7}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!remove\+Listener@{remove\+Listener}}
\index{remove\+Listener@{remove\+Listener}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{remove\+Listener()}{removeListener()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::remove\+Listener (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_1_1_listener}{Listener} $\ast$}]{lis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Remove a listener on this resource. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_1_1_listener}{Resource\+::\+Listener} 
\end{DoxySeeAlso}


Reimplemented in \hyperlink{class_ogre_1_1_unified_high_level_gpu_program_ae4bdd44833d44f794e420d87ea529346}{Ogre\+::\+Unified\+High\+Level\+Gpu\+Program}.

\mbox{\Hypertarget{class_ogre_1_1_resource_a382919945c07a6a13136889ad3fbf578}\label{class_ogre_1_1_resource_a382919945c07a6a13136889ad3fbf578}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Group@{get\+Group}}
\index{get\+Group@{get\+Group}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Group()}{getGroup()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Resource\+::get\+Group (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets the group which this resource is a member of. 



Reimplemented in \hyperlink{class_ogre_1_1_skeleton_instance_a99b3a28bfb04ed9c75952c663515fc35}{Ogre\+::\+Skeleton\+Instance}.

\mbox{\Hypertarget{class_ogre_1_1_resource_aa5d6f3f7e73b77b233fc62b11f270e4d}\label{class_ogre_1_1_resource_aa5d6f3f7e73b77b233fc62b11f270e4d}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!change\+Group\+Ownership@{change\+Group\+Ownership}}
\index{change\+Group\+Ownership@{change\+Group\+Ownership}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{change\+Group\+Ownership()}{changeGroupOwnership()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::change\+Group\+Ownership (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{new\+Group }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Change the resource group ownership of a \hyperlink{class_ogre_1_1_resource}{Resource}. 

\begin{DoxyRemark}{Remarks}
This method is generally reserved for internal use, although if you really know what you\textquotesingle{}re doing you can use it to move this resource from one group to another. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em new\+Group} & Name of the new group \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_ab6e377a3964d566ea112fe63bf1d7678}\label{class_ogre_1_1_resource_ab6e377a3964d566ea112fe63bf1d7678}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Creator@{get\+Creator}}
\index{get\+Creator@{get\+Creator}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Creator()}{getCreator()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}$\ast$ Ogre\+::\+Resource\+::get\+Creator (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets the manager which created this resource. 

\mbox{\Hypertarget{class_ogre_1_1_resource_a13423fa7944d7f2339e78b9de026c3be}\label{class_ogre_1_1_resource_a13423fa7944d7f2339e78b9de026c3be}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Origin@{get\+Origin}}
\index{get\+Origin@{get\+Origin}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Origin()}{getOrigin()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Resource\+::get\+Origin (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Get the origin of this resource, e.\+g. 

a script file name. \begin{DoxyRemark}{Remarks}
This property will only contain something if the creator of this resource chose to populate it. Script loaders are advised to populate it. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_resource_a7e248a1cca0662418d4ab3f63c2e7cf6}\label{class_ogre_1_1_resource_a7e248a1cca0662418d4ab3f63c2e7cf6}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+notify\+Origin@{\+\_\+notify\+Origin}}
\index{\+\_\+notify\+Origin@{\+\_\+notify\+Origin}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Origin()}{\_notifyOrigin()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+::\+\_\+notify\+Origin (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{origin }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Notify this resource of it\textquotesingle{}s origin. 

\mbox{\Hypertarget{class_ogre_1_1_resource_ade85e4d5579519e4117a84789c0ae8fd}\label{class_ogre_1_1_resource_ade85e4d5579519e4117a84789c0ae8fd}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+State\+Count@{get\+State\+Count}}
\index{get\+State\+Count@{get\+State\+Count}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+State\+Count()}{getStateCount()}}
{\footnotesize\ttfamily virtual size\+\_\+t Ogre\+::\+Resource\+::get\+State\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Returns the number of times this resource has changed state, which generally means the number of times it has been loaded. 

Objects that build derived data based on the resource can check this value against a copy they kept last time they built this derived data, in order to know whether it needs rebuilding. This is a nice way of monitoring changes without having a tightly-\/bound callback. \mbox{\Hypertarget{class_ogre_1_1_resource_afcb4a61b965600a67ca2c2f060821db9}\label{class_ogre_1_1_resource_afcb4a61b965600a67ca2c2f060821db9}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+dirty\+State@{\+\_\+dirty\+State}}
\index{\+\_\+dirty\+State@{\+\_\+dirty\+State}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+dirty\+State()}{\_dirtyState()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+::\+\_\+dirty\+State (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Manually mark the state of this resource as having been changed. 

\begin{DoxyRemark}{Remarks}
You only need to call this from outside if you explicitly want derived objects to think this object has changed. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_ade85e4d5579519e4117a84789c0ae8fd}{get\+State\+Count}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_aa68664db6b8723dc198beef3d21d4ef5}\label{class_ogre_1_1_resource_aa68664db6b8723dc198beef3d21d4ef5}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+fire\+Loading\+Complete@{\+\_\+fire\+Loading\+Complete}}
\index{\+\_\+fire\+Loading\+Complete@{\+\_\+fire\+Loading\+Complete}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+fire\+Loading\+Complete()}{\_fireLoadingComplete()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+::\+\_\+fire\+Loading\+Complete (\begin{DoxyParamCaption}\item[{bool}]{was\+Background\+Loaded }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Firing of loading complete event. 

\begin{DoxyRemark}{Remarks}
You should call this from the thread that runs the main frame loop to avoid having to make the receivers of this event thread-\/safe. If you use \hyperlink{namespace_ogre}{Ogre}\textquotesingle{}s built in frame loop you don\textquotesingle{}t need to call this yourself. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em was\+Background\+Loaded} & Whether this was a background loaded event \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_aaf63d096584ac7d97fe1d1b0226c9561}\label{class_ogre_1_1_resource_aaf63d096584ac7d97fe1d1b0226c9561}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+fire\+Preparing\+Complete@{\+\_\+fire\+Preparing\+Complete}}
\index{\+\_\+fire\+Preparing\+Complete@{\+\_\+fire\+Preparing\+Complete}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+fire\+Preparing\+Complete()}{\_firePreparingComplete()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+::\+\_\+fire\+Preparing\+Complete (\begin{DoxyParamCaption}\item[{bool}]{was\+Background\+Loaded }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Firing of preparing complete event. 

\begin{DoxyRemark}{Remarks}
You should call this from the thread that runs the main frame loop to avoid having to make the receivers of this event thread-\/safe. If you use \hyperlink{namespace_ogre}{Ogre}\textquotesingle{}s built in frame loop you don\textquotesingle{}t need to call this yourself. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em was\+Background\+Loaded} & Whether this was a background loaded event \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_aaf3746937cd11864f53bc1c3b4437541}\label{class_ogre_1_1_resource_aaf3746937cd11864f53bc1c3b4437541}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!\+\_\+fire\+Unloading\+Complete@{\+\_\+fire\+Unloading\+Complete}}
\index{\+\_\+fire\+Unloading\+Complete@{\+\_\+fire\+Unloading\+Complete}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{\+\_\+fire\+Unloading\+Complete()}{\_fireUnloadingComplete()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+::\+\_\+fire\+Unloading\+Complete (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Firing of unloading complete event. 

\begin{DoxyRemark}{Remarks}
You should call this from the thread that runs the main frame loop to avoid having to make the receivers of this event thread-\/safe. If you use \hyperlink{namespace_ogre}{Ogre}\textquotesingle{}s built in frame loop you don\textquotesingle{}t need to call this yourself. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_string_interface_ae3e13925bde11db245f6c9bbf5031a93}\label{class_ogre_1_1_string_interface_ae3e13925bde11db245f6c9bbf5031a93}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Param\+Dictionary@{get\+Param\+Dictionary}}
\index{get\+Param\+Dictionary@{get\+Param\+Dictionary}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Param\+Dictionary()}{getParamDictionary()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_param_dictionary}{Param\+Dictionary}$\ast$ Ogre\+::\+String\+Interface\+::get\+Param\+Dictionary (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Retrieves the parameter dictionary for this class. 

\begin{DoxyRemark}{Remarks}
Only valid to call this after create\+Param\+Dictionary. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
Pointer to \hyperlink{class_ogre_1_1_param_dictionary}{Param\+Dictionary} shared by all instances of this class which you can add parameters to, retrieve parameters etc. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_string_interface_a0f55da0550a7e1ab70a1c8bf598a3e20}\label{class_ogre_1_1_string_interface_a0f55da0550a7e1ab70a1c8bf598a3e20}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Param\+Dictionary@{get\+Param\+Dictionary}}
\index{get\+Param\+Dictionary@{get\+Param\+Dictionary}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Param\+Dictionary()}{getParamDictionary()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_param_dictionary}{Param\+Dictionary}$\ast$ Ogre\+::\+String\+Interface\+::get\+Param\+Dictionary (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_string_interface_ad4b984bfbf148ddb3310b3d0ba8a9d5d}\label{class_ogre_1_1_string_interface_ad4b984bfbf148ddb3310b3d0ba8a9d5d}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Parameters@{get\+Parameters}}
\index{get\+Parameters@{get\+Parameters}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Parameters()}{getParameters()}}
{\footnotesize\ttfamily const \hyperlink{group___general_ga1838c2b0619ade1f5e29767062212872}{Parameter\+List}\& Ogre\+::\+String\+Interface\+::get\+Parameters (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Retrieves a list of parameters valid for this object. 

\begin{DoxyReturn}{Returns}
A reference to a static list of \hyperlink{class_ogre_1_1_parameter_def}{Parameter\+Def} objects. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_string_interface_a08d117bf25f011f96d81f1f4ecb25113}\label{class_ogre_1_1_string_interface_a08d117bf25f011f96d81f1f4ecb25113}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!set\+Parameter@{set\+Parameter}}
\index{set\+Parameter@{set\+Parameter}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{set\+Parameter()}{setParameter()}}
{\footnotesize\ttfamily bool Ogre\+::\+String\+Interface\+::set\+Parameter (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic parameter setting method. 

\begin{DoxyRemark}{Remarks}
Call this method with the name of a parameter and a string version of the value to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from \hyperlink{class_ogre_1_1_string_interface_ad4b984bfbf148ddb3310b3d0ba8a9d5d}{String\+Interface\+::get\+Parameters}. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The name of the parameter to set \\
\hline
{\em value} & String value. Must be in the right format for the type specified in the parameter definition. See the \hyperlink{class_ogre_1_1_string_converter}{String\+Converter} class for more information. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if set was successful, false otherwise (NB no exceptions thrown -\/ tolerant method) 
\end{DoxyReturn}


Referenced by Ogre\+::\+String\+Interface\+::copy\+Parameters\+To().

\mbox{\Hypertarget{class_ogre_1_1_string_interface_a9aac32f93bd149a34b809a57a9f01f8f}\label{class_ogre_1_1_string_interface_a9aac32f93bd149a34b809a57a9f01f8f}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!set\+Parameter\+List@{set\+Parameter\+List}}
\index{set\+Parameter\+List@{set\+Parameter\+List}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{set\+Parameter\+List()}{setParameterList()}}
{\footnotesize\ttfamily void Ogre\+::\+String\+Interface\+::set\+Parameter\+List (\begin{DoxyParamCaption}\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} \&}]{param\+List }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic multiple parameter setting method. 

\begin{DoxyRemark}{Remarks}
Call this method with a list of name / value pairs to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from \hyperlink{class_ogre_1_1_string_interface_ad4b984bfbf148ddb3310b3d0ba8a9d5d}{String\+Interface\+::get\+Parameters}. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em param\+List} & Name/value pair list \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_string_interface_a1d078304c38a9f85d483fc8ed0cdf1fe}\label{class_ogre_1_1_string_interface_a1d078304c38a9f85d483fc8ed0cdf1fe}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!get\+Parameter@{get\+Parameter}}
\index{get\+Parameter@{get\+Parameter}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{get\+Parameter()}{getParameter()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+String\+Interface\+::get\+Parameter (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Generic parameter retrieval method. 

\begin{DoxyRemark}{Remarks}
Call this method with the name of a parameter to retrieve a string-\/format value of the parameter in question. If in doubt, check the parameter definition in the list returned from get\+Parameters for the type of this parameter. If you like you can use \hyperlink{class_ogre_1_1_string_converter}{String\+Converter} to convert this string back into a native type. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The name of the parameter to get \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
String value of parameter, blank if not found 
\end{DoxyReturn}


References Ogre\+::\+Param\+Command\+::do\+Get().

\mbox{\Hypertarget{class_ogre_1_1_string_interface_aad68d8b18faad14e8286a67527094654}\label{class_ogre_1_1_string_interface_aad68d8b18faad14e8286a67527094654}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!copy\+Parameters\+To@{copy\+Parameters\+To}}
\index{copy\+Parameters\+To@{copy\+Parameters\+To}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{copy\+Parameters\+To()}{copyParametersTo()}}
{\footnotesize\ttfamily void Ogre\+::\+String\+Interface\+::copy\+Parameters\+To (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_string_interface}{String\+Interface} $\ast$}]{dest }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Method for copying this object\textquotesingle{}s parameters to another object. 

\begin{DoxyRemark}{Remarks}
This method takes the values of all the object\textquotesingle{}s parameters and tries to set the same values on the destination object. This provides a completely type independent way to copy parameters to other objects. Note that because of the String manipulation involved, this should not be regarded as an efficient process and should be saved for times outside of the rendering loop. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
\hyperlink{class_ogre_1_1_any}{Any} unrecognised parameters will be ignored as with set\+Parameter method. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em dest} & Pointer to object to have it\textquotesingle{}s parameters set the same as this object. \\
\hline
\end{DoxyParams}


References Ogre\+::\+String\+Interface\+::set\+Parameter().

\mbox{\Hypertarget{class_ogre_1_1_string_interface_a1bea65fa2b3c2ac5a9f3be59b46a80e8}\label{class_ogre_1_1_string_interface_a1bea65fa2b3c2ac5a9f3be59b46a80e8}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!cleanup\+Dictionary@{cleanup\+Dictionary}}
\index{cleanup\+Dictionary@{cleanup\+Dictionary}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{cleanup\+Dictionary()}{cleanupDictionary()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Interface\+::cleanup\+Dictionary (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}



Cleans up the static \textquotesingle{}ms\+Dictionary\textquotesingle{} required to reset \hyperlink{namespace_ogre}{Ogre}, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} implementers (e.\+g. 

\hyperlink{class_ogre_1_1_material_manager}{Material\+Manager}) initializes. 

\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_bsp_level_a76934cdb132579a189b802280a1b140e}\label{class_ogre_1_1_bsp_level_a76934cdb132579a189b802280a1b140e}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!Bsp\+Scene\+Manager@{Bsp\+Scene\+Manager}}
\index{Bsp\+Scene\+Manager@{Bsp\+Scene\+Manager}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{Bsp\+Scene\+Manager}{BspSceneManager}}
{\footnotesize\ttfamily friend class \hyperlink{class_ogre_1_1_bsp_scene_manager}{Bsp\+Scene\+Manager}\hspace{0.3cm}{\ttfamily [friend]}}



\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_resource_a104d9db8bfcff1f37b29157bbe070f7a}\label{class_ogre_1_1_resource_a104d9db8bfcff1f37b29157bbe070f7a}} 
\index{Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}!O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX@{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}}
\index{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX@{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}!Ogre\+::\+Bsp\+Level@{Ogre\+::\+Bsp\+Level}}
\subsubsection{\texorpdfstring{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}{OGRE\_AUTO\_MUTEX}}
{\footnotesize\ttfamily Ogre\+::\+Resource\+::\+O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX\hspace{0.3cm}{\ttfamily [inherited]}}



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