\section{gear\-:\-:Rectangular\-Pad\-Row\-Layout Class Reference}
\label{classgear_1_1RectangularPadRowLayout}\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}


Implementation of \doxyref{Pad\-Row\-Layout2\-D}{p.}{classgear_1_1PadRowLayout2D} for a rectangular row based layout where all pads in a given row are equal and have rectangular shape.  




{\ttfamily \#include $<$Rectangular\-Pad\-Row\-Layout.\-h$>$}

Inheritance diagram for gear\-:\-:Rectangular\-Pad\-Row\-Layout\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classgear_1_1RectangularPadRowLayout}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct {\bf Row}
\begin{DoxyCompactList}\small\item\em Internal helper class for \doxyref{Rectangular\-Pad\-Row\-Layout}{p.}{classgear_1_1RectangularPadRowLayout}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Rectangular\-Pad\-Row\-Layout} (double x\-Min, double x\-Max, double y\-Min=0.\-0)\label{classgear_1_1RectangularPadRowLayout_acdc047f67b32f1cf73c2faeda6e563f2}

\begin{DoxyCompactList}\small\item\em Construct the empty \doxyref{Rectangular\-Pad\-Row\-Layout}{p.}{classgear_1_1RectangularPadRowLayout} with the width and x position specified through x\-Min and x\-Max and an optional y\-Min -\/ y\-Max will be computed from the rows that are added with \doxyref{add\-Row()}{p.}{classgear_1_1RectangularPadRowLayout_a38ad2dc965ad8bd1830ef7fff2660654}. \end{DoxyCompactList}\item 
{\bf Rectangular\-Pad\-Row\-Layout} (const {\bf Rectangular\-Pad\-Row\-Layout} \&)
\begin{DoxyCompactList}\small\item\em The copy constructor. \end{DoxyCompactList}\item 
{\bf Rectangular\-Pad\-Row\-Layout} \& {\bf operator=} (const {\bf Rectangular\-Pad\-Row\-Layout} \&)\label{classgear_1_1RectangularPadRowLayout_ac358e3a3d7ca8e35f164dc11fab46e3d}

\begin{DoxyCompactList}\small\item\em The assignment operator. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Rectangular\-Pad\-Row\-Layout} ()\label{classgear_1_1RectangularPadRowLayout_a9f66734da715dfbaad73c26b97bc5a24}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
{\bf Pad\-Row\-Layout2\-D} $\ast$ {\bf clone} () const 
\begin{DoxyCompactList}\small\item\em Returns a copy (clone) of this class. \end{DoxyCompactList}\item 
virtual void {\bf add\-Row} (int n\-Row, int n\-Pad, double pad\-Width, double pad\-Height, double row\-Height=0.\-0, double left\-Offset=0.\-0, double right\-Offset=0.\-0)\label{classgear_1_1RectangularPadRowLayout_a38ad2dc965ad8bd1830ef7fff2660654}

\begin{DoxyCompactList}\small\item\em Add n\-Row rows with the given parameters. \end{DoxyCompactList}\item 
virtual void {\bf repeat\-Rows} (unsigned count)
\begin{DoxyCompactList}\small\item\em Repeat the current rows 'count' times -\/ this allows to easily repeat a pattern of several rows, e.\-g. \end{DoxyCompactList}\item 
int {\bf get\-Repeat\-Row\-Count} () const \label{classgear_1_1RectangularPadRowLayout_ac330f7427eb007ab8885f14f2cd9843b}

\begin{DoxyCompactList}\small\item\em Returns the number number for which a given row pattern has been repaeted. \end{DoxyCompactList}\item 
virtual int {\bf get\-Pad\-Layout\-Type} () const 
\item 
virtual int {\bf get\-Pad\-Layout\-Impl\-Type} () const \label{classgear_1_1RectangularPadRowLayout_a3e29a4377bdb0e917d2d2784214cb6e2}

\begin{DoxyCompactList}\small\item\em The type of the row layout implementation\-: Pad\-Row\-Layout2\-D.\-R\-E\-C\-T\-A\-N\-G\-U\-L\-A\-R\-P\-A\-D\-R\-O\-W\-L\-A\-Y\-O\-U\-T. \end{DoxyCompactList}\item 
virtual int {\bf get\-Coordinate\-Type} () const \label{classgear_1_1RectangularPadRowLayout_ae250a89658189c9c82c7ae549b2501fb}

