\section{lib/pathplan/shortest.c File Reference}
\label{shortest_8c}\index{lib/pathplan/shortest.\-c@{lib/pathplan/shortest.\-c}}
{\ttfamily \#include $<$stdlib.\-h$>$}\\*
{\ttfamily \#include $<$stdio.\-h$>$}\\*
{\ttfamily \#include $<$setjmp.\-h$>$}\\*
{\ttfamily \#include $<$limits.\-h$>$}\\*
{\ttfamily \#include $<$math.\-h$>$}\\*
{\ttfamily \#include \char`\"{}pathutil.\-h\char`\"{}}\\*
Include dependency graph for shortest.\-c\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{shortest_8c__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct {\bf pointnlink\-\_\-t}
\item 
struct {\bf tedge\-\_\-t}
\item 
struct {\bf triangle\-\_\-t}
\item 
struct {\bf deque\-\_\-t}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bf I\-S\-C\-C\-W}~1
\item 
\#define {\bf I\-S\-C\-W}~2
\item 
\#define {\bf I\-S\-O\-N}~3
\item 
\#define {\bf D\-Q\-\_\-\-F\-R\-O\-N\-T}~1
\item 
\#define {\bf D\-Q\-\_\-\-B\-A\-C\-K}~2
\item 
\#define {\bf prerror}(msg)~fprintf (stderr, \char`\"{}libpath/\%s\-:\%d\-: \%{\bf s\textbackslash{}n}\char`\"{}, \-\_\-\-\_\-\-F\-I\-L\-E\-\_\-\-\_\-, \-\_\-\-\_\-\-L\-I\-N\-E\-\_\-\-\_\-, (msg))
\item 
\#define {\bf P\-O\-I\-N\-T\-S\-I\-Z\-E}~sizeof ({\bf Ppoint\-\_\-t})
\item 
\#define {\bf P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E}~sizeof ({\bf pointnlink\-\_\-t})
\item 
\#define {\bf P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E}~sizeof ({\bf pointnlink\-\_\-t} $\ast$)
\item 
\#define {\bf T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E}~sizeof ({\bf triangle\-\_\-t})
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct {\bf pointnlink\-\_\-t} {\bf pointnlink\-\_\-t}
\item 
typedef struct {\bf tedge\-\_\-t} {\bf tedge\-\_\-t}
\item 
typedef struct {\bf triangle\-\_\-t} {\bf triangle\-\_\-t}
\item 
typedef struct {\bf deque\-\_\-t} {\bf deque\-\_\-t}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\bf int} {\bf Pshortestpath} ({\bf Ppoly\-\_\-t} $\ast$polyp, {\bf Ppoint\-\_\-t} $\ast$eps, {\bf Ppolyline\-\_\-t} $\ast$output)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\index{shortest.\-c@{shortest.\-c}!D\-Q\-\_\-\-B\-A\-C\-K@{D\-Q\-\_\-\-B\-A\-C\-K}}
\index{D\-Q\-\_\-\-B\-A\-C\-K@{D\-Q\-\_\-\-B\-A\-C\-K}!shortest.c@{shortest.\-c}}
\subsubsection[{D\-Q\-\_\-\-B\-A\-C\-K}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-Q\-\_\-\-B\-A\-C\-K~2}\label{shortest_8c_a760373e939df838e2c19f8d775162d0f}


Definition at line 34 of file shortest.\-c.



Referenced by Pshortestpath().

\index{shortest.\-c@{shortest.\-c}!D\-Q\-\_\-\-F\-R\-O\-N\-T@{D\-Q\-\_\-\-F\-R\-O\-N\-T}}
\index{D\-Q\-\_\-\-F\-R\-O\-N\-T@{D\-Q\-\_\-\-F\-R\-O\-N\-T}!shortest.c@{shortest.\-c}}
\subsubsection[{D\-Q\-\_\-\-F\-R\-O\-N\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-Q\-\_\-\-F\-R\-O\-N\-T~1}\label{shortest_8c_a07bcf7e64cd7d1ecdf9d5d77fbcb8940}


Definition at line 33 of file shortest.\-c.



Referenced by Pshortestpath().

\index{shortest.\-c@{shortest.\-c}!I\-S\-C\-C\-W@{I\-S\-C\-C\-W}}
\index{I\-S\-C\-C\-W@{I\-S\-C\-C\-W}!shortest.c@{shortest.\-c}}
\subsubsection[{I\-S\-C\-C\-W}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-S\-C\-C\-W~1}\label{shortest_8c_ab2681cc57aa3b7e0e38c8673fe94ac9b}


Definition at line 29 of file shortest.\-c.



Referenced by Pshortestpath().

\index{shortest.\-c@{shortest.\-c}!I\-S\-C\-W@{I\-S\-C\-W}}
\index{I\-S\-C\-W@{I\-S\-C\-W}!shortest.c@{shortest.\-c}}
\subsubsection[{I\-S\-C\-W}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-S\-C\-W~2}\label{shortest_8c_af2bfb5691275c6fc778626a53a2983eb}


Definition at line 30 of file shortest.\-c.

\index{shortest.\-c@{shortest.\-c}!I\-S\-O\-N@{I\-S\-O\-N}}
\index{I\-S\-O\-N@{I\-S\-O\-N}!shortest.c@{shortest.\-c}}
\subsubsection[{I\-S\-O\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-S\-O\-N~3}\label{shortest_8c_a35f1743beab44d824c8f2cdebf8c8146}


Definition at line 31 of file shortest.\-c.

\index{shortest.\-c@{shortest.\-c}!P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E}}
\index{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E}!shortest.c@{shortest.\-c}}
\subsubsection[{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-P\-S\-I\-Z\-E~sizeof ({\bf pointnlink\-\_\-t} $\ast$)}\label{shortest_8c_a967a600d31ca5eafe3d58d28b8c1c23d}


Definition at line 52 of file shortest.\-c.

\index{shortest.\-c@{shortest.\-c}!P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E}}
\index{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E}!shortest.c@{shortest.\-c}}
\subsubsection[{P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\-O\-I\-N\-T\-N\-L\-I\-N\-K\-S\-I\-Z\-E~sizeof ({\bf pointnlink\-\_\-t})}\label{shortest_8c_ada963ddd9c38b421f9cbb904a0e5b560}


Definition at line 51 of file shortest.\-c.

\index{shortest.\-c@{shortest.\-c}!P\-O\-I\-N\-T\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-S\-I\-Z\-E}}
\index{P\-O\-I\-N\-T\-S\-I\-Z\-E@{P\-O\-I\-N\-T\-S\-I\-Z\-E}!shortest.c@{shortest.\-c}}
\subsubsection[{P\-O\-I\-N\-T\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\-O\-I\-N\-T\-S\-I\-Z\-E~sizeof ({\bf Ppoint\-\_\-t})}\label{shortest_8c_a12c252290763ee0b2cbb540cee43fddb}


Definition at line 44 of file shortest.\-c.

\index{shortest.\-c@{shortest.\-c}!prerror@{prerror}}
\index{prerror@{prerror}!shortest.c@{shortest.\-c}}
\subsubsection[{prerror}]{\setlength{\rightskip}{0pt plus 5cm}\#define prerror(
\begin{DoxyParamCaption}
\item[{}]{msg}
\end{DoxyParamCaption}
)~fprintf (stderr, \char`\"{}libpath/\%s\-:\%d\-: \%{\bf s\textbackslash{}n}\char`\"{}, \-\_\-\-\_\-\-F\-I\-L\-E\-\_\-\-\_\-, \-\_\-\-\_\-\-L\-I\-N\-E\-\_\-\-\_\-, (msg))}\label{shortest_8c_a9afd5771015320f2b7478ebcf9c7bf1d}


Definition at line 41 of file shortest.\-c.



Referenced by Pshortestpath().

\index{shortest.\-c@{shortest.\-c}!T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E@{T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E}}
\index{T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E@{T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E}!shortest.c@{shortest.\-c}}
\subsubsection[{T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\-R\-I\-A\-N\-G\-L\-E\-S\-I\-Z\-E~sizeof ({\bf triangle\-\_\-t})}\label{shortest_8c_a458bc134f65ac6aa33dc50c8e60a2308}


Definition at line 66 of file shortest.\-c.



\subsection{Typedef Documentation}
\index{shortest.\-c@{shortest.\-c}!deque\-\_\-t@{deque\-\_\-t}}
\index{deque\-\_\-t@{deque\-\_\-t}!shortest.c@{shortest.\-c}}
\subsubsection[{deque\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf deque\-\_\-t}  {\bf deque\-\_\-t}}\label{shortest_8c_abd6f265d39b38764f355f428e4ef2f19}
\index{shortest.\-c@{shortest.\-c}!pointnlink\-\_\-t@{pointnlink\-\_\-t}}
\index{pointnlink\-\_\-t@{pointnlink\-\_\-t}!shortest.c@{shortest.\-c}}
\subsubsection[{pointnlink\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf pointnlink\-\_\-t}  {\bf pointnlink\-\_\-t}}\label{shortest_8c_a4e4b81acfd53b7e3a010bf389ac4a21d}
\index{shortest.\-c@{shortest.\-c}!tedge\-\_\-t@{tedge\-\_\-t}}
\index{tedge\-\_\-t@{tedge\-\_\-t}!shortest.c@{shortest.\-c}}
\subsubsection[{tedge\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf tedge\-\_\-t}  {\bf tedge\-\_\-t}}\label{shortest_8c_af9e978bc24dda2eef9559536b98c6bc9}
\index{shortest.\-c@{shortest.\-c}!triangle\-\_\-t@{triangle\-\_\-t}}
\index{triangle\-\_\-t@{triangle\-\_\-t}!shortest.c@{shortest.\-c}}
\subsubsection[{triangle\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf triangle\-\_\-t}  {\bf triangle\-\_\-t}}\label{shortest_8c_a756da47e729d1b39efef99ae500c44ec}


\subsection{Function Documentation}
\index{shortest.\-c@{shortest.\-c}!Pshortestpath@{Pshortestpath}}
\index{Pshortestpath@{Pshortestpath}!shortest.c@{shortest.\-c}}
\subsubsection[{Pshortestpath}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} Pshortestpath (
\begin{DoxyParamCaption}
\item[{{\bf Ppoly\-\_\-t} $\ast$}]{polyp, }
\item[{{\bf Ppoint\-\_\-t} $\ast$}]{eps, }
\item[{{\bf Ppolyline\-\_\-t} $\ast$}]{output}
\end{DoxyParamCaption}
)}\label{shortest_8c_a3190876e0940792fe455bdf3e391de6a}


Definition at line 110 of file shortest.\-c.



References deque\-\_\-t\-::apex, D\-Q\-\_\-\-B\-A\-C\-K, D\-Q\-\_\-\-F\-R\-O\-N\-T, triangle\-\_\-t\-::e, deque\-\_\-t\-::fpnlpi, I\-S\-C\-C\-W, pointnlink\-\_\-t\-::link, deque\-\_\-t\-::lpnlpi, triangle\-\_\-t\-::mark, N\-U\-L\-L, Ppoly\-\_\-t\-::pn, tedge\-\_\-t\-::pnl0p, tedge\-\_\-t\-::pnl1p, deque\-\_\-t\-::pnlpn, deque\-\_\-t\-::pnlps, pointnlink\-\_\-t\-::pp, prerror, Ppoly\-\_\-t\-::ps, tedge\-\_\-t\-::rtp, Pxy\-\_\-t\-::x, and Pxy\-\_\-t\-::y.

