\doxysection{Nav\+Point Class Reference}
\hypertarget{classNavPoint}{}\label{classNavPoint}\index{NavPoint@{NavPoint}}


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

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classNavPoint_a8bac9260dc1010bf6ba0e888bca00591}\label{classNavPoint_a8bac9260dc1010bf6ba0e888bca00591} 
void {\bfseries set\+Ref\+Point} (int x, int y, int z)
\item 
\Hypertarget{classNavPoint_adecb889c050287f00471e05a025c4b77}\label{classNavPoint_adecb889c050287f00471e05a025c4b77} 
Point\+\_\+2 {\bfseries get\+Ref\+Point} (const \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}} \texorpdfstring{$\ast$}{*}nav) const
\item 
\Hypertarget{classNavPoint_a7e704a38b73406506c9a2ce2e2d1045e}\label{classNavPoint_a7e704a38b73406506c9a2ce2e2d1045e} 
\mbox{\hyperlink{classPoint__25}{Point\+\_\+25}} {\bfseries get\+Ref\+Point25} (const \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}} \texorpdfstring{$\ast$}{*}nav) const
\item 
\Hypertarget{classNavPoint_af0dc2642b3582bf4971f96a5184259a3}\label{classNavPoint_af0dc2642b3582bf4971f96a5184259a3} 
uint8\+\_\+t {\bfseries get\+Layer} () const
\item 
\Hypertarget{classNavPoint_addd2465505b99725d6e803dc40cc02f2}\label{classNavPoint_addd2465505b99725d6e803dc40cc02f2} 
bool {\bfseries has\+Edge} (\mbox{\hyperlink{classGridDirection}{Grid\+Direction}} d) const
\item 
\Hypertarget{classNavPoint_ab7b6ed529be370760b4a79f75dcae296}\label{classNavPoint_ab7b6ed529be370760b4a79f75dcae296} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Edge} (\mbox{\hyperlink{classNavGrid}{Nav\+Grid}} \&, \mbox{\hyperlink{classGridDirection}{Grid\+Direction}} d) const
\item 
\Hypertarget{classNavPoint_aef56708a05ca05db0ddb9d4ba9870fdf}\label{classNavPoint_aef56708a05ca05db0ddb9d4ba9870fdf} 
void {\bfseries set\+Edge} (\mbox{\hyperlink{classGridDirection}{Grid\+Direction}} d, bool mask)
\item 
\Hypertarget{classNavPoint_a983f4290c249b8d6c9d21504e20e6e80}\label{classNavPoint_a983f4290c249b8d6c9d21504e20e6e80} 
\mbox{\hyperlink{classSegment__25}{Segment\+\_\+25}} {\bfseries get\+Segment\+To} (const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \&v, const \mbox{\hyperlink{classUniformGrid25}{Uniform\+Grid25}} \texorpdfstring{$\ast$}{*}nav) const
\item 
\Hypertarget{classNavPoint_a07f0d3814f23db141aa7a4bac7e6711b}\label{classNavPoint_a07f0d3814f23db141aa7a4bac7e6711b} 
const \mbox{\hyperlink{structNavKeepoutCounts}{Nav\+Keepout\+Counts}} \& {\bfseries get\+KOCounts} () const
\item 
\Hypertarget{classNavPoint_ae430fa01e1df926dfb3d0960a8ca398d}\label{classNavPoint_ae430fa01e1df926dfb3d0960a8ca398d} 
\mbox{\hyperlink{structNavKeepoutCounts}{Nav\+Keepout\+Counts}} \& {\bfseries get\+KOCounts} ()
\item 
\Hypertarget{classNavPoint_a183084f870643f2d6c9ebeab9b4fca34}\label{classNavPoint_a183084f870643f2d6c9ebeab9b4fca34} 
void {\bfseries reset\+KO} ()
\item 
\Hypertarget{classNavPoint_a8eb418edb966f18c5362f28ad96ea4ed}\label{classNavPoint_a8eb418edb966f18c5362f28ad96ea4ed} 
bool {\bfseries can\+Route} () const
\item 
\Hypertarget{classNavPoint_ac9e80e78cdb56f82f3b75af319e52675}\label{classNavPoint_ac9e80e78cdb56f82f3b75af319e52675} 
bool {\bfseries can\+Place\+Via} () const
\item 
\Hypertarget{classNavPoint_a92136f013c6f0220ace53d573dab5729}\label{classNavPoint_a92136f013c6f0220ace53d573dab5729} 
bool {\bfseries can\+Place\+Via\+Ever} () const
\item 
\Hypertarget{classNavPoint_afe151f2c67e96bc0f68fa6df36181f01}\label{classNavPoint_afe151f2c67e96bc0f68fa6df36181f01} 
bool {\bfseries can\+Add\+Via} (const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \&to) const
\item 
\Hypertarget{classNavPoint_a5b76e9108dc56d7dbfc947b847a9ebdd}\label{classNavPoint_a5b76e9108dc56d7dbfc947b847a9ebdd} 
bool {\bfseries can\+Add\+Via\+Ever} (const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \&to) const
\item 
\Hypertarget{classNavPoint_ab887bb54d2d417a8bd8a37971f8bd4dd}\label{classNavPoint_ab887bb54d2d417a8bd8a37971f8bd4dd} 
bool {\bfseries inside\+Pin} () const
\item 
\Hypertarget{classNavPoint_a65edf210be1462fc41cefb697302b4ba}\label{classNavPoint_a65edf210be1462fc41cefb697302b4ba} 
bool {\bfseries has\+Flags} (uint16\+\_\+t mask) const
\item 
\Hypertarget{classNavPoint_a43f9b5ed0f40862503d55f8dd9e05493}\label{classNavPoint_a43f9b5ed0f40862503d55f8dd9e05493} 
uint16\+\_\+t {\bfseries get\+Flags} () const
\item 
\Hypertarget{classNavPoint_af8d00d2df8f3e0ad15d50473c214dfec}\label{classNavPoint_af8d00d2df8f3e0ad15d50473c214dfec} 
void {\bfseries set\+Flags} (uint16\+\_\+t mask)
\item 
\Hypertarget{classNavPoint_a577494a613ebe4cfea7b474b267a1343}\label{classNavPoint_a577494a613ebe4cfea7b474b267a1343} 
void {\bfseries clear\+Flags} (uint16\+\_\+t mask)
\item 
\Hypertarget{classNavPoint_aaf5b40ee02f179090c842499ea67b9d9}\label{classNavPoint_aaf5b40ee02f179090c842499ea67b9d9} 
void {\bfseries save\+Flags} ()
\item 
\Hypertarget{classNavPoint_ae4c5cf7f0aecf33361545fb134d0920c}\label{classNavPoint_ae4c5cf7f0aecf33361545fb134d0920c} 
void {\bfseries restore\+Flags} ()
\item 
\Hypertarget{classNavPoint_adffd4585f811cb631ac78d18470597e3}\label{classNavPoint_adffd4585f811cb631ac78d18470597e3} 
void {\bfseries write} (const \mbox{\hyperlink{structNavRasterizeParams}{Nav\+Rasterize\+Params}} \&)
\item 
\Hypertarget{classNavPoint_a5af383d62d20ead3e8b37e34a7fdce4d}\label{classNavPoint_a5af383d62d20ead3e8b37e34a7fdce4d} 
void {\bfseries copy\+From} (const \mbox{\hyperlink{classNavPoint}{Nav\+Point}} \&)
\item 
\Hypertarget{classNavPoint_a570f2180af8c87831722499f458f5873}\label{classNavPoint_a570f2180af8c87831722499f458f5873} 
float {\bfseries get\+Cost} (uint term) const
\item 
\Hypertarget{classNavPoint_af31379252681dfea50b4b0db07a47c00}\label{classNavPoint_af31379252681dfea50b4b0db07a47c00} 
void {\bfseries set\+Cost} (uint term, float cost)
\item 
\Hypertarget{classNavPoint_ae18dea4905361a7588c8c8f1b8e54e46}\label{classNavPoint_ae18dea4905361a7588c8c8f1b8e54e46} 
float {\bfseries get\+Score} () const
\item 
\Hypertarget{classNavPoint_aace593e9a1f79e2bb24a70edd7cec180}\label{classNavPoint_aace593e9a1f79e2bb24a70edd7cec180} 
void {\bfseries set\+Score} (float score)
\item 
\Hypertarget{classNavPoint_a0f4e4daf7ccce0bc7e1d9488b3a53c94}\label{classNavPoint_a0f4e4daf7ccce0bc7e1d9488b3a53c94} 
\mbox{\hyperlink{classNavPoint}{Nav\+Point}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Back\+Edge} (\mbox{\hyperlink{classNavGrid}{Nav\+Grid}} \&nav) const
\item 
\Hypertarget{classNavPoint_a2963b45ff677fa025ab24a0909c7a313}\label{classNavPoint_a2963b45ff677fa025ab24a0909c7a313} 
\mbox{\hyperlink{classGridDirection}{Grid\+Direction}} {\bfseries get\+Back\+Direction} () const
\item 
\Hypertarget{classNavPoint_a1f489a8098c34a87dc7d57276d5bb7e3}\label{classNavPoint_a1f489a8098c34a87dc7d57276d5bb7e3} 
void {\bfseries set\+Back\+Direction} (\mbox{\hyperlink{classGridDirection}{Grid\+Direction}} d)
\item 
\Hypertarget{classNavPoint_a86062b85170ce3339b797c16c8cab4a3}\label{classNavPoint_a86062b85170ce3339b797c16c8cab4a3} 
\mbox{\hyperlink{classAStarVisitStatus}{AStar\+Visit\+Status}} \& {\bfseries get\+Visits} ()
\item 
\Hypertarget{classNavPoint_a440c1c94ba99d3b15657aa41b15b8478}\label{classNavPoint_a440c1c94ba99d3b15657aa41b15b8478} 
const \mbox{\hyperlink{classAStarVisitStatus}{AStar\+Visit\+Status}} \& {\bfseries get\+Visits} () const
\item 
\Hypertarget{classNavPoint_a6faff42537619bcfeca88d6dc3397ad3}\label{classNavPoint_a6faff42537619bcfeca88d6dc3397ad3} 
uint16\+\_\+t {\bfseries get\+Write\+Seq} () const
\item 
\Hypertarget{classNavPoint_a9fe15d0edbccdcae8b05873b62b69888}\label{classNavPoint_a9fe15d0edbccdcae8b05873b62b69888} 
void {\bfseries set\+Write\+Seq} (uint16\+\_\+t v)
\item 
\Hypertarget{classNavPoint_af75e0e7371d9b6a7572498c1d037aa77}\label{classNavPoint_af75e0e7371d9b6a7572498c1d037aa77} 
std\+::string {\bfseries str} (const \mbox{\hyperlink{classNavGrid}{Nav\+Grid}} \texorpdfstring{$\ast$}{*}) const
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class represents a cell in the 3D grid representation of the board. Grid cells will be 1x1 length units as per \doxylink{classPCBoard}{PCBoard(\+Unit\+Length\+In\+Nano\+Meters)}. Each cell has 8 horizontal + 2 vertical edges (indexed by \doxylink{classGridDirection}{Grid\+Direction}), pointing to its neighbours (or null). \doxylink{classNavPoint}{Nav\+Point} also contains temporary data required by A\texorpdfstring{$\ast$}{*}. 

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