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