\begin{DoxyCompactList}\small\item\em The type of the row layouts coordinate system\-: Pad\-Row\-Layout2\-D.\-C\-A\-R\-T\-E\-S\-I\-A\-N. \end{DoxyCompactList}\item 
virtual int {\bf get\-Pad\-Shape} () const 
\begin{DoxyCompactList}\small\item\em The shape of the pads\-: Pad\-Row\-Layout2\-D\-::\-R\-E\-C\-T\-A\-N\-G\-L\-E (i.\-e. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Pads} () const \label{classgear_1_1RectangularPadRowLayout_a8a23690b4967edf34fe40017856796d9}

\begin{DoxyCompactList}\small\item\em The total number of pads in the T\-P\-C. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Rows} () const \label{classgear_1_1RectangularPadRowLayout_a83bc97a6736ad288d8a8c4bf1f9ab446}

\begin{DoxyCompactList}\small\item\em The number of rows. \end{DoxyCompactList}\item 
virtual double {\bf get\-Row\-Height} (int row\-Number) const \label{classgear_1_1RectangularPadRowLayout_a8f4148feb1d4e9f0c9b42bbf90ba87ea}

\begin{DoxyCompactList}\small\item\em The row height in mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Pad\-Height} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_ad1650d8c3b629d76b3fa3b63e295ed92}

\begin{DoxyCompactList}\small\item\em The height of the pad in mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Pad\-Width} (int pad\-Index) const 
\begin{DoxyCompactList}\small\item\em The width of the pad at pad\-Index in mm. \end{DoxyCompactList}\item 
virtual double {\bf get\-Pad\-Pitch} (int pad\-Index) const 
\begin{DoxyCompactList}\small\item\em The pitch (i. \end{DoxyCompactList}\item 
virtual {\bf Vector2\-D} {\bf get\-Pad\-Center} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_a09bb93461057b6c5682729bc437f7075}

\begin{DoxyCompactList}\small\item\em The center of the pad in 2d coordinates, (x,y) or (r,phi). \end{DoxyCompactList}\item 
virtual const std\-::vector$<$ int $>$ \& {\bf get\-Pads\-In\-Row} (int row\-Number) const \label{classgear_1_1RectangularPadRowLayout_a922530f3f7683c90061248005203b66d}

\begin{DoxyCompactList}\small\item\em Indices of all pads in row row\-Number (row indices start from 0 at the bottom (C\-A\-R\-T\-E\-S\-I\-A\-N) or at the center (P\-O\-L\-A\-R)). \end{DoxyCompactList}\item 
virtual const std\-::vector\\*
$<$ double $>$ \& {\bf get\-Plane\-Extent} () const \label{classgear_1_1RectangularPadRowLayout_a6ab4dd5433fad9cba569a44de782fcfa}

\begin{DoxyCompactList}\small\item\em Extent of the sensitive plane -\/ [xmin,xmax,ymin,ymax] C\-A\-R\-T\-E\-S\-I\-A\-N or [rmin,rmax,phimin,phimax] P\-O\-L\-A\-R. \end{DoxyCompactList}\item 
virtual int {\bf get\-Row\-Number} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_a9c355e234ee6cfc4b05a5d876ab585ae}

\begin{DoxyCompactList}\small\item\em The number of the row that contains the pad at pad\-Index -\/ numbering starts at y==0 (bottom). \end{DoxyCompactList}\item 
virtual int {\bf get\-Pad\-Number} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_ab1bbeda9e0cb4467788a8f05f0351163}

\begin{DoxyCompactList}\small\item\em The pad number (column) within the row -\/ numbering starts at x==0 (left). \end{DoxyCompactList}\item 
virtual int {\bf get\-Pad\-Index} (int row\-Num, int pad\-Num) const \label{classgear_1_1RectangularPadRowLayout_a8a61434c9fd7d8fdfe426c4ca5be6613}

\begin{DoxyCompactList}\small\item\em Create a pad\-Index for the given row and pad ( column ) number. \end{DoxyCompactList}\item 
virtual int {\bf get\-Nearest\-Pad} (double x, double y) const \label{classgear_1_1RectangularPadRowLayout_acb747785aaddb6f19d5ab3beec6a4597}

