PK_SURF_eval_with_normal_handed   

PK_ERROR_code_t    PK_SURF_eval_with_normal_handed
(
--- received arguments ---
PK_SURF_t          surf,        --- surf
PK_UV_t            uv,          --- surf u and v parameter pair
int                n_u_derivs,  --- number of u derivatives
int                n_v_derivs,  --- number of v derivatives
PK_LOGICAL_t       triangular,  --- triangular derivative array required
PK_HAND_t          u_hand_dir,  --- evaluate u as limit from left or right
PK_HAND_t          v_hand_dir,  --- evaluate v as limit from left or right

--- returned arguments ---
PK_VECTOR_t        p[],         --- point and derivatives
PK_VECTOR_t *const normal       --- surface normal
)


This function behaves like PK_SURF_eval_with_normal, but takes additional
arguments ( 'u_hand_dir' and 'v_hand_dir' ) as input.

This function does not support facet geometry [NF]


Specific Errors:
    PK_ERROR_bad_parameter            not permitted to evaluate outside of
                                      range (MILD)
    PK_ERROR_at_singularity           failed to evaluate normal at singularity
                                      (MILD)
    PK_ERROR_too_many_derivatives     too many derivatives requested (MILD)
    PK_ERROR_num_derivs_not_equal     where triangular format requested (MILD)
    PK_ERROR_eval_failure             internal evaluator failure (MILD)


This is the handed version of PK_SURF_eval_with_normal which evaluates a
point, derivatives and normal at a parameter pair on a surface patch indicated
by additional direction arguments 'u_hand_dir' and 'v_hand_dir'.

If the surface has a discontinuity at the parameter position, these arguments
( see PK_SURF_eval_handed for the definition ) determine which side of the
discontinuity will be calculated.