\hypertarget{class_ogre_1_1_grid3_d_page_strategy}{}\section{Ogre\+:\+:Grid3\+D\+Page\+Strategy Class Reference}
\label{class_ogre_1_1_grid3_d_page_strategy}\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}


\hyperlink{class_ogre_1_1_page}{Page} strategy which loads new pages based on a regular 3D grid.  




{\ttfamily \#include $<$Ogre\+Grid3\+D\+Page\+Strategy.\+h$>$}



Inheritance diagram for Ogre\+:\+:Grid3\+D\+Page\+Strategy\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=224pt]{class_ogre_1_1_grid3_d_page_strategy__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_grid3_d_page_strategy_ae6874dc60fa86f45dc04e28f69685833}{Grid3\+D\+Page\+Strategy} (\hyperlink{class_ogre_1_1_page_manager}{Page\+Manager} $\ast$manager)
\item 
\hyperlink{class_ogre_1_1_grid3_d_page_strategy_a5f68c64e312d28a0915303f75fa9e442}{$\sim$\+Grid3\+D\+Page\+Strategy} ()
\item 
\hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} $\ast$ \hyperlink{class_ogre_1_1_grid3_d_page_strategy_a95954c4987a977e25c835bd116e63a22}{create\+Data} ()
\begin{DoxyCompactList}\small\item\em Create a \hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} instance containing the data specific to this \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy}. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_grid3_d_page_strategy_ac15aee85717bf206333658917836bfd0}{destroy\+Data} (\hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} $\ast$d)
\begin{DoxyCompactList}\small\item\em Destroy a \hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} instance containing the data specific to this \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy}. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_page_strategy_a1990d8b1110ac0555e3ec18da77675b8}{frame\+End} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} time\+Elapsed, \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$section)
\begin{DoxyCompactList}\small\item\em Called when the frame ends. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_page_strategy_adb6fc9f82a8ea955971b46c052a151af}{frame\+Start} (\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} time\+Since\+Last\+Frame, \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$section)
\begin{DoxyCompactList}\small\item\em Called when the frame starts. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_page_manager}{Page\+Manager} $\ast$ \hyperlink{class_ogre_1_1_page_strategy_a79dc7f55274f677dac8bf64798f4bbea}{get\+Manager} () const
\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_page_strategy_a1b175f0b77c05ed13df9d917b71c6a31}{get\+Name} () const
\item 
\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID} \hyperlink{class_ogre_1_1_grid3_d_page_strategy_a31cb931801f78214a25733df20ad10fc}{get\+Page\+ID} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&world\+Pos, \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$section)
\begin{DoxyCompactList}\small\item\em Get the page ID for a given world position. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_grid3_d_page_strategy_a93731f5971fba009a64bc4e4d8ce8517}{notify\+Camera} (\hyperlink{class_ogre_1_1_camera}{Camera} $\ast$cam, \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$section)
\begin{DoxyCompactList}\small\item\em Called when a camera is used for any kind of rendering. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_grid3_d_page_strategy_a32e80bd39ff8f3d9b9a35d5f2d1f0751}{update\+Debug\+Display} (\hyperlink{class_ogre_1_1_page}{Page} $\ast$p, \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} $\ast$sn)
\begin{DoxyCompactList}\small\item\em Update the contents of the passed in \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} to reflect the debug display of a given page. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_ogre_1_1_page}{Page} strategy which loads new pages based on a regular 3D grid. 