\begin{DoxyCompactList}\small\item\em The index of the pad nearest to the given point in 2d coordinates (x,y,) or (r,phi). \end{DoxyCompactList}\item 
int {\bfseries get\-Nearest\-Pad\-Old} (double x, double y) const \label{classgear_1_1RectangularPadRowLayout_a18d1fa84fd150675eac326e06e8229c0}

\item 
virtual int {\bf get\-Right\-Neighbour} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_a5dbd164aa4075fe061142a98e3c215d1}

\begin{DoxyCompactList}\small\item\em The index of the right neighbour pad. \end{DoxyCompactList}\item 
virtual int {\bf get\-Left\-Neighbour} (int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_a5cb4e6d0956f949382622e68777cb7cb}

\begin{DoxyCompactList}\small\item\em The index of the left neighbour pad. \end{DoxyCompactList}\item 
virtual bool {\bf is\-Inside\-Pad} (double x, double y, int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_af1075f01bf8a2e322848755bf9eb2b29}

\begin{DoxyCompactList}\small\item\em True if coordinate (x,y) is within the given pad. \end{DoxyCompactList}\item 
virtual bool {\bf is\-Inside\-Pad} (double x, double y) const \label{classgear_1_1RectangularPadRowLayout_acb4ba577b872369940d85e3b2f162a73}

\begin{DoxyCompactList}\small\item\em True if coordinate (x,y) is within any pad. \end{DoxyCompactList}\item 
virtual double {\bf get\-Distance\-To\-Pad} (double c0, double c1, int pad\-Index) const \label{classgear_1_1RectangularPadRowLayout_a1d8b8302b30766e548fbe5353d053201}

\begin{DoxyCompactList}\small\item\em Returns the closest distance to the edge (outer border) of the pad. \end{DoxyCompactList}\item 
const std\-::vector$<$ unsigned $>$ \& {\bf equal\-Row\-Numbers} () const 
\begin{DoxyCompactList}\small\item\em Helper method to identify equal row numbers in this layout (as they have been added). \end{DoxyCompactList}\item 
const std\-::vector$<$ {\bf Row} $>$ \& {\bf rows} () const 
\begin{DoxyCompactList}\small\item\em Helper method with all row data. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void {\bf copy\-\_\-and\-\_\-assign} (const {\bf Rectangular\-Pad\-Row\-Layout} \&)
\begin{DoxyCompactList}\small\item\em function to copy all internal variables, incl. \end{DoxyCompactList}\item 
void {\bf cleanup} ()
\begin{DoxyCompactList}\small\item\em function to delete all the objects pointed to and owned by the \doxyref{Gear\-Mgr}{p.}{classgear_1_1GearMgr}. \end{DoxyCompactList}\item 
double {\bf distance\-To\-Box} (const {\bf Vector2\-D} \&p, double x\-Min, double y\-Min, double x\-Max, double y\-Max) const 
\begin{DoxyCompactList}\small\item\em Helper function for finding the nearest pad -\/ returns the distance for points outside the box and -\/1. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
int {\bfseries \-\_\-n\-Row}\label{classgear_1_1RectangularPadRowLayout_aa45cc626fd68a0fb76e7f48a9909ee03}

\item 
int {\bfseries \-\_\-n\-Pad}\label{classgear_1_1RectangularPadRowLayout_a2f5b64c7189e220b957d4099b914b6cf}

\item 
int {\bfseries \-\_\-repeat\-Rows}\label{classgear_1_1RectangularPadRowLayout_a9ac398b1a7ff6e040cd3f578289f6556}

\item 
std\-::vector$<$ {\bf Row} $>$ {\bfseries \-\_\-rows}\label{classgear_1_1RectangularPadRowLayout_acde660e1079749b6ea018c56d6cb5c2c}

\item 
std\-::vector$<$ double $>$ {\bfseries \-\_\-extent}\label{classgear_1_1RectangularPadRowLayout_a76c704ca326594f6c9321b9a5e30e6e3}

\item 
std\-::vector$<$ std\-::vector$<$ int $>$ $\ast$ $>$ {\bfseries \-\_\-pad\-Indices}\label{classgear_1_1RectangularPadRowLayout_a8cfc7261413196d0ebb0930ffc9a2ff4}

