\hypertarget{classKatabatic_1_1BaseGrid}{}\section{Base\+Grid Class Reference}
\label{classKatabatic_1_1BaseGrid}\index{Base\+Grid@{Base\+Grid}}


Abstract Base Class for Irregular \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}}.  




Inheritance diagram for Base\+Grid\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=276pt]{classKatabatic_1_1BaseGrid__inherit__graph}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}}
\begin{DoxyCompactList}\small\item\em Graduations on a \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}} \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}} (H or V). \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a3a80b6032f86a56bec74609034b3246f}{destroy}} ()
\item 
const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a4b6cf5a28d88d7ad3e6ddeac28a35a0b}{get\+Bounding\+Box}} () const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_aeaf0dae788f4c997e6172f9c734e3a91}{get\+Columns}} () const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a4bad6abc58473d953258a3230506291a}{get\+Rows}} () const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a47cf844f090417180d0bae098133565e}{get\+Raw\+Size}} () const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_aae84726d9984c1df9905fc97d9b34f28}{get\+Index}} (unsigned int c, unsigned int r) const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a8108a276ab72226244d302fb1b59f3f1}{get\+Row}} (unsigned int) const
\item 
unsigned int \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a21a8582c0c89a61d1963262fa053bc1b}{get\+Column}} (unsigned int) const
\item 
const \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}} \& \mbox{\hyperlink{classKatabatic_1_1BaseGrid_a1e3eea49f6f58fb8d0b3fa73f5cf3fd7}{get\+X\+Grads}} () const
\item 
const \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}} \& \mbox{\hyperlink{classKatabatic_1_1BaseGrid_ab11d8b83eaa19f5fe6fecc63a8bb203e}{get\+Y\+Grads}} () const
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classKatabatic_1_1BaseGrid_ac479157e8ac115074615167e8a4a2789}{Base\+Grid}} (const \textbf{ Box} \&)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract Base Class for Irregular \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}}. 

An abstract class for a 2-\/D matrix of objects. The grid is irregular in the sense that the horizontal and vertical cut lines may not be evenly spaced.

The coordinates of cut lines in horizontal and vertical direction are stored \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Base\+Grid\+::\+Axis}} structure.

The \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}} contains all the non-\/template methods of the \mbox{\hyperlink{classKatabatic_1_1Grid}{Grid}}, that is that do not depend of the matrix element type.

