\doxysection{Nav\+Grid Class Reference}
\hypertarget{classNavGrid}{}\label{classNavGrid}\index{NavGrid@{NavGrid}}


The grid-\/representation of the board.  




{\ttfamily \#include $<$Nav\+Grid.\+hpp$>$}

Inheritance diagram for Nav\+Grid\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classNavGrid}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classNavGrid_ada071cf6e611621da25e81c81d1d4ca7}\label{classNavGrid_ada071cf6e611621da25e81c81d1d4ca7} 
{\bfseries Nav\+Grid} (\mbox{\hyperlink{classPCBoard}{PCBoard}} \&)
\item 
\Hypertarget{classNavGrid_a66ca4218d16c0fb753273b958c6621e6}\label{classNavGrid_a66ca4218d16c0fb753273b958c6621e6} 
const \mbox{\hyperlink{classPCBoard}{PCBoard}} \& {\bfseries get\+PCB} () const
\item 
\Hypertarget{classNavGrid_a597c869ff15cf0ee7bed00e4973b785e}\label{classNavGrid_a597c869ff15cf0ee7bed00e4973b785e} 
\mbox{\hyperlink{classPCBoard}{PCBoard}} \& {\bfseries get\+PCB} ()
\item 
\Hypertarget{classNavGrid_a3b0aa576a13b6c1b8d03ab2b1ab1f7b9}\label{classNavGrid_a3b0aa576a13b6c1b8d03ab2b1ab1f7b9} 
void {\bfseries build} ()
\item 
\Hypertarget{classNavGrid_a672569bb76db8c92156a3307634addee}\label{classNavGrid_a672569bb76db8c92156a3307634addee} 
void {\bfseries copy\+From} (const \mbox{\hyperlink{classNavGrid}{Nav\+Grid}} \&)
\item 
\Hypertarget{classNavGrid_adc50334bef4a29dc3f2c001ab83e6ca7}\label{classNavGrid_adc50334bef4a29dc3f2c001ab83e6ca7} 
const std\+::vector$<$ \mbox{\hyperlink{classNavPoint}{Nav\+Point}} $>$ \& {\bfseries get\+Points} () const
\item 
\Hypertarget{classNavGrid_a4e1a2e184ab125a2dca035c3052a955d}\label{classNavGrid_a4e1a2e184ab125a2dca035c3052a955d} 
std\+::vector$<$ \mbox{\hyperlink{classNavPoint}{Nav\+Point}} $>$ \& {\bfseries get\+Points} ()
\item 
\Hypertarget{classNavGrid_ae6899c9c947de57f91eec056287200e3}\label{classNavGrid_ae6899c9c947de57f91eec056287200e3} 
uint {\bfseries get\+Num\+Points} () const
\item 
\Hypertarget{classNavGrid_a2df558003aaa65c1620052776ba731f1}\label{classNavGrid_a2df558003aaa65c1620052776ba731f1} 
const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \& {\bfseries get\+Point} (uint i) const
\item 
\Hypertarget{classNavGrid_af0af09d22c81772be7275c6a1ace0b54}\label{classNavGrid_af0af09d22c81772be7275c6a1ace0b54} 
const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \& {\bfseries get\+Point} (uint x, uint y, uint z) const
\item 
\Hypertarget{classNavGrid_a6c55bbddb5e48fe6600e6343dd9f576c}\label{classNavGrid_a6c55bbddb5e48fe6600e6343dd9f576c} 
const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Point} (const Point\+\_\+2 \&, uint z) const
\item 
\Hypertarget{classNavGrid_a12c9e92572c75c0f4d7bbf9bf7fbb22c}\label{classNavGrid_a12c9e92572c75c0f4d7bbf9bf7fbb22c} 
const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Point} (const \mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} \&v) const
\item 
\Hypertarget{classNavGrid_a0cfc4220778c7f6927a741da82fe9a00}\label{classNavGrid_a0cfc4220778c7f6927a741da82fe9a00} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \& {\bfseries get\+Point} (uint i)
\item 
\Hypertarget{classNavGrid_ac97cc9a32926fbe1dbd5e81a93de51cc}\label{classNavGrid_ac97cc9a32926fbe1dbd5e81a93de51cc} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \& {\bfseries get\+Point} (uint x, uint y, uint z)
\item 
\Hypertarget{classNavGrid_a6cacb6a4902e42a8c9162cd441359a6c}\label{classNavGrid_a6cacb6a4902e42a8c9162cd441359a6c} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \& {\bfseries get\+Point} (const \mbox{\hyperlink{classIPoint__3}{IPoint\+\_\+3}} \&v)
\item 
\Hypertarget{classNavGrid_a478dabbc5ae61055cd23ac8f514881c7}\label{classNavGrid_a478dabbc5ae61055cd23ac8f514881c7} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Point} (const Point\+\_\+2 \&, uint z)
\item 
\Hypertarget{classNavGrid_a72f434b5bcaa1584534bb5301c2a1d68}\label{classNavGrid_a72f434b5bcaa1584534bb5301c2a1d68} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Point} (const \mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} \&v)
\item 
\Hypertarget{classNavGrid_abcfd554b95fa1a76faba089517a3e240}\label{classNavGrid_abcfd554b95fa1a76faba089517a3e240} 
int {\bfseries get\+Direction\+Stride} (\mbox{\hyperlink{classGridDirection}{Grid\+Direction}} d) const
\item 
\Hypertarget{classNavGrid_ac3dd74cb83f6f49848b27f2c183cea9b}\label{classNavGrid_ac3dd74cb83f6f49848b27f2c183cea9b} 
uint32\+\_\+t {\bfseries get\+Address\+Offset} (const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*}nav) const
\item 
\Hypertarget{classNavGrid_a8ff4005fc8bee4aacca8876f7243ad71}\label{classNavGrid_a8ff4005fc8bee4aacca8876f7243ad71} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Point\+From\+Address\+Offset} (uint32\+\_\+t)
\item 
\Hypertarget{classNavGrid_acdad349718b7c86f1d89cf48f1934504}\label{classNavGrid_acdad349718b7c86f1d89cf48f1934504} 
const \mbox{\hyperlink{structNavSpacings}{Nav\+Spacings}} \& {\bfseries get\+Spacings} () const
\item 
\Hypertarget{classNavGrid_a1b8852bc0cceae012826c1aaa34a1e7e}\label{classNavGrid_a1b8852bc0cceae012826c1aaa34a1e7e} 
bool {\bfseries set\+Spacings} (const \mbox{\hyperlink{structNavSpacings}{Nav\+Spacings}} \&)
\item 
\Hypertarget{classNavGrid_aac49d3f2a785ba402adff5627f8e56f1}\label{classNavGrid_aac49d3f2a785ba402adff5627f8e56f1} 
void {\bfseries init\+Spacings\+For\+Any\+Routed\+Track} ()
\item 
\Hypertarget{classNavGrid_a5a137aa733b52ae4e1ee7f6fd62d5c23}\label{classNavGrid_a5a137aa733b52ae4e1ee7f6fd62d5c23} 
void {\bfseries reset\+Keepouts} ()
\item 
\Hypertarget{classNavGrid_a4f1b6075d9fdde2c3209d4275c581247}\label{classNavGrid_a4f1b6075d9fdde2c3209d4275c581247} 
void {\bfseries reset\+Keepouts\+RRR} ()
\item 
\Hypertarget{classNavGrid_ad7459572048e8673c453c87aaab94ac8}\label{classNavGrid_ad7459572048e8673c453c87aaab94ac8} 
void {\bfseries rasterize} (const \mbox{\hyperlink{classComponent}{Component}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_a513edc3b9ca235b38592ebe89c428cec}\label{classNavGrid_a513edc3b9ca235b38592ebe89c428cec} 
void {\bfseries rasterize} (const \mbox{\hyperlink{classPin}{Pin}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_a088e5e74d6ded82da8e1f17ed82020ea}\label{classNavGrid_a088e5e74d6ded82da8e1f17ed82020ea} 
void {\bfseries rasterize\+Compound} (const \mbox{\hyperlink{classPin}{Pin}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_aba23e06de63eb46a583fb482570dd3e4}\label{classNavGrid_aba23e06de63eb46a583fb482570dd3e4} 
void {\bfseries rasterize} (const \mbox{\hyperlink{classConnection}{Connection}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_a705a1d571a8f6d6594eebcffe99dc97b}\label{classNavGrid_a705a1d571a8f6d6594eebcffe99dc97b} 
void {\bfseries rasterize\+Layout\+Area\+Border} (const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_a55fc69020d1eb582e59662948e444062}\label{classNavGrid_a55fc69020d1eb582e59662948e444062} 
void {\bfseries rasterize} (const \mbox{\hyperlink{classTrack}{Track}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&, uint rasterize\+Mask)
\item 
\Hypertarget{classNavGrid_a1df8ca42b3183c05dd9adb5b255f046b}\label{classNavGrid_a1df8ca42b3183c05dd9adb5b255f046b} 
void {\bfseries rasterize} (const \mbox{\hyperlink{classPath}{Path}} \&, const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavGrid_ab05990cd18899d2d594fcb57779b941c}\label{classNavGrid_ab05990cd18899d2d594fcb57779b941c} 
void {\bfseries get\+Costs} (std\+::vector$<$ float $>$ \&, uint index)
\item 
\Hypertarget{classNavGrid_ae09e3d2ddce8b8f22ba4e5c6d410e8b8}\label{classNavGrid_ae09e3d2ddce8b8f22ba4e5c6d410e8b8} 
void {\bfseries set\+Costs} (uint index, float, const \mbox{\hyperlink{structIBox__3}{IBox\+\_\+3}} \&)
\item 
\Hypertarget{classNavGrid_a29e06f853c788292a49512820ba15abb}\label{classNavGrid_a29e06f853c788292a49512820ba15abb} 
void {\bfseries set\+Costs} (uint index, const float \texorpdfstring{$\ast$}{*}, const \mbox{\hyperlink{structIBox__3}{IBox\+\_\+3}} \&)
\item 
\Hypertarget{classNavGrid_a511044246a3005bf840717e887e2ea8a}\label{classNavGrid_a511044246a3005bf840717e887e2ea8a} 
void {\bfseries set\+Costs} (uint index, const float \texorpdfstring{$\ast$}{*})
\item 
\Hypertarget{classNavGrid_a14e8d1df9c9f7c4f1bce266c873cc328}\label{classNavGrid_a14e8d1df9c9f7c4f1bce266c873cc328} 
\mbox{\hyperlink{structAStarCosts}{AStar\+Costs}} \& {\bfseries get\+AStar\+Costs} ()
\item 
\Hypertarget{classNavGrid_af58c4782622989a80b3378343c2559cb}\label{classNavGrid_af58c4782622989a80b3378343c2559cb} 
bool {\bfseries find\+Path\+AStar} (\mbox{\hyperlink{classConnection}{Connection}} \&, const \mbox{\hyperlink{structAStarCosts}{AStar\+Costs}} \texorpdfstring{$\ast$}{*})
\item 
\Hypertarget{classNavGrid_a425972957dba7ebadd54ad7551e82997}\label{classNavGrid_a425972957dba7ebadd54ad7551e82997} 
Real {\bfseries sum\+Violation\+Area} (const \mbox{\hyperlink{classConnection}{Connection}} \&)
\item 
\Hypertarget{classNavGrid_abdb9d1dfa9cd4c5b0924506582b61b75}\label{classNavGrid_abdb9d1dfa9cd4c5b0924506582b61b75} 
uint16\+\_\+t {\bfseries next\+Raster\+Seq} ()
\item 
\Hypertarget{classNavGrid_a71ffae92655e24a93205223384b1f8d1}\label{classNavGrid_a71ffae92655e24a93205223384b1f8d1} 
uint16\+\_\+t {\bfseries next\+Search\+Seq} ()
\item 
\Hypertarget{classNavGrid_a246c5c1ebc0e481f85ae3c29cf15418e}\label{classNavGrid_a246c5c1ebc0e481f85ae3c29cf15418e} 
uint16\+\_\+t {\bfseries get\+Search\+Seq} () const
\item 
\Hypertarget{classNavGrid_a29bebed6fb47ae99b0519d86d85bbbe6}\label{classNavGrid_a29bebed6fb47ae99b0519d86d85bbbe6} 
std\+::string {\bfseries str} (const \mbox{\hyperlink{structIBox__3}{IBox\+\_\+3}} \texorpdfstring{$\ast$}{*}=0) const
\item 
\Hypertarget{classNavGrid_a69d1a5b4a8329ce9daf61de540d060fc}\label{classNavGrid_a69d1a5b4a8329ce9daf61de540d060fc} 
Py\+Object \texorpdfstring{$\ast$}{*} {\bfseries get\+Py} (const \mbox{\hyperlink{structIBox__3}{IBox\+\_\+3}} \&) const
\item 
\Hypertarget{classNavGrid_a541086479aadb23bf443bd3e312a83d3}\label{classNavGrid_a541086479aadb23bf443bd3e312a83d3} 
Py\+Object \texorpdfstring{$\ast$}{*} {\bfseries get\+Path\+Coordinates\+Numpy} (const \mbox{\hyperlink{classTrack}{Track}} \&) const
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}}}
\begin{DoxyCompactItemize}
\item 
{\bfseries Uniform\+Grid25} (Real edge\+Len)
\item 
\mbox{\hyperlink{classIVector__3}{IVector\+\_\+3}} {\bfseries get\+Size} () const
\item 
uint {\bfseries get\+Size} (uint d) const
\item 
const Bbox\+\_\+2 \& {\bfseries get\+Bbox} () const
\item 
Real {\bfseries XCoord} (int x) const
\item 
Real {\bfseries YCoord} (int y) const
\item 
Point\+\_\+2 {\bfseries Coords} (const \mbox{\hyperlink{classIPoint__2}{IPoint\+\_\+2}} \&v) const
\item 
Point\+\_\+2 {\bfseries Coords} (int x, int y) const
\item 
\mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} {\bfseries Coords} (const \mbox{\hyperlink{classIPoint__3}{IPoint\+\_\+3}} \&v) const
\item 
\mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} {\bfseries Coords} (int x, int y, uint z) const
\item 
Vector\+\_\+2 {\bfseries Mid\+Point\+Offset} () const
\item 
Real {\bfseries Mid\+PointX} (int x) const
\item 
Real {\bfseries Mid\+PointY} (int y) const
\item 
Point\+\_\+2 {\bfseries Mid\+Point} (const \mbox{\hyperlink{classIPoint__2}{IPoint\+\_\+2}} \&v) const
\item 
Point\+\_\+2 {\bfseries Mid\+Point} (int x, int y) const
\item 
\mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} {\bfseries Mid\+Point} (const \mbox{\hyperlink{classIPoint__3}{IPoint\+\_\+3}} \&v) const
\item 
\mbox{\hyperlink{classIVector__2}{IVector\+\_\+2}} {\bfseries HIndices} (const Point\+\_\+2 \&v) const
\item 
int {\bfseries XIndex} (Real x, Real ex=0.\+0) const
\item 
int {\bfseries YIndex} (Real y, Real ey=0.\+0) const
\item 
uint {\bfseries XIndex\+Bounded} (Real x, Real ex=0.\+0) const
\item 
uint {\bfseries YIndex\+Bounded} (Real y, Real ey=0.\+0) const
\item 
uint {\bfseries Linear\+Index} (uint z, uint y, uint x) const
\item 
uint {\bfseries Linear\+Index} (const \mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} \&v) const
\item 
\mbox{\hyperlink{structIBox__3}{IBox\+\_\+3}} {\bfseries get\+Box} (const Bbox\+\_\+2 \&, uint z0=0, uint z1=std\+::numeric\+\_\+limits$<$ uint $>$\+::max()) const
\item 
Real {\bfseries Xf\+Index} (Real x, Real ex=0.\+0) const
\item 
Real {\bfseries Yf\+Index} (Real y, Real ey=0.\+0) const
\item 
uint {\bfseries get\+Num\+Points2D} () const
\item 
uint {\bfseries get\+Num\+Points3D} () const
\item 
bool {\bfseries inside} (const \mbox{\hyperlink{classIPoint__3}{IPoint\+\_\+3}} \&v) const
\item 
bool {\bfseries inside} (uint x, uint y, uint z) const
\item 
\mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} {\bfseries snap\+To\+Mid\+Point} (const \mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} \&) const
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Data Fields inherited from \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}}}
\begin{DoxyCompactItemize}
\item 
const Real {\bfseries Edge\+Len}
\item 
const Real {\bfseries Edge\+Len05}
\item 
const Real {\bfseries Edge\+Len\+Rcp}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}}}
\begin{DoxyCompactItemize}
\item 
void {\bfseries calc\+Num\+Points3D} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}}}
\begin{DoxyCompactItemize}
\item 
Bbox\+\_\+2 {\bfseries m\+Bbox}
\item 
uint {\bfseries m\+Size} \mbox{[}3\mbox{]}
\item 
uint {\bfseries m\+StrideZ}
\item 
uint {\bfseries m\+StrideY}
\item 
uint {\bfseries m\+Num\+Points3D}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The grid-\/representation of the board. 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/home/chr/devel/\+Ph\+D/\+Environment/pub/\+PCBEnv/pcbenv/cxx/Nav\+Grid.\+hpp\end{DoxyCompactItemize}