\item 
std\-::vector$<$ unsigned $>$ {\bfseries \-\_\-n\-Rows}\label{classgear_1_1RectangularPadRowLayout_abcc33e9f3b6e2bacbbfbac01f5f2435d}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of \doxyref{Pad\-Row\-Layout2\-D}{p.}{classgear_1_1PadRowLayout2D} for a rectangular row based layout where all pads in a given row are equal and have rectangular shape. 

However rows can vary in height and layout. The pads with the given height and width are distributed in the rows symmetrically where an optional uninstrumented left or right offset is taken into account (this allows, e.\-g. staggering of rows). Rows are specified/filled from the bottom up. Uninstrumented areas on the plane will occur if a row height is given that exceeds the pad height and/or if the pads don't fill the complete row (minus the left/right offset).\par
 This code is in parts based on ideas and an extension of original implementations by M. Weber R\-W\-T\-H Aachen and J. Mc\-Geachie U\-Vic, Ca..

\begin{DoxyAuthor}{Author}
F. Gaede, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Rectangular\-Pad\-Row\-Layout.\-h}{p.}{RectangularPadRowLayout_8h_source} 380 2011-\/08-\/26 12\-:24\-:46\-Z gaede 
\end{DoxyParagraph}


Definition at line 26 of file Rectangular\-Pad\-Row\-Layout.\-h.



\subsection{Constructor \& Destructor Documentation}
\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!Rectangular\-Pad\-Row\-Layout@{Rectangular\-Pad\-Row\-Layout}}
\index{Rectangular\-Pad\-Row\-Layout@{Rectangular\-Pad\-Row\-Layout}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{Rectangular\-Pad\-Row\-Layout}]{\setlength{\rightskip}{0pt plus 5cm}gear\-::\-Rectangular\-Pad\-Row\-Layout\-::\-Rectangular\-Pad\-Row\-Layout (
\begin{DoxyParamCaption}
\item[{const {\bf Rectangular\-Pad\-Row\-Layout} \&}]{right}
\end{DoxyParamCaption}
)}\label{classgear_1_1RectangularPadRowLayout_a6ea592f86dc26bca512b2cbe0d6b1d99}


The copy constructor. 

Needed because \-\_\-pad\-Indices allocates memory dynamically 

Definition at line 29 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References copy\-\_\-and\-\_\-assign().



\subsection{Member Function Documentation}
\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!cleanup@{cleanup}}
\index{cleanup@{cleanup}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{cleanup}]{\setlength{\rightskip}{0pt plus 5cm}void gear\-::\-Rectangular\-Pad\-Row\-Layout\-::cleanup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}\label{classgear_1_1RectangularPadRowLayout_ad95145ca7f2b62adceb79f529f2b76a1}


function to delete all the objects pointed to and owned by the \doxyref{Gear\-Mgr}{p.}{classgear_1_1GearMgr}. 

Used by desctructor and assigment operator to avoid code duplication 

Definition at line 220 of file Rectangular\-Pad\-Row\-Layout.\-cc.



Referenced by operator=(), and $\sim$\-Rectangular\-Pad\-Row\-Layout().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!clone@{clone}}
\index{clone@{clone}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{clone}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Pad\-Row\-Layout2\-D} $\ast$ gear\-::\-Rectangular\-Pad\-Row\-Layout\-::clone (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_aba8c764cc403564929819755b0902ef6}


Returns a copy (clone) of this class. 

As \doxyref{Pad\-Row\-Layout2\-D}{p.}{classgear_1_1PadRowLayout2D} is an abstract interface with several implementation, this is used get a copy of the actual implementation without having to know what the actual implementation is. 

Implements {\bf gear\-::\-Pad\-Row\-Layout2\-D} \doxyref{}{p.}{classgear_1_1PadRowLayout2D_acf245931002c3e22a86b2d1d64cb4c43}.



