\section{lib/neatogen/constraint.c File Reference}
\label{constraint_8c}\index{lib/neatogen/constraint.\-c@{lib/neatogen/constraint.\-c}}
{\ttfamily \#include \char`\"{}config.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}neato.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}adjust.\-h\char`\"{}}\\*
Include dependency graph for constraint.\-c\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{constraint_8c__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct {\bf nitem}
\item 
struct {\bf info}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bf S\-C\-A\-L\-E}~10
\item 
\#define {\bf S\-C\-A\-L\-E2}~({\bf S\-C\-A\-L\-E}/2)
\item 
\#define {\bf overlap}(pb, qb)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct {\bf nitem} {\bf nitem}
\item 
typedef {\bf int}($\ast$ {\bf distfn} )({\bf box} $\ast$, {\bf box} $\ast$)
\item 
typedef {\bf int}($\ast$ {\bf intersectfn} )({\bf nitem} $\ast$, {\bf nitem} $\ast$)
\item 
typedef {\bf int}($\ast$ {\bf sortfn\-\_\-t} )(const void $\ast$, const void $\ast$)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\bf int} {\bf c\-Adjust} ({\bf graph\-\_\-t} $\ast$g, {\bf int} mode)
\item 
{\bf int} {\bf sc\-Adjust} ({\bf graph\-\_\-t} $\ast$g, {\bf int} equal)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\index{constraint.\-c@{constraint.\-c}!overlap@{overlap}}
\index{overlap@{overlap}!constraint.c@{constraint.\-c}}
\subsubsection[{overlap}]{\setlength{\rightskip}{0pt plus 5cm}\#define overlap(
\begin{DoxyParamCaption}
\item[{}]{pb, }
\item[{}]{qb}
\end{DoxyParamCaption}
)}\label{constraint_8c_aad57e76962e4e0465931d0ed9de5d016}
{\bfseries Value\-:}
\begin{DoxyCode}
((pb.LL.x <= qb.UR.x) && (qb.LL.x <= pb.UR.x) && \(\backslash\)
          (pb.LL.y <= qb.UR.y) && (qb.LL.y <= pb.UR.y))
\end{DoxyCode}


Definition at line 549 of file constraint.\-c.

\index{constraint.\-c@{constraint.\-c}!S\-C\-A\-L\-E@{S\-C\-A\-L\-E}}
\index{S\-C\-A\-L\-E@{S\-C\-A\-L\-E}!constraint.c@{constraint.\-c}}
\subsubsection[{S\-C\-A\-L\-E}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\-C\-A\-L\-E~10}\label{constraint_8c_a0cbea62f1ce2043dd08108e65ed8de1d}


Definition at line 21 of file constraint.\-c.



Referenced by c\-Adjust().

\index{constraint.\-c@{constraint.\-c}!S\-C\-A\-L\-E2@{S\-C\-A\-L\-E2}}
\index{S\-C\-A\-L\-E2@{S\-C\-A\-L\-E2}!constraint.c@{constraint.\-c}}
\subsubsection[{S\-C\-A\-L\-E2}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\-C\-A\-L\-E2~({\bf S\-C\-A\-L\-E}/2)}\label{constraint_8c_aa0141381f267dfc050107e7c5b0d67c1}


Definition at line 22 of file constraint.\-c.



\subsection{Typedef Documentation}
\index{constraint.\-c@{constraint.\-c}!distfn@{distfn}}
\index{distfn@{distfn}!constraint.c@{constraint.\-c}}
\subsubsection[{distfn}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf int}($\ast$ distfn)({\bf box} $\ast$, {\bf box} $\ast$)}\label{constraint_8c_a4211f077b01b237fc4f8b5481d63453e}


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

\index{constraint.\-c@{constraint.\-c}!intersectfn@{intersectfn}}
\index{intersectfn@{intersectfn}!constraint.c@{constraint.\-c}}
\subsubsection[{intersectfn}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf int}($\ast$ intersectfn)({\bf nitem} $\ast$, {\bf nitem} $\ast$)}\label{constraint_8c_a01ea4ef16a899a5131e9652ff2ee71f7}