\begin{DoxyRemark}{Remarks}
The grid can be up to 1024 x 1024 x 1024 cells in size. Page\+I\+Ds are generated like this\+: (slice$\ast$1024 + row) $\ast$ 1024 + col. The grid is centred around the grid origin, such that the boundaries of the cell around that origin are \mbox{[}-\/\+Cell\+Size/2, Cell\+Size/2) 
\end{DoxyRemark}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_ae6874dc60fa86f45dc04e28f69685833}\label{class_ogre_1_1_grid3_d_page_strategy_ae6874dc60fa86f45dc04e28f69685833}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!Grid3\+D\+Page\+Strategy@{Grid3\+D\+Page\+Strategy}}
\index{Grid3\+D\+Page\+Strategy@{Grid3\+D\+Page\+Strategy}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{Grid3\+D\+Page\+Strategy()}{Grid3DPageStrategy()}}
{\footnotesize\ttfamily Ogre\+::\+Grid3\+D\+Page\+Strategy\+::\+Grid3\+D\+Page\+Strategy (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_page_manager}{Page\+Manager} $\ast$}]{manager }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_a5f68c64e312d28a0915303f75fa9e442}\label{class_ogre_1_1_grid3_d_page_strategy_a5f68c64e312d28a0915303f75fa9e442}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!````~Grid3\+D\+Page\+Strategy@{$\sim$\+Grid3\+D\+Page\+Strategy}}
\index{````~Grid3\+D\+Page\+Strategy@{$\sim$\+Grid3\+D\+Page\+Strategy}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{$\sim$\+Grid3\+D\+Page\+Strategy()}{~Grid3DPageStrategy()}}
{\footnotesize\ttfamily Ogre\+::\+Grid3\+D\+Page\+Strategy\+::$\sim$\+Grid3\+D\+Page\+Strategy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_a93731f5971fba009a64bc4e4d8ce8517}\label{class_ogre_1_1_grid3_d_page_strategy_a93731f5971fba009a64bc4e4d8ce8517}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!notify\+Camera@{notify\+Camera}}
\index{notify\+Camera@{notify\+Camera}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{notify\+Camera()}{notifyCamera()}}
{\footnotesize\ttfamily void Ogre\+::\+Grid3\+D\+Page\+Strategy\+::notify\+Camera (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_camera}{Camera} $\ast$}]{cam,  }\item[{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called when a camera is used for any kind of rendering. 

\begin{DoxyRemark}{Remarks}
This is probably the primary way in which the strategy will request new pages. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em cam} & \hyperlink{class_ogre_1_1_camera}{Camera} which is being used for rendering. Class should not rely on this pointer remaining valid permanently because no notification will be given when the camera is destroyed. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{class_ogre_1_1_page_strategy_aa3db993f4446cb811e094c8ad0ab23df}{Ogre\+::\+Page\+Strategy}.

\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_a95954c4987a977e25c835bd116e63a22}\label{class_ogre_1_1_grid3_d_page_strategy_a95954c4987a977e25c835bd116e63a22}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!create\+Data@{create\+Data}}
\index{create\+Data@{create\+Data}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{create\+Data()}{createData()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data}$\ast$ Ogre\+::\+Grid3\+D\+Page\+Strategy\+::create\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Create a \hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} instance containing the data specific to this \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy}. 

\begin{DoxyParagraph}{}
This data will be held by a given \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} and the structure of the data will be specific to the \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy} subclass. 
\end{DoxyParagraph}


Implements \hyperlink{class_ogre_1_1_page_strategy_a1f3ee75de1ece00f1d8dc5f1eb92832e}{Ogre\+::\+Page\+Strategy}.

\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_ac15aee85717bf206333658917836bfd0}\label{class_ogre_1_1_grid3_d_page_strategy_ac15aee85717bf206333658917836bfd0}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!destroy\+Data@{destroy\+Data}}
\index{destroy\+Data@{destroy\+Data}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{destroy\+Data()}{destroyData()}}
{\footnotesize\ttfamily void Ogre\+::\+Grid3\+D\+Page\+Strategy\+::destroy\+Data (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} $\ast$}]{d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Destroy a \hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data} instance containing the data specific to this \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy}. 

\begin{DoxyParagraph}{}
This data will be held by a given \hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} and the structure of the data will be specific to the \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy} subclass. 
\end{DoxyParagraph}


Implements \hyperlink{class_ogre_1_1_page_strategy_a90dd9281a8804b6332a6fa477a950186}{Ogre\+::\+Page\+Strategy}.

