\section{lib/common/routespl.c File Reference}
\label{routespl_8c}\index{lib/common/routespl.\-c@{lib/common/routespl.\-c}}
{\ttfamily \#include \char`\"{}config.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}render.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}pathplan.\-h\char`\"{}}\\*
{\ttfamily \#include $<$setjmp.\-h$>$}\\*
Include dependency graph for routespl.\-c\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{routespl_8c__incl}
\end{center}
\end{figure}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bf P\-I\-N\-C}~300
\item 
\#define {\bf F\-U\-D\-G\-E}~.\-0001
\item 
\#define {\bf I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A}~10
\item 
\#define {\bf L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S}~15  /$\ast$ number of times to try to limiting boxes to regain space, using smaller divisions $\ast$/
\item 
\#define {\bf M\-A\-X\-\_\-\-E\-D\-G\-E}~20
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\bf pointf} $\ast$ {\bf simple\-Spline\-Route} ({\bf pointf} tp, {\bf pointf} hp, {\bf Ppoly\-\_\-t} poly, {\bf int} $\ast$n\-\_\-spl\-\_\-pts, {\bf int} polyline)
\item 
{\bf int} {\bf routesplinesinit} ()
\item 
void {\bf routesplinesterm} ()
\item 
{\bf pointf} $\ast$ {\bf routesplines} ({\bf path} $\ast$pp, {\bf int} $\ast$npoints)
\item 
{\bf pointf} $\ast$ {\bf routepolylines} ({\bf path} $\ast$pp, {\bf int} $\ast$npoints)
\item 
void {\bf make\-Straight\-Edge} ({\bf graph\-\_\-t} $\ast$g, {\bf edge\-\_\-t} $\ast$e, {\bf int} et, {\bf spline\-Info} $\ast$sinfo)
\item 
void {\bf make\-Straight\-Edges} ({\bf graph\-\_\-t} $\ast$g, {\bf edge\-\_\-t} $\ast$$\ast$edges, {\bf int} e\-\_\-cnt, {\bf int} et, {\bf spline\-Info} $\ast$sinfo)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\index{routespl.\-c@{routespl.\-c}!F\-U\-D\-G\-E@{F\-U\-D\-G\-E}}
\index{F\-U\-D\-G\-E@{F\-U\-D\-G\-E}!routespl.c@{routespl.\-c}}
\subsubsection[{F\-U\-D\-G\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\-U\-D\-G\-E~.\-0001}\label{routespl_8c_ac7352a7dfd2613809689914aa876b868}
\index{routespl.\-c@{routespl.\-c}!I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A@{I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A}}
\index{I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A@{I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A}!routespl.c@{routespl.\-c}}
\subsubsection[{I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\-N\-I\-T\-\_\-\-D\-E\-L\-T\-A~10}\label{routespl_8c_a0438fb3ca3d440fae4db12032ab3d962}


Definition at line 368 of file routespl.\-c.

\index{routespl.\-c@{routespl.\-c}!L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S@{L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S}}
\index{L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S@{L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S}!routespl.c@{routespl.\-c}}
\subsubsection[{L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S}]{\setlength{\rightskip}{0pt plus 5cm}\#define L\-O\-O\-P\-\_\-\-T\-R\-I\-E\-S~15  /$\ast$ number of times to try to limiting boxes to regain space, using smaller divisions $\ast$/}\label{routespl_8c_a81a41454dc4d62a6339358f7a0089674}


Definition at line 369 of file routespl.\-c.

\index{routespl.\-c@{routespl.\-c}!M\-A\-X\-\_\-\-E\-D\-G\-E@{M\-A\-X\-\_\-\-E\-D\-G\-E}}
\index{M\-A\-X\-\_\-\-E\-D\-G\-E@{M\-A\-X\-\_\-\-E\-D\-G\-E}!routespl.c@{routespl.\-c}}
\subsubsection[{M\-A\-X\-\_\-\-E\-D\-G\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-E\-D\-G\-E~20}\label{routespl_8c_a6ec4a6a8fdb57f4ee13c0000f4c08e32}


Definition at line 934 of file routespl.\-c.



Referenced by make\-Straight\-Edge().

\index{routespl.\-c@{routespl.\-c}!P\-I\-N\-C@{P\-I\-N\-C}}
\index{P\-I\-N\-C@{P\-I\-N\-C}!routespl.c@{routespl.\-c}}
\subsubsection[{P\-I\-N\-C}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\-I\-N\-C~300}\label{routespl_8c_a0545e73dc7ae14b1f62293c1feba3983}


Definition at line 27 of file routespl.\-c.



Referenced by routesplinesinit().



\subsection{Function Documentation}
\index{routespl.\-c@{routespl.\-c}!make\-Straight\-Edge@{make\-Straight\-Edge}}
\index{make\-Straight\-Edge@{make\-Straight\-Edge}!routespl.c@{routespl.\-c}}
\subsubsection[{make\-Straight\-Edge}]{\setlength{\rightskip}{0pt plus 5cm}void make\-Straight\-Edge (
\begin{DoxyParamCaption}
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{{\bf edge\-\_\-t} $\ast$}]{e, }
\item[{{\bf int}}]{et, }
\item[{{\bf spline\-Info} $\ast$}]{sinfo}
\end{DoxyParamCaption}
)}\label{routespl_8c_ad06ba0ce838d58a5d49be4b57bdaa26c}


Definition at line 936 of file routespl.\-c.



References E\-D\-\_\-to\-\_\-virt, make\-Straight\-Edges(), M\-A\-X\-\_\-\-E\-D\-G\-E, and N\-\_\-\-N\-E\-W.

\index{routespl.\-c@{routespl.\-c}!make\-Straight\-Edges@{make\-Straight\-Edges}}
\index{make\-Straight\-Edges@{make\-Straight\-Edges}!routespl.c@{routespl.\-c}}
\subsubsection[{make\-Straight\-Edges}]{\setlength{\rightskip}{0pt plus 5cm}void make\-Straight\-Edges (
\begin{DoxyParamCaption}
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{{\bf edge\-\_\-t} $\ast$$\ast$}]{edges, }
\item[{{\bf int}}]{e\-\_\-cnt, }
\item[{{\bf int}}]{et, }
\item[{{\bf spline\-Info} $\ast$}]{sinfo}
\end{DoxyParamCaption}
)}\label{routespl_8c_af5df79b4f313e627175298b77313d7f5}


Definition at line 962 of file routespl.\-c.



References add\-Edge\-Labels(), aghead(), agtail(), A\-P\-P\-R\-O\-X\-E\-Q\-P\-T, clip\-\_\-and\-\_\-install(), Concentrate, E\-D\-\_\-head\-\_\-port, E\-D\-\_\-tail\-\_\-port, E\-T\-\_\-\-C\-U\-R\-V\-E\-D, E\-T\-\_\-\-P\-L\-I\-N\-E, G\-D\-\_\-nodesep, head, L\-E\-N, make\-\_\-polyline(), M\-I\-L\-L\-I\-P\-O\-I\-N\-T, N\-D\-\_\-coord, Ppoly\-\_\-t\-::pn, Ppoly\-\_\-t\-::ps, Agraph\-\_\-s\-::root, pointf\-\_\-s\-::x, and pointf\-\_\-s\-::y.



Referenced by make\-Straight\-Edge().

\index{routespl.\-c@{routespl.\-c}!routepolylines@{routepolylines}}
\index{routepolylines@{routepolylines}!routespl.c@{routespl.\-c}}
\subsubsection[{routepolylines}]{\setlength{\rightskip}{0pt plus 5cm}{\bf pointf}$\ast$ routepolylines (
\begin{DoxyParamCaption}
\item[{{\bf path} $\ast$}]{pp, }
\item[{{\bf int} $\ast$}]{npoints}
\end{DoxyParamCaption}
)}\label{routespl_8c_a364a58ad122da79952289df3a0c7d608}


Definition at line 658 of file routespl.\-c.

\index{routespl.\-c@{routespl.\-c}!routesplines@{routesplines}}
\index{routesplines@{routesplines}!routespl.c@{routespl.\-c}}
\subsubsection[{routesplines}]{\setlength{\rightskip}{0pt plus 5cm}{\bf pointf}$\ast$ routesplines (
\begin{DoxyParamCaption}
\item[{{\bf path} $\ast$}]{pp, }
\item[{{\bf int} $\ast$}]{npoints}
\end{DoxyParamCaption}
)}\label{routespl_8c_a59f4fb5d5f4fe3e0db63a7f2e42117ae}


Definition at line 653 of file routespl.\-c.

\index{routespl.\-c@{routespl.\-c}!routesplinesinit@{routesplinesinit}}
\index{routesplinesinit@{routesplinesinit}!routespl.c@{routespl.\-c}}
\subsubsection[{routesplinesinit}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} routesplinesinit (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{routespl_8c_a65265b6c8259e7eddb95a3339dc18ceb}


Definition at line 288 of file routespl.\-c.



References agerr(), A\-G\-E\-R\-R, N\-\_\-\-G\-N\-E\-W, N\-U\-L\-L, P\-I\-N\-C, Show\-\_\-boxes, Show\-\_\-cnt, start\-\_\-timer(), and Verbose.

\index{routespl.\-c@{routespl.\-c}!routesplinesterm@{routesplinesterm}}
\index{routesplinesterm@{routesplinesterm}!routespl.c@{routespl.\-c}}
\subsubsection[{routesplinesterm}]{\setlength{\rightskip}{0pt plus 5cm}void routesplinesterm (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{routespl_8c_aa9b90b6748efcaa6f9075074cd195fb6}


Definition at line 313 of file routespl.\-c.



References elapsed\-\_\-sec(), N\-U\-L\-L, and Verbose.

\index{routespl.\-c@{routespl.\-c}!simple\-Spline\-Route@{simple\-Spline\-Route}}
\index{simple\-Spline\-Route@{simple\-Spline\-Route}!routespl.c@{routespl.\-c}}
\subsubsection[{simple\-Spline\-Route}]{\setlength{\rightskip}{0pt plus 5cm}{\bf pointf}$\ast$ simple\-Spline\-Route (
\begin{DoxyParamCaption}
\item[{{\bf pointf}}]{tp, }
\item[{{\bf pointf}}]{hp, }
\item[{{\bf Ppoly\-\_\-t}}]{poly, }
\item[{{\bf int} $\ast$}]{n\-\_\-spl\-\_\-pts, }
\item[{{\bf int}}]{polyline}
\end{DoxyParamCaption}
)}\label{routespl_8c_adf61e9a7563158ff32fa1dcaab2c5afb}


Definition at line 230 of file routespl.\-c.



References Pedge\-\_\-t\-::a, A\-L\-L\-O\-C, Pedge\-\_\-t\-::b, make\-\_\-polyline(), N\-U\-L\-L, Ppoly\-\_\-t\-::pn, Proutespline(), Ppoly\-\_\-t\-::ps, Pshortestpath(), Pxy\-\_\-t\-::x, pointf\-\_\-s\-::x, Pxy\-\_\-t\-::y, and pointf\-\_\-s\-::y.

