\subsection{Evaluate the surface pointed at by ps1 over an m1 * m2 grid
               of points (x[i],y[j]). Compute ider derivatives and normals
               if suitable.}
\funclabel{s1506}
\begin{minipg1}
Evaluate the surface pointed at by ps1 over an m1 * m2 grid
               of points (x[i],y[j]). Compute ider derivatives and normals
               if suitable.
\end{minipg1} \\ \\
SYNOPSIS\\
        \> void s1506(\begin{minipg3}
            {\fov ps1}, {\fov ider}, {\fov m1}, {\fov x}, {\fov m2}, {\fov y}, {\fov eder}, {\fov norm}, {\fov jstat})
                \end{minipg3}\\
                \>\>    SISLSurf \>*{\fov ps1};\\
                \>\>    int    \>  {\fov ider};\\
                \>\>    int    \>  {\fov m1};\\
                \>\>    double    \>  *{\fov x};\\
                \>\>    int    \>  {\fov m2};\\
                \>\>    double    \>  *{\fov y};\\
                \>\>    double    \>  {\fov eder}[\,];\\
                \>\>    double    \>  {\fov norm}[\,];\\
                \>\>    int    \>  *{\fov jstat};\\
\\
ARGUMENTS\\
	\>Input Arguments:\\
        \>\>    {\fov ps1}\> - \>  \begin{minipg2}
                     Pointer to the surface to evaluate.
                               \end{minipg2}\\
        \>\>    {\fov ider}\> - \> Number of derivatives to calculate.\\
                 \>\>\>\>\>      $< 0$ : No derivative calculated.\\
		 \>\>\>\>\>      $= 0$ : Position calculated.\\
		 \>\>\>\>\>      $= 1$ : Position and first derivative calculated.\\
		 \>\>\>\>\>      etc.\\	 
        \>\>    {\fov m1}\> - \>  \begin{minipg2}
                     Number of grid points in first direction.
                               \end{minipg2}\\
        \>\>    {\fov x}\> - \>  \begin{minipg2}
                     Array of x values of the grid.
                               \end{minipg2}\\
        \>\>    {\fov m2}\> - \>  \begin{minipg2}
                     Number of grid points in first direction.
                               \end{minipg2}\\
        \>\>    {\fov y}\> - \>  \begin{minipg2}
                     Array of y values of the grid.
                               \end{minipg2}\\
\\
	\>Output Arguments:\\
        \>\>    {\fov eder}\> - \>  \begin{minipg2}
                     Array where the derivatives of the surface
                       are placed, dimension
                         idim * ((ider+1)(ider+2) / 2) * m1 * m2.
                       The sequence is position,
                       first derivative in first parameter direction,
                       first derivative in second parameter direction,
                       (2,0) derivative, (1,1) derivative, (0,2)
                       derivative, etc. at point (x[0],y[0]),
                       followed by the same information at (x[1],y[0]),
                       etc.
                               \end{minipg2}\\
        \>\>    {\fov norm}\> - \>  \begin{minipg2}
                     Normals of surface. Is calculated if ider >= 1.
                       Dimension is idim*m1*m2.
                       The normals are not normalized.
                               \end{minipg2}\\
        \>\>    {\fov jstat}\> - \> status messages \\
	       \>\>\>\>\>       $ = 2 $     : Surface is degenerate at some point, \\
	       \>\>\>\>\>\> normal has zero length.\\
	       \>\>\>\>\>       $ = 1 $     : Surface is close to degenerate at some point. \\
	       \>\>\>\>\>\> Angle between tangents, less than angular tolerance.\\
	       \>\>\>\>\>       $ = 0 $     : Ok.\\
	       \>\>\>\>\>       $ < 0 $     : Error.\\
\\
EXAMPLE OF USE\\
		\>      \{ \\

                \>\>    SISLSurf \> *{\fov ps1};\\
                \>\>    int    \>  {\fov ider};\\
                \>\>    int    \>  {\fov m1};\\
                \>\>    double    \>  *{\fov x};\\
                \>\>    int    \>  {\fov m2};\\
                \>\>    double    \>  *{\fov y};\\
                \>\>    double    \>  {\fov eder}[\,];\\
                \>\>    double    \>  {\fov norm}[\,];\\
                \>\>    int    \>  *{\fov jstat};\\                \>\>    \ldots \\
        \>\>s1506(\begin{minipg4}
            {\fov ps1}, {\fov ider}, {\fov m1}, {\fov x}, {\fov m2}, {\fov y}, {\fov eder}, {\fov norm}, {\fov jstat});
                \end{minipg4}\\
                \>\>    \ldots \\
		\>      \}
\end{tabbing}