\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_a32e80bd39ff8f3d9b9a35d5f2d1f0751}\label{class_ogre_1_1_grid3_d_page_strategy_a32e80bd39ff8f3d9b9a35d5f2d1f0751}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!update\+Debug\+Display@{update\+Debug\+Display}}
\index{update\+Debug\+Display@{update\+Debug\+Display}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{update\+Debug\+Display()}{updateDebugDisplay()}}
{\footnotesize\ttfamily void Ogre\+::\+Grid3\+D\+Page\+Strategy\+::update\+Debug\+Display (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_page}{Page} $\ast$}]{p,  }\item[{\hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} $\ast$}]{sn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Update the contents of the passed in \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node} to reflect the debug display of a given page. 

\begin{DoxyRemark}{Remarks}
The \hyperlink{class_ogre_1_1_page_strategy}{Page\+Strategy} is to have complete control of the contents of this \hyperlink{class_ogre_1_1_scene_node}{Scene\+Node}, it must not be altered / added to by others. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_page_strategy_a96e254ffc49131053601b8f17e4054f8}{Ogre\+::\+Page\+Strategy}.

\mbox{\Hypertarget{class_ogre_1_1_grid3_d_page_strategy_a31cb931801f78214a25733df20ad10fc}\label{class_ogre_1_1_grid3_d_page_strategy_a31cb931801f78214a25733df20ad10fc}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!get\+Page\+ID@{get\+Page\+ID}}
\index{get\+Page\+ID@{get\+Page\+ID}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{get\+Page\+I\+D()}{getPageID()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID} Ogre\+::\+Grid3\+D\+Page\+Strategy\+::get\+Page\+ID (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{world\+Pos,  }\item[{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the page ID for a given world position. 

\begin{DoxyReturn}{Returns}
The page ID 
\end{DoxyReturn}


Implements \hyperlink{class_ogre_1_1_page_strategy_a78f9813d951ab38b1ebbae6b0f807df6}{Ogre\+::\+Page\+Strategy}.

\mbox{\Hypertarget{class_ogre_1_1_page_strategy_a1b175f0b77c05ed13df9d917b71c6a31}\label{class_ogre_1_1_page_strategy_a1b175f0b77c05ed13df9d917b71c6a31}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{get\+Name()}{getName()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Page\+Strategy\+::get\+Name (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_page_strategy_a79dc7f55274f677dac8bf64798f4bbea}\label{class_ogre_1_1_page_strategy_a79dc7f55274f677dac8bf64798f4bbea}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!get\+Manager@{get\+Manager}}
\index{get\+Manager@{get\+Manager}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{get\+Manager()}{getManager()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_page_manager}{Page\+Manager}$\ast$ Ogre\+::\+Page\+Strategy\+::get\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_page_strategy_adb6fc9f82a8ea955971b46c052a151af}\label{class_ogre_1_1_page_strategy_adb6fc9f82a8ea955971b46c052a151af}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!frame\+Start@{frame\+Start}}
\index{frame\+Start@{frame\+Start}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{frame\+Start()}{frameStart()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Page\+Strategy\+::frame\+Start (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{time\+Since\+Last\+Frame,  }\item[{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Called when the frame starts. 

\mbox{\Hypertarget{class_ogre_1_1_page_strategy_a1990d8b1110ac0555e3ec18da77675b8}\label{class_ogre_1_1_page_strategy_a1990d8b1110ac0555e3ec18da77675b8}} 
\index{Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}!frame\+End@{frame\+End}}
\index{frame\+End@{frame\+End}!Ogre\+::\+Grid3\+D\+Page\+Strategy@{Ogre\+::\+Grid3\+D\+Page\+Strategy}}
\subsubsection{\texorpdfstring{frame\+End()}{frameEnd()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Page\+Strategy\+::frame\+End (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{time\+Elapsed,  }\item[{\hyperlink{class_ogre_1_1_paged_world_section}{Paged\+World\+Section} $\ast$}]{section }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Called when the frame ends. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_grid3_d_page_strategy_8h}{Ogre\+Grid3\+D\+Page\+Strategy.\+h}\end{DoxyCompactItemize}
