\subsection{Compute the position and the left-hand derivatives of a
curve at a given parameter value.}
\funclabel{s1227}
\begin{minipg1}
  To compute the position and the first derivatives of the curve at a
  given parameter value
  Evaluation from the left hand side.
\end{minipg1} \\ \\
SYNOPSIS\\
        \>void s1227(\begin{minipg3}
        {\fov curve}, {\fov der}, {\fov parvalue}, {\fov leftknot},
        {\fov derive}, {\fov stat})
                \end{minipg3}\\[0.3ex]
                \>\>    SISLCurve       \>      *{\fov curve};\\
                \>\>    int     \>      {\fov der};\\
                \>\>    double  \>      {\fov parvalue};\\
                \>\>    int     \>      *{\fov leftknot};\\
                \>\>    double  \>      {\fov derive}[\,];\\
                \>\>    int     \>      *{\fov stat};\\
\\
ARGUMENTS\\
        \>Input Arguments:\\
        \>\>    {\fov curve}    \> - \> \begin{minipg2}
                                Pointer to the curve for which position and
                                derivatives are to be computed.
                                \end{minipg2}\\[0.3ex]
        \>\>    {\fov der}      \> - \> The number of derivatives to compute.\\
                \>\>\>\>\>              $< 0$   : Error.\\
                \>\>\>\>\>              $= 0$   : Compute position.\\
                \>\>\>\>\>              $= 1$   : Compute position and derivative.\\
                \>\>\>\>\>              etc.\\
        \>\>    {\fov parvalue}\> - \>  \begin{minipg2}
                                The parameter value at which to compute position
                                and derivatives.
                                \end{minipg2}\\[0.3ex]
\\
        \>Input/Output Arguments:\\
        \>\>    {\fov leftknot}\> - \>  \begin{minipg2}
                                Pointer to the interval in the knot
                                vector where {\fov parvalue}
                                is located. If $et[\,]$ is the knot vector, the relation:\\
                                \[ et[\mbox{leftknot}] < parvalue \leq et[\mbox{leftknot}+1] \]
                                should hold. (If $parvalue\leq
                                et[ik-1]$) then {\fov leftknot} should be
                                ``ik-1''. Here ``ik'' is the order of the curve.)
                                If leftknot does not have the right value when entering
                                the routine, its value will be changed to the value
                                satisfying the above condition.
                                \end{minipg2}\\[0.3ex]
\\
\newpagetabs
        \>Output Arguments:\\
        \>\>    {\fov derive}   \> - \> \begin{minipg2}
                                        Double array of dimension $(der+1)\times dim$
                                        containing the position and derivative vectors.
                                        ({\fov dim} is
                                         the dimension of the Euclidean
                                        space in which the curve lies.) These vectors are
                                        stored in the following order: first the
                                        components of the position vector, then the dim
                                        components of the tangent vector, then the dim
                                        components of the second derivative vector, and so
                                        on. (The C declaration of derive as a two dimensional
                                        array would therefore be
                                        $derive[der+1][dim]$.)
                                \end{minipg2}\\[0.3ex]
        \>\>    {\fov stat}     \> - \> Status messages\\
                \>\>\>\>\>              $> 0$   : warning\\
                \>\>\>\>\>              $= 0$   : ok\\
                \>\>\>\>\>              $< 0$   : error\\
\\
EXAMPLE OF USE\\
                \>      \{ \\
                \>\>    SISLCurve       \>      *{\fov curve};\\
                \>\>    int     \>      {\fov der} = 3;\\
                \>\>    double  \>      {\fov parvalue};\\
                \>\>    int     \>      {\fov leftknot};\\
                \>\>    double  \>      {\fov derive}[12];\\
                \>\>    int     \>      {\fov stat};\\
                \>\>    \ldots \\
        \>\>s1227(\begin{minipg4}
                {\fov curve}, {\fov der}, {\fov parvalue}, \&{\fov leftknot},
                {\fov derive}, \&{\fov stat});
                        \end{minipg4}\\
                \>\>    \ldots \\
                \>      \}
\end{tabbing}
