\subsection{Find the topology of the silhouette curves of a surface,
 using perspective projection.}
\funclabel{s1510}
\begin{minipg1}
  Find the silhouette curves and points of a surface when
  the surface is viewed perspectively from a specific eye point.
  In addition to the points and curves found by this routine,
  break curves and edge-curves might be silhouette curves.
  To march out the silhouette curves, use s1514() on page~\pageref{s1514}.
\end{minipg1} \\ \\
SYNOPSIS\\
        \>void s1510(\begin{minipg3}
          {\fov ps}, {\fov eyepoint}, {\fov idim},  {\fov aepsco},  {\fov aepsge},  {\fov jpt},  {\fov gpar},  {\fov jcrv},  {\fov wcurve},  {\fov jstat})
        \end{minipg3}\\[0.3ex]
        \>\>    SISLSurf \> *{\fov ps};\\
        \>\>    double   \> {\fov eyepoint}[\,];\\
        \>\>    int      \> {\fov idim};\\
        \>\>    double   \> {\fov aepsco};\\
        \>\>    double   \> {\fov aepsge};\\
        \>\>    int      \> *{\fov jpt};\\
        \>\>    double   \> **{\fov gpar};\\
        \>\>    int      \> *{\fov jcrv};\\
        \>\>    SISLIntcurve \> ***{\fov wcurve};\\
        \>\>    int      \> *{\fov jstat};\\
\\
ARGUMENTS\\
        \>Input Arguments:\\
        \>\>    {\fov ps}\> - \>  \begin{minipg2}
                           Pointer to the surface.
                               \end{minipg2}\\
        \>\>    {\fov eyepoint}\> - \>  \begin{minipg2}
                      The eye point vector.
                               \end{minipg2}\\
        \>\>    {\fov idim}\> - \>  \begin{minipg2}
                        Dimension of the space in which eyepoint lies.
                               \end{minipg2}\\
        \>\>    {\fov aepsco}\> - \>  \begin{minipg2}
                        Computational resolution (not used).
                               \end{minipg2}\\
        \>\>    {\fov aepsge}\> - \>  \begin{minipg2}
                        Geometry resolution.
                               \end{minipg2}\\
\\
        \>Output Arguments:\\
        \>\>    {\fov jpt}\> - \>  \begin{minipg2}
                     Number of single silhouette points.
                               \end{minipg2}\\
        \>\>    {\fov gpar}\> - \>  \begin{minipg2}
                     Array containing the parameter values of the
                       single silhouette points in the parameter
                       plane of the surface. The points lie continuous.
                       Silhouette curves are stored in wcurve.
                               \end{minipg2}\\[0.8ex]
        \>\>    {\fov jcrv}\> - \>  \begin{minipg2}
                     Number of silhouette curves.
                               \end{minipg2}\\
        \>\>    {\fov wcurve}\> - \>  \begin{minipg2}
                     Array containing descriptions of the silhouette
                       curves. The curves are only described by points
                       in the parameter plane. The curve-pointers points
                       to nothing.
                               \end{minipg2}\\[0.8ex]
        \>\>    {\fov jstat}     \> - \> Status messages\\
                \>\>\>\>\>              $> 0$   : warning\\
                \>\>\>\>\>              $= 0$   : ok\\
                \>\>\>\>\>              $< 0$   : error\\
\newpagetabs
EXAMPLE OF USE\\
        \>      \{ \\
        \>\>    SISLSurf \> *{\fov ps};\\
        \>\>    double   \> {\fov eyepoint}[3];\\
        \>\>    int      \> {\fov idim} = 3;\\
        \>\>    double   \> {\fov aepsco};\\
        \>\>    double   \> {\fov aepsge};\\
        \>\>    int      \> {\fov jpt} = 0;\\
        \>\>    double   \> *{\fov gpar} = NULL;\\
        \>\>    int      \> {\fov jcrv} = 0;\\
        \>\>    SISLIntcurve \> **{\fov wcurve} = NULL;\\
        \>\>    int      \> {\fov jstat} = 0;\\
        \>\>    \ldots \\
        \>\>s1510(\begin{minipg4}
          {\fov ps}, {\fov eyepoint}, {\fov idim},  {\fov aepsco},  {\fov aepsge}, \&{\fov jpt}, \&{\fov gpar}, \&{\fov jcrv}, \&{\fov wcurve}, \&{\fov jstat});
        \end{minipg4}\\
        \>\>    \ldots \\
        \>      \}
\end{tabbing}