The internal storage implemented in derived classes is expected to store \char`\"{}row by row\char`\"{} (rows are put one after another in the vector). 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_ac479157e8ac115074615167e8a4a2789}\label{classKatabatic_1_1BaseGrid_ac479157e8ac115074615167e8a4a2789}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!Base\+Grid@{Base\+Grid}}
\index{Base\+Grid@{Base\+Grid}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{Base\+Grid()}{BaseGrid()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}} (\begin{DoxyParamCaption}\item[{const \textbf{ Box} \&}]{bb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

Construct a new \mbox{\hyperlink{classKatabatic_1_1BaseGrid}{Base\+Grid}} on area {\ttfamily bb}. Graduations, rows \& columns are sets to zero. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a3a80b6032f86a56bec74609034b3246f}\label{classKatabatic_1_1BaseGrid_a3a80b6032f86a56bec74609034b3246f}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!destroy@{destroy}}
\index{destroy@{destroy}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{destroy()}{destroy()}}
{\footnotesize\ttfamily void destroy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

The user-\/level destructor. \mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a4b6cf5a28d88d7ad3e6ddeac28a35a0b}\label{classKatabatic_1_1BaseGrid_a4b6cf5a28d88d7ad3e6ddeac28a35a0b}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}}
{\footnotesize\ttfamily const \textbf{ Box} \& get\+Bounding\+Box (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The grid bounding box. \mbox{\Hypertarget{classKatabatic_1_1BaseGrid_aeaf0dae788f4c997e6172f9c734e3a91}\label{classKatabatic_1_1BaseGrid_aeaf0dae788f4c997e6172f9c734e3a91}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Columns@{get\+Columns}}
\index{get\+Columns@{get\+Columns}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Columns()}{getColumns()}}
{\footnotesize\ttfamily unsigned int get\+Columns (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The numbers of columns in the grid. 

Referenced by G\+Cell\+Grid\+::\+\_\+post\+Create(), Katabatic\+Engine\+::create\+Detailed\+Grid(), Base\+Grid\+::get\+Column(), Base\+Grid\+::get\+Index(), Base\+Grid\+::get\+Raw\+Size(), and Base\+Grid\+::get\+Row().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a4bad6abc58473d953258a3230506291a}\label{classKatabatic_1_1BaseGrid_a4bad6abc58473d953258a3230506291a}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Rows@{get\+Rows}}
\index{get\+Rows@{get\+Rows}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Rows()}{getRows()}}
{\footnotesize\ttfamily unsigned int get\+Rows (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The numbers of rows in the grid. 

Referenced by G\+Cell\+Grid\+::\+\_\+post\+Create(), Katabatic\+Engine\+::create\+Detailed\+Grid(), and Base\+Grid\+::get\+Raw\+Size().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a47cf844f090417180d0bae098133565e}\label{classKatabatic_1_1BaseGrid_a47cf844f090417180d0bae098133565e}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Raw\+Size@{get\+Raw\+Size}}
\index{get\+Raw\+Size@{get\+Raw\+Size}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Raw\+Size()}{getRawSize()}}
{\footnotesize\ttfamily unsigned int get\+Raw\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The total number of elements in the grid (i.\+e. $ rows \times columns $) 

References Base\+Grid\+::get\+Columns(), and Base\+Grid\+::get\+Rows().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_aae84726d9984c1df9905fc97d9b34f28}\label{classKatabatic_1_1BaseGrid_aae84726d9984c1df9905fc97d9b34f28}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Index@{get\+Index}}
\index{get\+Index@{get\+Index}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Index()}{getIndex()}}
{\footnotesize\ttfamily unsigned int get\+Index (\begin{DoxyParamCaption}\item[{unsigned int}]{c,  }\item[{unsigned int}]{r }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

An helper function that compute the linear index in the element vector from a {\ttfamily }(c,r) coordinate pair\+: \[ index = c + r \times columns \] 

References Base\+Grid\+::get\+Columns().



Referenced by Grid$<$ G\+Cell $>$\+::get\+G\+Cell\+Down(), Grid$<$ G\+Cell $>$\+::get\+G\+Cell\+Left(), Grid$<$ G\+Cell $>$\+::get\+G\+Cell\+Right(), and Grid$<$ G\+Cell $>$\+::get\+G\+Cell\+Up().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a8108a276ab72226244d302fb1b59f3f1}\label{classKatabatic_1_1BaseGrid_a8108a276ab72226244d302fb1b59f3f1}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Row@{get\+Row}}
\index{get\+Row@{get\+Row}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Row()}{getRow()}}
{\footnotesize\ttfamily unsigned int get\+Row (\begin{DoxyParamCaption}\item[{unsigned int}]{i }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

An helper function that compute the row number from the linear index in the vector\+: \[ row = index / columns \] 

References Base\+Grid\+::get\+Columns().



Referenced by G\+Cell\+::get\+Row().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a21a8582c0c89a61d1963262fa053bc1b}\label{classKatabatic_1_1BaseGrid_a21a8582c0c89a61d1963262fa053bc1b}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Column@{get\+Column}}
\index{get\+Column@{get\+Column}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Column()}{getColumn()}}
{\footnotesize\ttfamily unsigned int get\+Column (\begin{DoxyParamCaption}\item[{unsigned int}]{i }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

An helper function that compute the column number from the linear index in the vector\+: \[ column = index \div columns \] 

References Base\+Grid\+::get\+Columns().



Referenced by G\+Cell\+::get\+Column().

\mbox{\Hypertarget{classKatabatic_1_1BaseGrid_a1e3eea49f6f58fb8d0b3fa73f5cf3fd7}\label{classKatabatic_1_1BaseGrid_a1e3eea49f6f58fb8d0b3fa73f5cf3fd7}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+X\+Grads@{get\+X\+Grads}}
\index{get\+X\+Grads@{get\+X\+Grads}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+X\+Grads()}{getXGrads()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}} \& get\+X\+Grads (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The graduations on the X axis. \mbox{\Hypertarget{classKatabatic_1_1BaseGrid_ab11d8b83eaa19f5fe6fecc63a8bb203e}\label{classKatabatic_1_1BaseGrid_ab11d8b83eaa19f5fe6fecc63a8bb203e}} 
\index{Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}!get\+Y\+Grads@{get\+Y\+Grads}}
\index{get\+Y\+Grads@{get\+Y\+Grads}!Katabatic\+::\+Base\+Grid@{Katabatic\+::\+Base\+Grid}}
\subsubsection{\texorpdfstring{get\+Y\+Grads()}{getYGrads()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classKatabatic_1_1BaseGrid_1_1Axis}{Axis}} \& get\+Y\+Grads (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The graduations on the Y axis. 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Grid.\+h\item 
Grid.\+cpp\item 
Grid.\+dox\end{DoxyCompactItemize}
