\subsection{Compute a circular fillet between a 2D curve and a 2D line.}
\funclabel{s1016}
\begin{minipg1}
  Compute the fillet by iterating to the start and end points of a
  fillet between a 2D curve and a 2D line. The centre of the circular
  fillet is also calculated.
\end{minipg1}\\ \\
SYNOPSIS\\
        \>void s1016(\begin{minipg3}
          {\fov pc1}, {\fov point}, {\fov normal}, {\fov aepsge}, {\fov eps1}, {\fov eps2}, {\fov aradius},
          {\fov parpt1}, {\fov parpt2}, {\fov centre}, {\fov jstat})
        \end{minipg3}\\[0.3ex]
                \>\>    SISLCurve \> *{\fov pc1};\\
                \>\>    double    \> {\fov point}[\,];\\
                \>\>    double    \> {\fov normal}[\,];\\
                \>\>    double    \> {\fov aepsge};\\
                \>\>    double    \> {\fov eps1}[\,];\\
                \>\>    double    \> {\fov eps2}[\,];\\
                \>\>    double    \> {\fov aradius};\\
                \>\>    double    \> *{\fov parpt1};\\
                \>\>    double    \> *{\fov parpt2};\\
                \>\>    double    \> {\fov centre}[\,];\\
                \>\>    int       \> *{\fov jstat};\\
\\
ARGUMENTS\\
        \>Input Arguments:\\
        \>\>    {\fov pc1}     \> - \> The 2D input curve.\\
        \>\>    {\fov point}   \> - \> 2D point on the line.\\
        \>\>    {\fov normal}  \> - \> 2D normal to the line.\\
        \>\>    {\fov aepsge}  \> - \> Geometry resolution.\\
        \>\>    {\fov eps1}    \> - \>
        \begin{minipg2}
          2D point telling that the fillet should be put on
          the side of curve 1 where {\fov eps1} is situated.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov eps2}    \> - \>
        \begin{minipg2}
          2D point telling that the fillet should be put on the
          side of curve 2 where {\fov eps2} is situated.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov aradius} \> - \> The radius to be used on the fillet.\\
\\
        \>Input/Output Arguments:\\
        \>\>    {\fov parpt1}  \> - \>
        \begin{minipg2}
          Parameter value of the point on curve 1 where the
          fillet starts. Input is a guess value for the iteration.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov parpt2}  \> - \>
        \begin{minipg2}
          Parameter value of the point on the line where the
          fillet ends. Input is a guess value for the iteration.
        \end{minipg2}\\[0.8ex]
\\
        \>Output Arguments:\\
        \>\>    {\fov centre}  \> - \>
        \begin{minipg2}
          2D centre of the (circular) fillet.  Space must be
          allocated outside the function.
        \end{minipg2}\\[0.8ex]
\newpagetabs
        \>\>    {\fov jstat} \> - \> Status message\\
                \>\>\>\>\> $= 1$      : Converged,\\
                \>\>\>\>\> $= 2$      : Diverged,\\
                \>\>\>\>\> $< 0$      : Error.\\
\\
EXAMPLE OF USE\\
        \>      \{ \\
        \>\>    SISLCurve \> *{\fov pc1};\\
        \>\>    double    \> {\fov point}[2];\\
        \>\>    double    \> {\fov normal}[2];\\
        \>\>    double    \> {\fov aepsge};\\
        \>\>    double    \> {\fov eps1}[2];\\
        \>\>    double    \> {\fov eps2}[2];\\
        \>\>    double    \> {\fov aradius};\\
        \>\>    double    \> {\fov parpt1};\\
        \>\>    double    \> {\fov parpt2};\\
        \>\>    double    \> {\fov centre}[2];\\
        \>\>    int       \> {\fov jstat};\\
        \>\>    \ldots \\
        \>\>s1016(\begin{minipg4}
          {\fov pc1}, {\fov point}, {\fov normal}, {\fov aepsge}, {\fov eps1}, {\fov eps2}, {\fov aradius},
          \&{\fov parpt1}, \&{\fov parpt2}, {\fov centre}, \&{\fov jstat});
        \end{minipg4}\\
        \>\>    \ldots \\
        \>      \}
\end{tabbing}
