\hypertarget{class_ogre_1_1_quake3_level}{}\section{Ogre\+:\+:Quake3\+Level Class Reference}
\label{class_ogre_1_1_quake3_level}\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}


Support for loading and extracting data from a Quake3 level file.  




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



Inheritance diagram for Ogre\+:\+:Quake3\+Level\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=190pt]{class_ogre_1_1_quake3_level__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_quake3_level_a34f3c49164fba86c97db55479f98204b}{Quake3\+Level} ()
\item 
void \hyperlink{class_ogre_1_1_quake3_level_a6f6a8604a0f80c4db59d8c630a69910a}{dump\+Contents} (void)
\begin{DoxyCompactList}\small\item\em Debug method. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_quake3_level_a5dbee61389617b58e249a2fae8ddd2b5}{extract\+Lightmaps} (void) const
\item 
void $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a84a14c3ee837b733b0d2014298b07481}{get\+Lump} (int lump\+Type)
\begin{DoxyCompactList}\small\item\em Utility function to return a pointer to a lump. \end{DoxyCompactList}\item 
int \hyperlink{class_ogre_1_1_quake3_level_a65a7fab400575fcf6f654cbb6cc0f87d}{get\+Lump\+Size} (int lump\+Type)
\item 
void \hyperlink{class_ogre_1_1_quake3_level_a8e0bbc2508ca43150dabb2d297368d94}{initialise} (bool header\+Only=false)
\begin{DoxyCompactList}\small\item\em Utility function read the header and set up pointers. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_quake3_level_a627b23228490f9c10f330364bcdb4dae}{initialise\+Counts} (void)
\begin{DoxyCompactList}\small\item\em Utility function read the header and set up counters. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_quake3_level_af980b63b8a960930082fe58321218499}{initialise\+Pointers} (void)
\begin{DoxyCompactList}\small\item\em Utility function read the header and set up pointers. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_quake3_level_af89580d6e9c2e9176b7109a794b82b74}{load\+From\+Stream} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&in\+Stream)
\begin{DoxyCompactList}\small\item\em Reads Quake3 bsp data from a stream as read from the file. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_quake3_level_a9dcdd39024abfbf98cef0b56f664dd10}{load\+Header\+From\+Stream} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&in\+Stream)
\begin{DoxyCompactList}\small\item\em Load just the header information from a Quake3 file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structbsp__brush__t}{bsp\+\_\+brush\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a7553ee95b6dd1d91519891bb8492a7cd}{m\+Brushes}
\item 
\hyperlink{structbsp__brushside__t}{bsp\+\_\+brushside\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a14b772c2df273e7657ae96bc2f422671}{m\+Brush\+Sides}
\item 
\hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr} \hyperlink{class_ogre_1_1_quake3_level_ac5b187531ca3ea3f8ed6c05e36c536b9}{m\+Chunk}
\item 
int $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a2acfd1b5ad4a076b080f6992dc9c2f9d}{m\+Elements}
\item 
void $\ast$ \hyperlink{class_ogre_1_1_quake3_level_ae6fce6b8862c5fc35ee94d3fb21f3e57}{m\+Entities}
\item 
\hyperlink{structbsp__face__t}{bsp\+\_\+face\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a578fc34a9e93d0486962f70ee5d6744f}{m\+Faces}
\item 
\hyperlink{structbsp__header__t}{bsp\+\_\+header\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a40578ec27f37435745b345ea975ef85d}{m\+Header}
\item 
int $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a3b1152a46a229ef9c4ed095869ac189d}{m\+Leaf\+Brushes}
\item 
int $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a64d071ad3a22b0d28cdb88d0c161a116}{m\+Leaf\+Faces}
\item 
\hyperlink{structbsp__leaf__t}{bsp\+\_\+leaf\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a78223ef26d9805187716150d3b6095e2}{m\+Leaves}
\item 
unsigned char $\ast$ \hyperlink{class_ogre_1_1_quake3_level_acbc07544fa5c7deb7c9e0be8b339603e}{m\+Lightmaps}
\item 
unsigned char $\ast$ \hyperlink{class_ogre_1_1_quake3_level_ad62b759955f9a526a10b1c39d237c84f}{m\+Lump\+Start}
\item 
\hyperlink{structbsp__model__t}{bsp\+\_\+model\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a76ef64eadd5efca15be9c437242bbb2a}{m\+Models}
\item 
\hyperlink{structbsp__node__t}{bsp\+\_\+node\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a75a2be9a57305260131a322e388f6662}{m\+Nodes}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a792418f15d8b55468f8fca1d951de834}{m\+Num\+Brushes}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_aa5461890bdcf1b9c0f9bd92e9d451298}{m\+Num\+Brush\+Sides}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_ab4bc1871ee8df18efeea396702759d69}{m\+Num\+Elements}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a815a5461cb601dd34c2763be92ff8e63}{m\+Num\+Entities}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a8e8d59282d68f7fddf3da740a7b16026}{m\+Num\+Faces}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a46d8cb998181b7176028ec1390e4a646}{m\+Num\+Leaf\+Brushes}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a0dabe8022c92c8474c8bb09eb0731ad2}{m\+Num\+Leaf\+Faces}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a7113d1bfb7498aa8830bd658b3c50820}{m\+Num\+Leaves}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_abf79e30236f7a13ad480e03090e8b53f}{m\+Num\+Lightmaps}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_a6a759263794d11dbe6ed691cb9eb4822}{m\+Num\+Models}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_ad7bd4deb8c5a2fef5a3995d1f7b44a92}{m\+Num\+Nodes}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_aa70946a097c4c1ca30d4e4b703001e06}{m\+Num\+Planes}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_aba7de8486837255aa713299c72109893}{m\+Num\+Shaders}
\item 
int \hyperlink{class_ogre_1_1_quake3_level_afe2fa0b137dc9563030b6279440059a7}{m\+Num\+Vertices}
\item 
\hyperlink{structbsp__plane__t}{bsp\+\_\+plane\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a803cec1cc897f9f77dffc179907c3271}{m\+Planes}
\item 
\hyperlink{structbsp__shader__t}{bsp\+\_\+shader\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a17f39ebd42aa55a73805b21b2a71436e}{m\+Shaders}
\item 
\hyperlink{structbsp__vertex__t}{bsp\+\_\+vertex\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_ae9f125b3933bdc658300b6f9cd84dd47}{m\+Vertices}
\item 
\hyperlink{structbsp__vis__t}{bsp\+\_\+vis\+\_\+t} $\ast$ \hyperlink{class_ogre_1_1_quake3_level_a058deee088e022627e5544116f9c92b0}{m\+Vis}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Support for loading and extracting data from a Quake3 level file. 