Definition at line 55 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References Rectangular\-Pad\-Row\-Layout().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!copy\-\_\-and\-\_\-assign@{copy\-\_\-and\-\_\-assign}}
\index{copy\-\_\-and\-\_\-assign@{copy\-\_\-and\-\_\-assign}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{copy\-\_\-and\-\_\-assign}]{\setlength{\rightskip}{0pt plus 5cm}void gear\-::\-Rectangular\-Pad\-Row\-Layout\-::copy\-\_\-and\-\_\-assign (
\begin{DoxyParamCaption}
\item[{const {\bf Rectangular\-Pad\-Row\-Layout} \&}]{right}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}\label{classgear_1_1RectangularPadRowLayout_a19ffccdcc291fe93b1eeb6d5e976147b}


function to copy all internal variables, incl. 

the objects pointed to and owned by the \doxyref{Gear\-Mgr}{p.}{classgear_1_1GearMgr}. Used by constructor and assigment operator to avoid code duplication 

Definition at line 34 of file Rectangular\-Pad\-Row\-Layout.\-cc.



Referenced by operator=(), and Rectangular\-Pad\-Row\-Layout().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!distance\-To\-Box@{distance\-To\-Box}}
\index{distance\-To\-Box@{distance\-To\-Box}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{distance\-To\-Box}]{\setlength{\rightskip}{0pt plus 5cm}double gear\-::\-Rectangular\-Pad\-Row\-Layout\-::distance\-To\-Box (
\begin{DoxyParamCaption}
\item[{const {\bf Vector2\-D} \&}]{p, }
\item[{double}]{x\-Min, }
\item[{double}]{y\-Min, }
\item[{double}]{x\-Max, }
\item[{double}]{y\-Max}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [protected]}}\label{classgear_1_1RectangularPadRowLayout_a31fba5c4864dc7a580b7c89d0ebb8ed6}


Helper function for finding the nearest pad -\/ returns the distance for points outside the box and -\/1. 

for points inside. 

Definition at line 513 of file Rectangular\-Pad\-Row\-Layout.\-cc.



