1\subsection{March an intersection curve between two surfaces.}
2\funclabel{s1310}
3\begin{minipg1}
4  To march an intersection curve between two surfaces.
5  The intersection curve is described by guide parameter pairs stored in
6  an intersection curve object.
7  The guide points are expected to be found by s1859() described on
8  page \pageref{s1859}.
9  The generated geometric curves are represented as B-spline curves.
10\end{minipg1} \\ \\
11SYNOPSIS\\
12        \>void s1310(\begin{minipg3}
13                        {\fov surf1}, {\fov surf2}, {\fov intcurve}, {\fov epsge}, {\fov maxstep}, {\fov makecurv}, {\fov graphic}, {\fov stat})
14                \end{minipg3}\\[0.3ex]
15
16                \>\>    SISLSurf        \>      *{\fov surf1};\\
17                \>\>    SISLSurf        \>      *{\fov surf2};\\
18                \>\>    SISLIntcurve\>  *{\fov intcurve};\\
19                \>\>    double  \>      {\fov epsge};\\
20                \>\>    double  \>      {\fov maxstep};\\
21                \>\>    int     \>      {\fov makecurv};\\
22                \>\>    int     \>      {\fov graphic};\\
23                \>\>    int     \>      *{\fov stat};\\
24\\
25ARGUMENTS\\
26        \>Input Arguments:\\
27        \>\>    {\fov surf1}\> - \>     \begin{minipg2}
28                                Pointer to the first surface.
29                                \end{minipg2}\\
30        \>\>    {\fov surf2}\> - \>     \begin{minipg2}
31                                Pointer to the second surface.
32                                \end{minipg2}\\
33        \>\>    {\fov epsge}\> - \>     \begin{minipg2}
34                                Geometry resolution.
35                                \end{minipg2} \\
36        \>\>    {\fov maxstep}\> - \>   \begin{minipg2}
37                                Maximum step length. If maxstep$\leq$0, maxstep is ignored.
38                                maxstep = 0.0 is recommended.
39                                \end{minipg2}\\[0.8ex]
40        \>\>    {\fov makecurv}\> - \>  \begin{minipg2}
41                                Indicator specifying if a geometric curve is to be made:
42                                \end{minipg2}\\
43                \>\>\>\>\>      0 -     \>Do not make curves at all\\
44                \>\>\>\>\>      1 -     \>Make only a geometric curve.\\
45                \>\>\>\>\>      2 -     \>\begin{minipg5}
46                                        Make geometric curve and curves in the parameter
47                                        planes
48                                        \end{minipg5} \\[0.3ex]
49        \>\>    {\fov graphic}\> - \>   \begin{minipg2}
50                                Indicator specifying if the function
51                                should draw the geometric curve:
52                                \end{minipg2}\\
53                \>\>\>\>\>      0 -     \>Don't draw the curve\\
54                \>\>\>\>\>      1 -     \>\begin{minipg5}
55                                        Draw the geometric curve. If this option
56                                        is used see NOTE!
57                                        \end{minipg5} \\[0.8ex]
58\\ %\newpagetabs
59        \>Input/Output Arguments:\\
60        \>\>    {\fov intcurve}\> - \>  \begin{minipg2}
61                                Pointer to the intersection curve.
62                                As input only
63                                guide points (points in parameter space)
64                                exist. These guide points
65                                are used for guiding the marching.
66                                The routine adds
67                                intersection curve and curves in the parameter
68                                planes to the SISLIntcurve object, according to the value
69                                of makecurv.
70                                \end{minipg2}\\
71\newpagetabs
72        \>Output Arguments:\\
73        \>\>    {\fov stat}     \> - \> Status messages\\
74                \>\>\>\>\>              $= 3$ : \>      \begin{minipg5}
75                                                        Iteration stopped due to singular
76                                                        point or degenerate surface. A part of an
77                                                        intersection curve may have been
78                                                        traced out. If no curve is traced out,
79                                                        the curve pointers in the SISLIntcurve
80                                                        object point to NULL.
81                                                        \end{minipg5} \\[0.3ex]
82                \>\>\>\>\>              $= 0$ : \>       ok\\
83                \>\>\>\>\>              $< 0$ : \>       error\\
84\\
85NOTE\\
86\>      \begin{minipg6}
87If the draw option is used the empty dummy functions s6move() and
88s6line() are called.
89Thus if the draw option is used, make sure
90you have versions of s6move() and s6line() interfaced to your graphic package.
91More about s6move() and s6line() on pages~\pageref{s6move}
92and~\pageref{s6line}.
93\end{minipg6}\\ \\
94EXAMPLE OF USE\\
95                \>      \{ \\
96                \>\>    SISLSurf        \>      *{\fov surf1};\\
97                \>\>    SISLSurf        \>      *{\fov surf2};\\
98                \>\>    SISLIntcurve \> *{\fov intcurve};\\
99                \>\>    double  \>      {\fov epsge};\\
100                \>\>    double  \>      {\fov maxstep};\\
101                \>\>    int     \>      {\fov makecurv};\\
102                \>\>    int     \>      {\fov graphic};\\
103                \>\>    int     \>      {\fov stat} = 0;\\
104                \>\>    \ldots \\
105        \>\>s1310(\begin{minipg4}
106                {\fov surf1}, {\fov surf2}, {\fov intcurve}, {\fov epsge}, {\fov maxstep}, {\fov makecurv}, {\fov graphic}, \&{\fov stat});
107                        \end{minipg4}\\
108                \>\>    \ldots \\
109                \>      \}
110\end{tabbing}
111