Definition at line 35 of file constraint.\-c.

\index{constraint.\-c@{constraint.\-c}!nitem@{nitem}}
\index{nitem@{nitem}!constraint.c@{constraint.\-c}}
\subsubsection[{nitem}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf nitem}  {\bf nitem}}\label{constraint_8c_acecdf5610d9e9e6e01b4d407d4e1869e}
\index{constraint.\-c@{constraint.\-c}!sortfn\-\_\-t@{sortfn\-\_\-t}}
\index{sortfn\-\_\-t@{sortfn\-\_\-t}!constraint.c@{constraint.\-c}}
\subsubsection[{sortfn\-\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf int}($\ast$ sortfn\-\_\-t)(const void $\ast$, const void $\ast$)}\label{constraint_8c_a226c2f7a060b093055854a04b7c2033a}


Definition at line 709 of file constraint.\-c.



\subsection{Function Documentation}
\index{constraint.\-c@{constraint.\-c}!c\-Adjust@{c\-Adjust}}
\index{c\-Adjust@{c\-Adjust}!constraint.c@{constraint.\-c}}
\subsubsection[{c\-Adjust}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} c\-Adjust (
\begin{DoxyParamCaption}
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{{\bf int}}]{mode}
\end{DoxyParamCaption}
)}\label{constraint_8c_af3f92b5f7fb934a7f6037bcf4b97fca9}


Definition at line 635 of file constraint.\-c.



References agfstnode(), agnnodes(), agnxtnode(), A\-M\-\_\-\-O\-R\-T\-H\-O, A\-M\-\_\-\-O\-R\-T\-H\-O\-\_\-\-Y\-X, A\-M\-\_\-\-O\-R\-T\-H\-O\-X\-Y, A\-M\-\_\-\-O\-R\-T\-H\-O\-Y\-X, A\-M\-\_\-\-P\-O\-R\-T\-H\-O, A\-M\-\_\-\-P\-O\-R\-T\-H\-O\-\_\-\-Y\-X, A\-M\-\_\-\-P\-O\-R\-T\-H\-O\-X\-Y, A\-M\-\_\-\-P\-O\-R\-T\-H\-O\-Y\-X, N\-\_\-\-G\-N\-E\-W, N\-D\-\_\-pos, nitem\-::np, nitem\-::pos, P\-S2\-I\-N\-C\-H, S\-C\-A\-L\-E, sep\-Factor(), point\-::x, and point\-::y.



Referenced by remove\-Overlap\-With().

\index{constraint.\-c@{constraint.\-c}!sc\-Adjust@{sc\-Adjust}}
\index{sc\-Adjust@{sc\-Adjust}!constraint.c@{constraint.\-c}}
\subsubsection[{sc\-Adjust}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} sc\-Adjust (
\begin{DoxyParamCaption}
\item[{{\bf graph\-\_\-t} $\ast$}]{g, }
\item[{{\bf int}}]{equal}
\end{DoxyParamCaption}
)}\label{constraint_8c_a1ee2a82ada6af9201846b28062350359}


Definition at line 870 of file constraint.\-c.



References agfstnode(), agnnodes(), agnxtnode(), info\-::bb, expand\-\_\-t\-::do\-Add, info\-::ht2, boxf\-::\-L\-L, N\-\_\-\-G\-N\-E\-W, N\-D\-\_\-height, N\-D\-\_\-pos, N\-D\-\_\-width, info\-::np, info\-::pos, P\-S2\-I\-N\-C\-H, sep\-Factor(), boxf\-::\-U\-R, Verbose, info\-::wd2, pointf\-\_\-s\-::x, expand\-\_\-t\-::x, pointf\-\_\-s\-::y, and expand\-\_\-t\-::y.



Referenced by remove\-Overlap\-With().