Referenced by get\-Distance\-To\-Pad().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!equal\-Row\-Numbers@{equal\-Row\-Numbers}}
\index{equal\-Row\-Numbers@{equal\-Row\-Numbers}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{equal\-Row\-Numbers}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::vector$<$unsigned$>$\& gear\-::\-Rectangular\-Pad\-Row\-Layout\-::equal\-Row\-Numbers (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{classgear_1_1RectangularPadRowLayout_a29bb418922a813ca4ba5a1bc8d04df68}


Helper method to identify equal row numbers in this layout (as they have been added). 



Definition at line 214 of file Rectangular\-Pad\-Row\-Layout.\-h.



Referenced by gear\-::\-Rectangular\-Pad\-Row\-Layout\-X\-M\-L\-::to\-X\-M\-L().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!get\-Pad\-Layout\-Type@{get\-Pad\-Layout\-Type}}
\index{get\-Pad\-Layout\-Type@{get\-Pad\-Layout\-Type}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{get\-Pad\-Layout\-Type}]{\setlength{\rightskip}{0pt plus 5cm}int gear\-::\-Rectangular\-Pad\-Row\-Layout\-::get\-Pad\-Layout\-Type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_aa1f8cafbbf5869b266deef32f4b6b9b7}
\begin{DoxyRefDesc}{Deprecated}
\item[{\bf Deprecated}]\{ As there now is more than one implementation for each coordinate type this is not sufficient to distinguish the implementations any more. Use \doxyref{get\-Pad\-Layout\-Impl\-Type()}{p.}{classgear_1_1RectangularPadRowLayout_a3e29a4377bdb0e917d2d2784214cb6e2} to get the implementation type. Use \doxyref{get\-Coordinate\-Type()}{p.}{classgear_1_1RectangularPadRowLayout_ae250a89658189c9c82c7ae549b2501fb} to get the type of the coordinate system.\end{DoxyRefDesc}


For backward compatibility this function returns Pad\-Row\-Layout2\-D.\-C\-A\-R\-T\-E\-S\-I\-A\-N, i. e. \doxyref{get\-Coordinate\-Type()}{p.}{classgear_1_1RectangularPadRowLayout_ae250a89658189c9c82c7ae549b2501fb}.\} 

Implements {\bf gear\-::\-Pad\-Row\-Layout2\-D} \doxyref{}{p.}{classgear_1_1PadRowLayout2D_acaba86e962d1bd3950f7211b84681ab8}.



Definition at line 200 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References get\-Coordinate\-Type().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!get\-Pad\-Pitch@{get\-Pad\-Pitch}}
\index{get\-Pad\-Pitch@{get\-Pad\-Pitch}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{get\-Pad\-Pitch}]{\setlength{\rightskip}{0pt plus 5cm}double gear\-::\-Rectangular\-Pad\-Row\-Layout\-::get\-Pad\-Pitch (
\begin{DoxyParamCaption}
\item[{int}]{pad\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_a71268d8082628006c7038886a4d2736d}


The pitch (i. 

e. pad width plus gap) of the pad at pad\-Index in mm. 

Implements {\bf gear\-::\-Pad\-Row\-Layout2\-D} \doxyref{}{p.}{classgear_1_1PadRowLayout2D_a43ed6961961eb7cd7311ef7274faea9a}.



Definition at line 178 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References get\-Row\-Number().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!get\-Pad\-Shape@{get\-Pad\-Shape}}
\index{get\-Pad\-Shape@{get\-Pad\-Shape}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{get\-Pad\-Shape}]{\setlength{\rightskip}{0pt plus 5cm}virtual int gear\-::\-Rectangular\-Pad\-Row\-Layout\-::get\-Pad\-Shape (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_a42835c0ba7e09f24b7566d6dcd145871}


The shape of the pads\-: Pad\-Row\-Layout2\-D\-::\-R\-E\-C\-T\-A\-N\-G\-L\-E (i.\-e. 

keystone). 

Implements {\bf gear\-::\-Pad\-Row\-Layout2\-D} \doxyref{}{p.}{classgear_1_1PadRowLayout2D_a8db2ec61112412f27955bc130bbc1012}.



Definition at line 129 of file Rectangular\-Pad\-Row\-Layout.\-h.

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!get\-Pad\-Width@{get\-Pad\-Width}}
\index{get\-Pad\-Width@{get\-Pad\-Width}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{get\-Pad\-Width}]{\setlength{\rightskip}{0pt plus 5cm}double gear\-::\-Rectangular\-Pad\-Row\-Layout\-::get\-Pad\-Width (
\begin{DoxyParamCaption}
\item[{int}]{pad\-Index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_a6cb32b4a4189e4c1f720c248cbc0676d}


The width of the pad at pad\-Index in mm. 

This is only the metal of the pad. Use \doxyref{get\-Pad\-Pitch()}{p.}{classgear_1_1RectangularPadRowLayout_a71268d8082628006c7038886a4d2736d} to get the effective pitch. 

Implements {\bf gear\-::\-Pad\-Row\-Layout2\-D} \doxyref{}{p.}{classgear_1_1PadRowLayout2D_af1abe3e88755d5763ade0f2f49f6d130}.



Definition at line 171 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References get\-Row\-Number().



Referenced by get\-Distance\-To\-Pad().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!repeat\-Rows@{repeat\-Rows}}
\index{repeat\-Rows@{repeat\-Rows}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{repeat\-Rows}]{\setlength{\rightskip}{0pt plus 5cm}void gear\-::\-Rectangular\-Pad\-Row\-Layout\-::repeat\-Rows (
\begin{DoxyParamCaption}
\item[{unsigned}]{count}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classgear_1_1RectangularPadRowLayout_a0a99b26407e8a4d6aa04d8a02dd84820}


Repeat the current rows 'count' times -\/ this allows to easily repeat a pattern of several rows, e.\-g. 

2 rows offset to each other by half a pad\-Width (staggering). Can only be called once per layout, i.\-e. no multiple rpeat patterns are allowed. 

Definition at line 134 of file Rectangular\-Pad\-Row\-Layout.\-cc.



References add\-Row().



Referenced by gear\-::\-Rectangular\-Pad\-Row\-Layout\-X\-M\-L\-::from\-X\-M\-L().

\index{gear\-::\-Rectangular\-Pad\-Row\-Layout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}!rows@{rows}}
\index{rows@{rows}!gear::RectangularPadRowLayout@{gear\-::\-Rectangular\-Pad\-Row\-Layout}}
\subsubsection[{rows}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::vector$<${\bf Row}$>$\& gear\-::\-Rectangular\-Pad\-Row\-Layout\-::rows (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{classgear_1_1RectangularPadRowLayout_a770ac30a8b8568fd4080cb5a05e1e03f}


Helper method with all row data. 



Definition at line 217 of file Rectangular\-Pad\-Row\-Layout.\-h.



Referenced by gear\-::\-Rectangular\-Pad\-Row\-Layout\-X\-M\-L\-::to\-X\-M\-L().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Rectangular\-Pad\-Row\-Layout.\-h\item 
Rectangular\-Pad\-Row\-Layout.\-cc\end{DoxyCompactItemize}
