coriolis/katabatic/doc/latex/classKatabatic_1_1GCellGrid...

272 lines
20 KiB
TeX

\hypertarget{classKatabatic_1_1GCellGrid}{}\section{G\+Cell\+Grid Class Reference}
\label{classKatabatic_1_1GCellGrid}\index{G\+Cell\+Grid@{G\+Cell\+Grid}}
\mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}}.
Inheritance diagram for G\+Cell\+Grid\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=156pt]{classKatabatic_1_1GCellGrid__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item
enum \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fe}{Density\+Mode}} \{ \newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead15bf3e5b63f398d76d717a088acd310}{Average\+H\+V\+Density}} =1,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40feaec0ad06385eae8d1e2dee4f3c9f9f4ed}{Average\+H\+Density}} =2,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead1a1d89017d10aeb63d1c05b6fb650dd}{Average\+V\+Density}} =3,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea8265e053af0708a508ecbce86d1a8165}{Max\+H\+V\+Density}} =4,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea5f0a89ca367ef98550eaa86c1e32c873}{Max\+V\+Density}} =5,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea2a6d29b012cc89026c3c0061f87a4f03}{Max\+H\+Density}} =6,
\newline
\mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea90a2f4a4ee8558de9f99458ddeab852c}{Max\+Density}} =7
\}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\textbf{ Cell} $\ast$ \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a55a3a88610ef1af9931e634f77f2403b}{get\+Cell}} () const
\item
\mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a0234fdabe7682546f1201bccd0b5cacf}{get\+Katabatic}} () const
\item
unsigned int \mbox{\hyperlink{classKatabatic_1_1GCellGrid_af1171855a3e928cace78d1534a8d0629}{get\+Density\+Mode}} () const
\item
size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a041680c5d171d4c7cb0edba96f0c390f}{get\+H\+Edge\+Capacity}} () const
\item
size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1GCellGrid_ae8e2cf3685ccb0621f4f85c7999834e8}{get\+V\+Edge\+Capacity}} () const
\item
\textbf{ Interval} \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a8272dad8f7d916333f934f3cbde981bb}{get\+U\+Side}} (unsigned int) const
\item
size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a88208864ba2268689946a8cb7a86fcb2}{check\+Density}} () const
\item
size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a9b3455dce10eb98d0496175dd586528c}{update\+Density}} ()
\item
void \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a032d6eb23f92e3a41a020d18c6bbc02d}{update\+Contacts}} (unsigned int flags=\mbox{\hyperlink{namespaceKatabatic_a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5}{Kb\+Open\+Session}})
\item
void \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a86899930041463cf80b713c3ca5b4834}{set\+Density\+Mode}} (unsigned int)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a3715b38135ca24745f610bebd3407c10}{\+\_\+post\+Create}} ()
\item
void \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a7c13d9795eafd477994961f8a0d962d0}{\+\_\+pre\+Destroy}} ()
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item
static \mbox{\hyperlink{classKatabatic_1_1GCellGrid}{G\+Cell\+Grid}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a19a45b2e6c6b9ca8898b2fde035d1827}{create}} (\mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
\mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}}.
The \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}} of \mbox{\hyperlink{namespaceKatabatic}{Katabatic}}. Although the base template class \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}} support irregular grid, the \mbox{\hyperlink{classKatabatic_1_1GCellGrid}{G\+Cell\+Grid}} is regular, following the Knik global router G\+Cells. Only the topmost row and leftmost column may have different height or width to cope with the design real size.
Due to the regular nature of the grid, the horizontal \& vertical edges capacities are all identical, and initialized from the \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} Configuration.
The grid is build from the Knik global routing, so obviously a Knik\+Engine must be attached to the Cell when building the \mbox{\hyperlink{classKatabatic_1_1GCellGrid}{G\+Cell\+Grid}}. An error is thrown otherwise.
\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fe}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fe}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Density\+Mode@{Density\+Mode}}
\index{Density\+Mode@{Density\+Mode}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{Density\+Mode}{DensityMode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fe}{Density\+Mode}}}
Various ways of computing the overall density of a \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}}. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{Average\+H\+V\+Density@{Average\+H\+V\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Average\+H\+V\+Density@{Average\+H\+V\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead15bf3e5b63f398d76d717a088acd310}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead15bf3e5b63f398d76d717a088acd310}}
Average\+H\+V\+Density&The average density all depths accounted. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Average\+H\+Density@{Average\+H\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Average\+H\+Density@{Average\+H\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40feaec0ad06385eae8d1e2dee4f3c9f9f4ed}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40feaec0ad06385eae8d1e2dee4f3c9f9f4ed}}
Average\+H\+Density&The average density of horizontal layers. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Average\+V\+Density@{Average\+V\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Average\+V\+Density@{Average\+V\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead1a1d89017d10aeb63d1c05b6fb650dd}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fead1a1d89017d10aeb63d1c05b6fb650dd}}
Average\+V\+Density&The average density of horizontal layers. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Max\+H\+V\+Density@{Max\+H\+V\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Max\+H\+V\+Density@{Max\+H\+V\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea8265e053af0708a508ecbce86d1a8165}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea8265e053af0708a508ecbce86d1a8165}}
Max\+H\+V\+Density&The maximum of the average horizontal \& vertical densities taken as a whole. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Max\+V\+Density@{Max\+V\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Max\+V\+Density@{Max\+V\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea5f0a89ca367ef98550eaa86c1e32c873}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea5f0a89ca367ef98550eaa86c1e32c873}}
Max\+V\+Density&The maximum of the average vertical densities taken depth by depth. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Max\+H\+Density@{Max\+H\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Max\+H\+Density@{Max\+H\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea2a6d29b012cc89026c3c0061f87a4f03}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea2a6d29b012cc89026c3c0061f87a4f03}}
Max\+H\+Density&The maximum of the average horizontal densities taken depth by depth. \\
\hline
\raisebox{\heightof{T}}[0pt][0pt]{\index{Max\+Density@{Max\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!Max\+Density@{Max\+Density}}}\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea90a2f4a4ee8558de9f99458ddeab852c}\label{classKatabatic_1_1GCellGrid_a07884f5e1af410e98208fed76a2b40fea90a2f4a4ee8558de9f99458ddeab852c}}
Max\+Density&The maximum of the average horizontal \& vertical densities taken depth by depth. \\
\hline
\end{DoxyEnumFields}
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a55a3a88610ef1af9931e634f77f2403b}\label{classKatabatic_1_1GCellGrid_a55a3a88610ef1af9931e634f77f2403b}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+Cell@{get\+Cell}}
\index{get\+Cell@{get\+Cell}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+Cell()}{getCell()}}
{\footnotesize\ttfamily \textbf{ Cell} $\ast$ get\+Cell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
{\bfseries Returns\+:} The associated Cell.
Referenced by G\+Cell\+Grid\+::\+\_\+post\+Create().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a0234fdabe7682546f1201bccd0b5cacf}\label{classKatabatic_1_1GCellGrid_a0234fdabe7682546f1201bccd0b5cacf}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+Katabatic@{get\+Katabatic}}
\index{get\+Katabatic@{get\+Katabatic}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+Katabatic()}{getKatabatic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$ get\+Katabatic (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
{\bfseries Returns\+:} The associated \mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}}. \mbox{\Hypertarget{classKatabatic_1_1GCellGrid_af1171855a3e928cace78d1534a8d0629}\label{classKatabatic_1_1GCellGrid_af1171855a3e928cace78d1534a8d0629}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+Density\+Mode@{get\+Density\+Mode}}
\index{get\+Density\+Mode@{get\+Density\+Mode}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+Density\+Mode()}{getDensityMode()}}
{\footnotesize\ttfamily unsigned int get\+Density\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
{\bfseries Returns\+:} The computation mode of the \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} densities.
Referenced by G\+Cell\+::get\+Density().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a041680c5d171d4c7cb0edba96f0c390f}\label{classKatabatic_1_1GCellGrid_a041680c5d171d4c7cb0edba96f0c390f}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+H\+Edge\+Capacity@{get\+H\+Edge\+Capacity}}
\index{get\+H\+Edge\+Capacity@{get\+H\+Edge\+Capacity}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+H\+Edge\+Capacity()}{getHEdgeCapacity()}}
{\footnotesize\ttfamily size\+\_\+t get\+H\+Edge\+Capacity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
{\bfseries Returns\+:} The horizontal edge capacity. As the matrix is regular it is identical for all horizontal edges.
Referenced by G\+Cell\+::check\+Edge\+Saturation().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_ae8e2cf3685ccb0621f4f85c7999834e8}\label{classKatabatic_1_1GCellGrid_ae8e2cf3685ccb0621f4f85c7999834e8}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+V\+Edge\+Capacity@{get\+V\+Edge\+Capacity}}
\index{get\+V\+Edge\+Capacity@{get\+V\+Edge\+Capacity}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+V\+Edge\+Capacity()}{getVEdgeCapacity()}}
{\footnotesize\ttfamily size\+\_\+t get\+V\+Edge\+Capacity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
{\bfseries Returns\+:} The vertical edge capacity. As the matrix is regular it is identical for all vertical edges.
Referenced by G\+Cell\+::check\+Edge\+Saturation().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a8272dad8f7d916333f934f3cbde981bb}\label{classKatabatic_1_1GCellGrid_a8272dad8f7d916333f934f3cbde981bb}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!get\+U\+Side@{get\+U\+Side}}
\index{get\+U\+Side@{get\+U\+Side}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{get\+U\+Side()}{getUSide()}}
{\footnotesize\ttfamily \textbf{ Interval} get\+U\+Side (\begin{DoxyParamCaption}\item[{unsigned int}]{direction }\end{DoxyParamCaption}) const}
{\bfseries Returns\+:} The side of the whole grid in {\ttfamily direction}.
References Box\+::get\+X\+Max(), Box\+::get\+X\+Min(), Box\+::get\+Y\+Max(), Box\+::get\+Y\+Min(), Katabatic\+::\+Kb\+Horizontal, and Katabatic\+::\+Kb\+Vertical.
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a88208864ba2268689946a8cb7a86fcb2}\label{classKatabatic_1_1GCellGrid_a88208864ba2268689946a8cb7a86fcb2}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!check\+Density@{check\+Density}}
\index{check\+Density@{check\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{check\+Density()}{checkDensity()}}
{\footnotesize\ttfamily size\+\_\+t check\+Density (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
{\bfseries Returns\+:} The number of \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} saturateds.
Check all G\+Cells for saturations.
References Grid$<$ G\+Cell $>$\+::get\+G\+Cells().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a9b3455dce10eb98d0496175dd586528c}\label{classKatabatic_1_1GCellGrid_a9b3455dce10eb98d0496175dd586528c}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!update\+Density@{update\+Density}}
\index{update\+Density@{update\+Density}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{update\+Density()}{updateDensity()}}
{\footnotesize\ttfamily size\+\_\+t update\+Density (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
{\bfseries Returns\+:} The number of \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} saturateds.
Force a density update on all the G\+Cells.
References Grid$<$ G\+Cell $>$\+::get\+G\+Cells().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a032d6eb23f92e3a41a020d18c6bbc02d}\label{classKatabatic_1_1GCellGrid_a032d6eb23f92e3a41a020d18c6bbc02d}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!update\+Contacts@{update\+Contacts}}
\index{update\+Contacts@{update\+Contacts}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{update\+Contacts()}{updateContacts()}}
{\footnotesize\ttfamily void update\+Contacts (\begin{DoxyParamCaption}\item[{unsigned int}]{flags = {\ttfamily \mbox{\hyperlink{namespaceKatabatic_a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5}{Kb\+Open\+Session}}} }\end{DoxyParamCaption})}
Force an update on all \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} on all the G\+Cells. if {\ttfamily open\+Session} is {\bfseries true}, enclose the update in a \mbox{\hyperlink{classKatabatic_1_1Session}{Session}}.
References Session\+::close(), Grid$<$ G\+Cell $>$\+::get\+G\+Cells(), Katabatic\+::\+Kb\+Open\+Session, and Session\+::open().
Referenced by Katabatic\+Engine\+::refresh().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a86899930041463cf80b713c3ca5b4834}\label{classKatabatic_1_1GCellGrid_a86899930041463cf80b713c3ca5b4834}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!set\+Density\+Mode@{set\+Density\+Mode}}
\index{set\+Density\+Mode@{set\+Density\+Mode}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{set\+Density\+Mode()}{setDensityMode()}}
{\footnotesize\ttfamily void set\+Density\+Mode (\begin{DoxyParamCaption}\item[{unsigned int}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
Sets the density computation mode. \mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a3715b38135ca24745f610bebd3407c10}\label{classKatabatic_1_1GCellGrid_a3715b38135ca24745f610bebd3407c10}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!\+\_\+post\+Create@{\+\_\+post\+Create}}
\index{\+\_\+post\+Create@{\+\_\+post\+Create}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{\+\_\+post\+Create()}{\_postCreate()}}
{\footnotesize\ttfamily void \+\_\+post\+Create (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Perform the \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} \& \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} vector allocation.
\begin{DoxyItemize}
\item Read the horizontal and vertical cut lines from Knik and translate them into \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Base\+Grid\+::\+Axis}}.
\item From the \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Base\+Grid\+::\+Axis}}, deduces the exact positions of the G\+Cells and allocate them.
\item The \mbox{\hyperlink{classKatabatic_1_1GCell}{G\+Cell}} allocation is done in a \char`\"{}row by row\char`\"{} fashion consistent with \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}} implicit assumptions.
\end{DoxyItemize}
Reimplemented from \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}}.
References Base\+Grid\+::\+Axis\+::add\+Graduation(), G\+Cell\+Grid\+::get\+Cell(), Base\+Grid\+::get\+Columns(), Base\+Grid\+::get\+Rows(), Base\+Grid\+::\+Axis\+::get\+Size(), and Base\+Grid\+::\+Axis\+::sort().
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a7c13d9795eafd477994961f8a0d962d0}\label{classKatabatic_1_1GCellGrid_a7c13d9795eafd477994961f8a0d962d0}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!\+\_\+pre\+Destroy@{\+\_\+pre\+Destroy}}
\index{\+\_\+pre\+Destroy@{\+\_\+pre\+Destroy}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{\+\_\+pre\+Destroy()}{\_preDestroy()}}
{\footnotesize\ttfamily void \+\_\+pre\+Destroy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
The G\+Cells are deleted at this point.
Reimplemented from \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}}.
\mbox{\Hypertarget{classKatabatic_1_1GCellGrid_a19a45b2e6c6b9ca8898b2fde035d1827}\label{classKatabatic_1_1GCellGrid_a19a45b2e6c6b9ca8898b2fde035d1827}}
\index{Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}!create@{create}}
\index{create@{create}!Katabatic\+::\+G\+Cell\+Grid@{Katabatic\+::\+G\+Cell\+Grid}}
\subsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1GCellGrid}{G\+Cell\+Grid}} $\ast$ create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$}]{ktbt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}
A\+P\+I-\/space contructor.
References grid().
Referenced by Katabatic\+Engine\+::create\+Detailed\+Grid().
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
G\+Cell\+Grid.\+h\item
G\+Cell\+Grid.\+cpp\item
G\+Cell\+Grid.\+dox\end{DoxyCompactItemize}