This class implements the required methods for opening Quake3 level files and extracting the pertinent data within. \hyperlink{namespace_ogre}{Ogre} supports B\+SP based levels through it\textquotesingle{}s own \hyperlink{class_ogre_1_1_bsp_level}{Bsp\+Level} class, which is not specific to any file format, so this class is here to source that data from the Quake3 format. Quake3 levels include far more than just data for rendering -\/ typically the {\bfseries leaves} of the tree are used for rendering, and {\bfseries brushes,} are used to define convex hulls made of planes for collision detection. There are also {\bfseries entities} which define non-\/visual elements like player start points, triggers etc and {\bfseries models} which are used for movable scenery like doors and platforms. {\bfseries Shaders} meanwhile are textures with extra effects and \textquotesingle{}content flags\textquotesingle{} indicating special properties like water or lava. I will try to support as much of this as I can in \hyperlink{namespace_ogre}{Ogre}, but I won\textquotesingle{}t duplicate the structure or necessarily use the same terminology. Quake3 is designed for a very specific purpose and code structure, whereas \hyperlink{namespace_ogre}{Ogre} is designed to be more flexible, so for example I\textquotesingle{}m likely to separate game-\/related properties like surface flags from the generics of materials in my implementation. This is a utility class only -\/ a single call to load\+From\+Chunk should be enough. You should not expect the state of this object to be consistent between calls, since it uses pointers to memory which may no longer be valid after the original call. This is why it has no accessor methods for reading it\textquotesingle{}s internal state. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a34f3c49164fba86c97db55479f98204b}\label{class_ogre_1_1_quake3_level_a34f3c49164fba86c97db55479f98204b}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!Quake3\+Level@{Quake3\+Level}}
\index{Quake3\+Level@{Quake3\+Level}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{Quake3\+Level()}{Quake3Level()}}
{\footnotesize\ttfamily Ogre\+::\+Quake3\+Level\+::\+Quake3\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a9dcdd39024abfbf98cef0b56f664dd10}\label{class_ogre_1_1_quake3_level_a9dcdd39024abfbf98cef0b56f664dd10}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!load\+Header\+From\+Stream@{load\+Header\+From\+Stream}}
\index{load\+Header\+From\+Stream@{load\+Header\+From\+Stream}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{load\+Header\+From\+Stream()}{loadHeaderFromStream()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::load\+Header\+From\+Stream (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{in\+Stream }\end{DoxyParamCaption})}



Load just the header information from a Quake3 file. 

\begin{DoxyRemark}{Remarks}
This method loads just the header information from the Quake3 file, in order to estimate the loading time. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_quake3_level_af89580d6e9c2e9176b7109a794b82b74}\label{class_ogre_1_1_quake3_level_af89580d6e9c2e9176b7109a794b82b74}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!load\+From\+Stream@{load\+From\+Stream}}
\index{load\+From\+Stream@{load\+From\+Stream}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{load\+From\+Stream()}{loadFromStream()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::load\+From\+Stream (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{in\+Stream }\end{DoxyParamCaption})}



Reads Quake3 bsp data from a stream as read from the file. 

Since Resource\+Managers generally locate data in a variety of places they typically manipulate them as a chunk of data, rather than a file pointer since this is unsupported through compressed archives. Quake3 files are made up of a header (which contains version info and a table of the contents) and 17 \textquotesingle{}lumps\textquotesingle{} i.\+e. sections of data, the offsets to which are kept in the table of contents. The 17 types are predefined (You can find them in \hyperlink{_ogre_quake3_types_8h}{Ogre\+Quake3\+Types.\+h})


\begin{DoxyParams}{Parameters}
{\em in\+Stream} & Stream containing Quake3 data \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a5dbee61389617b58e249a2fae8ddd2b5}\label{class_ogre_1_1_quake3_level_a5dbee61389617b58e249a2fae8ddd2b5}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!extract\+Lightmaps@{extract\+Lightmaps}}
\index{extract\+Lightmaps@{extract\+Lightmaps}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{extract\+Lightmaps()}{extractLightmaps()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::extract\+Lightmaps (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a8e0bbc2508ca43150dabb2d297368d94}\label{class_ogre_1_1_quake3_level_a8e0bbc2508ca43150dabb2d297368d94}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!initialise@{initialise}}
\index{initialise@{initialise}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{initialise()}{initialise()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::initialise (\begin{DoxyParamCaption}\item[{bool}]{header\+Only = {\ttfamily false} }\end{DoxyParamCaption})}



Utility function read the header and set up pointers. 

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a627b23228490f9c10f330364bcdb4dae}\label{class_ogre_1_1_quake3_level_a627b23228490f9c10f330364bcdb4dae}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!initialise\+Counts@{initialise\+Counts}}
\index{initialise\+Counts@{initialise\+Counts}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{initialise\+Counts()}{initialiseCounts()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::initialise\+Counts (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Utility function read the header and set up counters. 

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_af980b63b8a960930082fe58321218499}\label{class_ogre_1_1_quake3_level_af980b63b8a960930082fe58321218499}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!initialise\+Pointers@{initialise\+Pointers}}
\index{initialise\+Pointers@{initialise\+Pointers}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{initialise\+Pointers()}{initialisePointers()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::initialise\+Pointers (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Utility function read the header and set up pointers. 

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a84a14c3ee837b733b0d2014298b07481}\label{class_ogre_1_1_quake3_level_a84a14c3ee837b733b0d2014298b07481}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!get\+Lump@{get\+Lump}}
\index{get\+Lump@{get\+Lump}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{get\+Lump()}{getLump()}}
{\footnotesize\ttfamily void$\ast$ Ogre\+::\+Quake3\+Level\+::get\+Lump (\begin{DoxyParamCaption}\item[{int}]{lump\+Type }\end{DoxyParamCaption})}



Utility function to return a pointer to a lump. 

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a65a7fab400575fcf6f654cbb6cc0f87d}\label{class_ogre_1_1_quake3_level_a65a7fab400575fcf6f654cbb6cc0f87d}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!get\+Lump\+Size@{get\+Lump\+Size}}
\index{get\+Lump\+Size@{get\+Lump\+Size}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{get\+Lump\+Size()}{getLumpSize()}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::get\+Lump\+Size (\begin{DoxyParamCaption}\item[{int}]{lump\+Type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a6f6a8604a0f80c4db59d8c630a69910a}\label{class_ogre_1_1_quake3_level_a6f6a8604a0f80c4db59d8c630a69910a}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!dump\+Contents@{dump\+Contents}}
\index{dump\+Contents@{dump\+Contents}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{dump\+Contents()}{dumpContents()}}
{\footnotesize\ttfamily void Ogre\+::\+Quake3\+Level\+::dump\+Contents (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Debug method. 



\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ac5b187531ca3ea3f8ed6c05e36c536b9}\label{class_ogre_1_1_quake3_level_ac5b187531ca3ea3f8ed6c05e36c536b9}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Chunk@{m\+Chunk}}
\index{m\+Chunk@{m\+Chunk}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Chunk}{mChunk}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af8656a2c0ef06642f70c4b3745ee80a2}{Memory\+Data\+Stream\+Ptr} Ogre\+::\+Quake3\+Level\+::m\+Chunk}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a40578ec27f37435745b345ea975ef85d}\label{class_ogre_1_1_quake3_level_a40578ec27f37435745b345ea975ef85d}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Header@{m\+Header}}
\index{m\+Header@{m\+Header}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Header}{mHeader}}
{\footnotesize\ttfamily \hyperlink{structbsp__header__t}{bsp\+\_\+header\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Header}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ad62b759955f9a526a10b1c39d237c84f}\label{class_ogre_1_1_quake3_level_ad62b759955f9a526a10b1c39d237c84f}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Lump\+Start@{m\+Lump\+Start}}
\index{m\+Lump\+Start@{m\+Lump\+Start}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Lump\+Start}{mLumpStart}}
{\footnotesize\ttfamily unsigned char$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Lump\+Start}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a2acfd1b5ad4a076b080f6992dc9c2f9d}\label{class_ogre_1_1_quake3_level_a2acfd1b5ad4a076b080f6992dc9c2f9d}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Elements@{m\+Elements}}
\index{m\+Elements@{m\+Elements}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Elements}{mElements}}
{\footnotesize\ttfamily int$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Elements}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ab4bc1871ee8df18efeea396702759d69}\label{class_ogre_1_1_quake3_level_ab4bc1871ee8df18efeea396702759d69}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Elements@{m\+Num\+Elements}}
\index{m\+Num\+Elements@{m\+Num\+Elements}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Elements}{mNumElements}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Elements}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ae6fce6b8862c5fc35ee94d3fb21f3e57}\label{class_ogre_1_1_quake3_level_ae6fce6b8862c5fc35ee94d3fb21f3e57}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Entities@{m\+Entities}}
\index{m\+Entities@{m\+Entities}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Entities}{mEntities}}
{\footnotesize\ttfamily void$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Entities}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a815a5461cb601dd34c2763be92ff8e63}\label{class_ogre_1_1_quake3_level_a815a5461cb601dd34c2763be92ff8e63}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Entities@{m\+Num\+Entities}}
\index{m\+Num\+Entities@{m\+Num\+Entities}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Entities}{mNumEntities}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Entities}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a76ef64eadd5efca15be9c437242bbb2a}\label{class_ogre_1_1_quake3_level_a76ef64eadd5efca15be9c437242bbb2a}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Models@{m\+Models}}
\index{m\+Models@{m\+Models}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Models}{mModels}}
{\footnotesize\ttfamily \hyperlink{structbsp__model__t}{bsp\+\_\+model\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Models}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a6a759263794d11dbe6ed691cb9eb4822}\label{class_ogre_1_1_quake3_level_a6a759263794d11dbe6ed691cb9eb4822}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Models@{m\+Num\+Models}}
\index{m\+Num\+Models@{m\+Num\+Models}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Models}{mNumModels}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Models}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a75a2be9a57305260131a322e388f6662}\label{class_ogre_1_1_quake3_level_a75a2be9a57305260131a322e388f6662}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Nodes@{m\+Nodes}}
\index{m\+Nodes@{m\+Nodes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Nodes}{mNodes}}
{\footnotesize\ttfamily \hyperlink{structbsp__node__t}{bsp\+\_\+node\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Nodes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ad7bd4deb8c5a2fef5a3995d1f7b44a92}\label{class_ogre_1_1_quake3_level_ad7bd4deb8c5a2fef5a3995d1f7b44a92}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Nodes@{m\+Num\+Nodes}}
\index{m\+Num\+Nodes@{m\+Num\+Nodes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Nodes}{mNumNodes}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Nodes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a78223ef26d9805187716150d3b6095e2}\label{class_ogre_1_1_quake3_level_a78223ef26d9805187716150d3b6095e2}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Leaves@{m\+Leaves}}
\index{m\+Leaves@{m\+Leaves}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Leaves}{mLeaves}}
{\footnotesize\ttfamily \hyperlink{structbsp__leaf__t}{bsp\+\_\+leaf\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Leaves}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a7113d1bfb7498aa8830bd658b3c50820}\label{class_ogre_1_1_quake3_level_a7113d1bfb7498aa8830bd658b3c50820}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Leaves@{m\+Num\+Leaves}}
\index{m\+Num\+Leaves@{m\+Num\+Leaves}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Leaves}{mNumLeaves}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Leaves}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a64d071ad3a22b0d28cdb88d0c161a116}\label{class_ogre_1_1_quake3_level_a64d071ad3a22b0d28cdb88d0c161a116}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Leaf\+Faces@{m\+Leaf\+Faces}}
\index{m\+Leaf\+Faces@{m\+Leaf\+Faces}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Leaf\+Faces}{mLeafFaces}}
{\footnotesize\ttfamily int$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Leaf\+Faces}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a0dabe8022c92c8474c8bb09eb0731ad2}\label{class_ogre_1_1_quake3_level_a0dabe8022c92c8474c8bb09eb0731ad2}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Leaf\+Faces@{m\+Num\+Leaf\+Faces}}
\index{m\+Num\+Leaf\+Faces@{m\+Num\+Leaf\+Faces}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Leaf\+Faces}{mNumLeafFaces}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Leaf\+Faces}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a803cec1cc897f9f77dffc179907c3271}\label{class_ogre_1_1_quake3_level_a803cec1cc897f9f77dffc179907c3271}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Planes@{m\+Planes}}
\index{m\+Planes@{m\+Planes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Planes}{mPlanes}}
{\footnotesize\ttfamily \hyperlink{structbsp__plane__t}{bsp\+\_\+plane\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Planes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_aa70946a097c4c1ca30d4e4b703001e06}\label{class_ogre_1_1_quake3_level_aa70946a097c4c1ca30d4e4b703001e06}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Planes@{m\+Num\+Planes}}
\index{m\+Num\+Planes@{m\+Num\+Planes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Planes}{mNumPlanes}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Planes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a578fc34a9e93d0486962f70ee5d6744f}\label{class_ogre_1_1_quake3_level_a578fc34a9e93d0486962f70ee5d6744f}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Faces@{m\+Faces}}
\index{m\+Faces@{m\+Faces}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Faces}{mFaces}}
{\footnotesize\ttfamily \hyperlink{structbsp__face__t}{bsp\+\_\+face\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Faces}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a8e8d59282d68f7fddf3da740a7b16026}\label{class_ogre_1_1_quake3_level_a8e8d59282d68f7fddf3da740a7b16026}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Faces@{m\+Num\+Faces}}
\index{m\+Num\+Faces@{m\+Num\+Faces}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Faces}{mNumFaces}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Faces}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_ae9f125b3933bdc658300b6f9cd84dd47}\label{class_ogre_1_1_quake3_level_ae9f125b3933bdc658300b6f9cd84dd47}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Vertices@{m\+Vertices}}
\index{m\+Vertices@{m\+Vertices}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Vertices}{mVertices}}
{\footnotesize\ttfamily \hyperlink{structbsp__vertex__t}{bsp\+\_\+vertex\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Vertices}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_afe2fa0b137dc9563030b6279440059a7}\label{class_ogre_1_1_quake3_level_afe2fa0b137dc9563030b6279440059a7}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Vertices@{m\+Num\+Vertices}}
\index{m\+Num\+Vertices@{m\+Num\+Vertices}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Vertices}{mNumVertices}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Vertices}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a17f39ebd42aa55a73805b21b2a71436e}\label{class_ogre_1_1_quake3_level_a17f39ebd42aa55a73805b21b2a71436e}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Shaders@{m\+Shaders}}
\index{m\+Shaders@{m\+Shaders}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Shaders}{mShaders}}
{\footnotesize\ttfamily \hyperlink{structbsp__shader__t}{bsp\+\_\+shader\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Shaders}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_aba7de8486837255aa713299c72109893}\label{class_ogre_1_1_quake3_level_aba7de8486837255aa713299c72109893}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Shaders@{m\+Num\+Shaders}}
\index{m\+Num\+Shaders@{m\+Num\+Shaders}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Shaders}{mNumShaders}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Shaders}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_acbc07544fa5c7deb7c9e0be8b339603e}\label{class_ogre_1_1_quake3_level_acbc07544fa5c7deb7c9e0be8b339603e}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Lightmaps@{m\+Lightmaps}}
\index{m\+Lightmaps@{m\+Lightmaps}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Lightmaps}{mLightmaps}}
{\footnotesize\ttfamily unsigned char$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Lightmaps}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_abf79e30236f7a13ad480e03090e8b53f}\label{class_ogre_1_1_quake3_level_abf79e30236f7a13ad480e03090e8b53f}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Lightmaps@{m\+Num\+Lightmaps}}
\index{m\+Num\+Lightmaps@{m\+Num\+Lightmaps}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Lightmaps}{mNumLightmaps}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Lightmaps}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a058deee088e022627e5544116f9c92b0}\label{class_ogre_1_1_quake3_level_a058deee088e022627e5544116f9c92b0}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Vis@{m\+Vis}}
\index{m\+Vis@{m\+Vis}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Vis}{mVis}}
{\footnotesize\ttfamily \hyperlink{structbsp__vis__t}{bsp\+\_\+vis\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Vis}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a7553ee95b6dd1d91519891bb8492a7cd}\label{class_ogre_1_1_quake3_level_a7553ee95b6dd1d91519891bb8492a7cd}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Brushes@{m\+Brushes}}
\index{m\+Brushes@{m\+Brushes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Brushes}{mBrushes}}
{\footnotesize\ttfamily \hyperlink{structbsp__brush__t}{bsp\+\_\+brush\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Brushes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a792418f15d8b55468f8fca1d951de834}\label{class_ogre_1_1_quake3_level_a792418f15d8b55468f8fca1d951de834}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Brushes@{m\+Num\+Brushes}}
\index{m\+Num\+Brushes@{m\+Num\+Brushes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Brushes}{mNumBrushes}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Brushes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a14b772c2df273e7657ae96bc2f422671}\label{class_ogre_1_1_quake3_level_a14b772c2df273e7657ae96bc2f422671}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Brush\+Sides@{m\+Brush\+Sides}}
\index{m\+Brush\+Sides@{m\+Brush\+Sides}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Brush\+Sides}{mBrushSides}}
{\footnotesize\ttfamily \hyperlink{structbsp__brushside__t}{bsp\+\_\+brushside\+\_\+t}$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Brush\+Sides}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_aa5461890bdcf1b9c0f9bd92e9d451298}\label{class_ogre_1_1_quake3_level_aa5461890bdcf1b9c0f9bd92e9d451298}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Brush\+Sides@{m\+Num\+Brush\+Sides}}
\index{m\+Num\+Brush\+Sides@{m\+Num\+Brush\+Sides}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Brush\+Sides}{mNumBrushSides}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Brush\+Sides}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a3b1152a46a229ef9c4ed095869ac189d}\label{class_ogre_1_1_quake3_level_a3b1152a46a229ef9c4ed095869ac189d}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Leaf\+Brushes@{m\+Leaf\+Brushes}}
\index{m\+Leaf\+Brushes@{m\+Leaf\+Brushes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Leaf\+Brushes}{mLeafBrushes}}
{\footnotesize\ttfamily int$\ast$ Ogre\+::\+Quake3\+Level\+::m\+Leaf\+Brushes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_level_a46d8cb998181b7176028ec1390e4a646}\label{class_ogre_1_1_quake3_level_a46d8cb998181b7176028ec1390e4a646}} 
\index{Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}!m\+Num\+Leaf\+Brushes@{m\+Num\+Leaf\+Brushes}}
\index{m\+Num\+Leaf\+Brushes@{m\+Num\+Leaf\+Brushes}!Ogre\+::\+Quake3\+Level@{Ogre\+::\+Quake3\+Level}}
\subsubsection{\texorpdfstring{m\+Num\+Leaf\+Brushes}{mNumLeafBrushes}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Level\+::m\+Num\+Leaf\+Brushes}



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