\hypertarget{class_ogre_1_1_grid3_d_page_strategy_data}{}\doxysection{Ogre\+::Grid3\+D\+Page\+Strategy\+Data Class Reference}
\label{class_ogre_1_1_grid3_d_page_strategy_data}\index{Ogre::Grid3DPageStrategyData@{Ogre::Grid3DPageStrategyData}}


Specialisation of \mbox{\hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data}} for \mbox{\hyperlink{class_ogre_1_1_grid3_d_page_strategy}{Grid3\+D\+Page\+Strategy}}.  




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



Inheritance diagram for Ogre\+::Grid3\+D\+Page\+Strategy\+Data\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=247pt]{class_ogre_1_1_grid3_d_page_strategy_data__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___paging_gadde5ea69431333a43787e1936fd20330}{Grid3\+D\+Page\+Strategy\+Data}} ()
\item 
\mbox{\hyperlink{group___paging_ga1ba89ef110d6b0b946745463527f8622}{$\sim$\+Grid3\+D\+Page\+Strategy\+Data}} ()
\item 
void \mbox{\hyperlink{group___paging_ga0a51b33ebdb559ee9b4a09db58a4e43a}{calculate\+Cell}} (\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}} in\+Page\+ID, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$y, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$z)
\item 
\mbox{\hyperlink{namespace_ogre_a5126a9c9fbccbfe4c78070263098acb2}{Page\+ID}} \mbox{\hyperlink{group___paging_gac21b697c32b1613e581dae45e35ea460}{calculate\+Page\+ID}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} y, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} z)
\item 
void \mbox{\hyperlink{group___paging_gabb6b2b57c3c42596d13206727bb66d97}{determine\+Grid\+Location}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&gridpos, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$y, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} $\ast$z)
\begin{DoxyCompactList}\small\item\em Convert a grid position into a row and column index. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gacea5d8841152d6a18090adb007fd3c81}{get\+Bottom\+Left\+Grid\+Space}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} y, int z, \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&bl)
\begin{DoxyCompactList}\small\item\em Get the (grid space) bottom-\/left of a cell. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_ga0df4533060e2b0a3bc640ca64ab3aa38}{get\+Cell\+Range\+MaxX}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_gab9d99aae2e1fe0ece791fa139faf800b}{get\+Cell\+Range\+MaxY}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_ga456bc7ccd4ea0f5ebef4a494c866e289}{get\+Cell\+Range\+MaxZ}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_ga868403f19ee594fc78f8c3c7525a7167}{get\+Cell\+Range\+MinX}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_gaadea7a78c4aa17e9d81f5cece8a8fbf5}{get\+Cell\+Range\+MinY}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} \mbox{\hyperlink{group___paging_ga64f37ec3b9d968d45048bf02267a3734}{get\+Cell\+Range\+MinZ}} () const
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \mbox{\hyperlink{group___paging_gaae6caf7c97e3066c63b70937c8dd8580}{get\+Cell\+Size}} () const
\begin{DoxyCompactList}\small\item\em Get the size of the cells in the grid. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gaa6782c37cbafeb7757762018c942140e}{get\+Corners\+Grid\+Space}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} y, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} z, \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} $\ast$p\+Eight\+Points)
\begin{DoxyCompactList}\small\item\em Get the (grid space) corners of a cell. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{group___paging_ga877411758e54ca8c42513b98b22c3889}{get\+Hold\+Radius}} () const
\begin{DoxyCompactList}\small\item\em Get the Holding radius. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{group___paging_gae7017d1aa57580ce16a801938209cc00}{get\+Load\+Radius}} () const
\begin{DoxyCompactList}\small\item\em Get the loading radius. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga2762e5a38c2a8f887236920efb6dc840}{get\+Mid\+Point\+Grid\+Space}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} x, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} y, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} z, \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&mid)
\item 
virtual const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \& \mbox{\hyperlink{group___paging_gac1f2ae920c09cc2595a11da65d422b82}{get\+Origin}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&world\+Origin)
\begin{DoxyCompactList}\small\item\em Get the origin of the grid in world space. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{group___paging_gab5159dd7922b777ed101992b5319b20b}{load}} (\mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} \&stream)
\begin{DoxyCompactList}\small\item\em Load this data from a stream (returns true if successful) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___paging_gaedcf87a66b42befb2aba22b6d42fee58}{save}} (\mbox{\hyperlink{class_ogre_1_1_stream_serialiser}{Stream\+Serialiser}} \&stream)
\begin{DoxyCompactList}\small\item\em Save this data to a stream. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gaa2df60347efc29d35a690e71c64531eb}{set\+Cell\+Range}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minX, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minY, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minZ, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxX, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxY, \mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxZ)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gaec607907c425472cc2edaab54c7a0d90}{set\+Cell\+Range\+MaxX}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxX)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga03ed092d36316567075ad898eff18ebd}{set\+Cell\+Range\+MaxY}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxY)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gaac71d6b7af65a9ef1d31fed54c264268}{set\+Cell\+Range\+MaxZ}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} maxZ)
\begin{DoxyCompactList}\small\item\em get the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gae2d276616b0b5aaadb494539471a7888}{set\+Cell\+Range\+MinX}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minX)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gaea3cc806f6e5740a26f479579e75fdaf}{set\+Cell\+Range\+MinY}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minY)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga0a226ddb10180b387d526701951065d5}{set\+Cell\+Range\+MinZ}} (\mbox{\hyperlink{namespace_ogre_a1c37a43c04753c9ae0c17108c9e6c9d2}{int32}} minZ)
\begin{DoxyCompactList}\small\item\em Set the index range of all cells (values outside this will be ignored) \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_gad800a5757a0dcb6e2257444fc83a6d9a}{set\+Cell\+Size}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&sz)
\begin{DoxyCompactList}\small\item\em Set the size of the cells in the grid. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga0c97911eb51beea5f407b50c4108fb92}{set\+Hold\+Radius}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} sz)
\begin{DoxyCompactList}\small\item\em Set the Holding radius. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga3d5f4e4660b0b578d6b915e6e96cbe1a}{set\+Load\+Radius}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} sz)
\begin{DoxyCompactList}\small\item\em Set the loading radius. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{group___paging_ga6821abf728558c495596bd508cf20228}{set\+Origin}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&world\+Origin)
\begin{DoxyCompactList}\small\item\em Set the origin of the grid in world space. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \mbox{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}} \mbox{\hyperlink{group___paging_gad44736dbc7ae064bc6169873fa00a903}{C\+H\+U\+N\+K\+\_\+\+ID}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}} \mbox{\hyperlink{group___paging_gabcac31196d612eef54c443aae78897e7}{C\+H\+U\+N\+K\+\_\+\+V\+E\+R\+S\+I\+ON}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Specialisation of \mbox{\hyperlink{class_ogre_1_1_page_strategy_data}{Page\+Strategy\+Data}} for \mbox{\hyperlink{class_ogre_1_1_grid3_d_page_strategy}{Grid3\+D\+Page\+Strategy}}. 

\begin{DoxyRemark}{Remarks}
Structurally this data defines with a 3D grid of pages, with the logical origin in the center of the entire grid. The grid cells are indexed from 0 as a \textquotesingle{}centre\textquotesingle{} slot, supporting both positive and negative values. so (0,0,0) is the centre cell, (1,0,0) is the cell to the right of the centre, (0,0,1) is the cell in front of the centre, (0,1,0) the cell above the center, etc. The maximum extent of each axis is -\/512 to +511, so in other words enough for over 2 billion different entries. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
To limit the page load requests that are generated to a fixed region, you can set the min and max cell indexes (inclusive)for each direction; if a page request would address a cell outside this range it is ignored so you don\textquotesingle{}t have the expense of checking for page data that will never exist. 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
The data format for this in a file is\+:~\newline
 {\bfseries{\mbox{\hyperlink{class_ogre_1_1_grid3_d_page_strategy_data}{Grid3\+D\+Page\+Strategy\+Data}} (Identifier \textquotesingle{}G3\+DD\textquotesingle{})}}~\newline
 \mbox{[}Version 1\mbox{]} \tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
\hline
{\bfseries{Name}} &{\bfseries{Type}} &{\bfseries{Description}}  \\\cline{1-3}
Grid origin &Vector3 &World origin of the grid.  \\\cline{1-3}
Grid cell size &Vector3 &The size of each cell (page) in the grid  \\\cline{1-3}
Grid cell range (minx, maxx, miny, maxy, minz, maxz) &int16 $\ast$ 6 &The extents of the world in cell indexes  \\\cline{1-3}
Load radius &Real &The outer radius at which new pages should start loading  \\\cline{1-3}
Hold radius &Real &The radius at which existing pages should be held if already loaded but not actively loaded (should be larger than Load radius)  \\\cline{1-3}
\end{longtabu}

\end{DoxyParagraph}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_grid2_d_page_strategy_data}{Grid2\+D\+Page\+Strategy\+Data}} 
\end{DoxySeeAlso}


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