1\subsection{Mehlum curvature of a B-spline or NURBS
2            surface as a NURBS surface.}
3\funclabel{s2536}
4\begin{minipg1}
5To interpolate or approximate the Mehlum curvature of a B-spline or NURBS
6            surface by a NURBS surface.
7            The desired continuity of the Mehlum curvature surface is
8            input and this may lead to a patchwork of output surfaces.
9            Interpolation results in a high order surface.
10            If the original surface is a B-spline surface of order $k$,
11            the result is of order $12k-17$, in the NURBS case,
12            order $48k-53$.
13            To avoid instability beacuse of this, a maximum order is
14            applied. This may lead to an approximation rather than
15            an interpolation.
16\end{minipg1} \\ \\
17SYNOPSIS\\
18        \> void s2536(\begin{minipg3}
19            {\fov surf}, {\fov u\_continuity}, {\fov v\_continuity}, {\fov u\_surfnumb},
20	    {\fov v\_surfnumb}, {\fov mehlum\_surf}, {\fov stat})
21                \end{minipg3}\\
22                \>\>    SISLSurf \> *{\fov surf};\\
23                \>\>    int    \>  {\fov u\_continuity};\\
24                \>\>    int    \>  {\fov v\_continuity};\\
25                \>\>    int    \>  *{\fov u\_surfnumb};\\
26                \>\>    int    \>  *{\fov v\_surfnumb};\\
27                \>\>    SISLSurf \> ***{\fov mehlum\_surf};\\
28                \>\>    int    \>  *{\fov stat};\\
29\\
30ARGUMENTS\\
31	\>Input Arguments:\\
32        \>\>    {\fov surf}\> - \>  \begin{minipg2}
33                     The original surface.
34                               \end{minipg2}\\[0.8ex]
35        \>\>    {\fov u\_continuity}\> - \>  \begin{minipg2}
36                     Desired continuity of the Mehlum curvature surfaces
37                          in the u direction: $0$ implies positional continuity,
38                          $1$ implies tangential continuity, and so on.
39                          SISL only accepts surfaces of continuity 0 or higher.
40                          If the surface is to be intersected with another,
41                          the continuity must be 1 or higher to find all the
42                          intersection curves.
43                               \end{minipg2}\\[0.8ex]
44        \>\>    {\fov v\_continuity}\> - \>  \begin{minipg2}
45                     Desired continuity of the Mehlum curvature surfaces
46                          in the v direction: $0$ implies positional continuity,
47                          $1$ implies tangential continuity, and so on.
48                          SISL only accepts surfaces of continuity 0 or higher.
49                          If the surface is to be intersected with another,
50                          the continuity must be 1 or higher to find all the
51                          intersection curves.
52                               \end{minipg2}\\[0.8ex]
53\\
54	\>Output Arguments:\\
55        \>\>    {\fov u\_surfnumb}\> - \>  \begin{minipg2}
56                     Number of Mehlum curvature surface patches
57                          in the u direction.
58                               \end{minipg2}\\[0.8ex]
59        \>\>    {\fov v\_surfnumb}\> - \>  \begin{minipg2}
60                     Number of Mehlum curvature surface patches
61                          in the v direction.
62                               \end{minipg2}\\[0.8ex]
63        \>\>    {\fov mehlum\_surf}\> - \>  \begin{minipg2}
64                     The Mehlum curvature interpolation surfaces.
65                          This will be a pointer to an array of length
66                          {\fov u\_surfnum} * {\fov v\_surfnumb} of
67                          SISLSurf pointers, where the indexing runs
68                          fastest in the u direction.
69                               \end{minipg2}\\[0.8ex]
70        \>\>    {\fov stat}     \> - \> Status messages\\
71                \>\>\>\>   $> 0$  \> : Warning.\\
72                \>\>\>\>   $= 2$  \> : The surface is degenerate.\\
73                \>\>\>\>   $= 0$  \> : Ok.\\
74                \>\>\>\>   $< 0$  \> : Error.\\
75\\
76EXAMPLE OF USE\\
77		\>      \{ \\
78
79                \>\>    SISLSurf \> *{\fov surf};\\
80                \>\>    int    \>  {\fov u\_continuity};\\
81                \>\>    int    \>  {\fov v\_continuity};\\
82                \>\>    int    \>  *{\fov u\_surfnumb};\\
83                \>\>    int    \>  *{\fov v\_surfnumb};\\
84                \>\>    SISLSurf \> ***{\fov mehlum\_surf};\\
85                \>\>    int    \>  *{\fov stat};\\                \>\>    \ldots \\
86        \>\>s2536(\begin{minipg4}
87            {\fov surf},  {\fov u\_continuity},  {\fov v\_continuity},  {\fov u\_surfnumb},
88	    {\fov v\_surfnumb}, {\fov mehlum\_surf}, {\fov stat});
89                \end{minipg4}\\
90                \>\>    \ldots \\
91		\>      \}
92\end{tabbing}
93