
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.
Specific Errors:
PK_ERROR_bad_parameter cannot evaluate out of range
PK_ERROR_at_singularity failed to evaluate normal at singularity
PK_ERROR_too_many_derivatives too many derivatives requested
PK_ERROR_num_derivs_not_equal where triangular format requested
PK_ERROR_eval_failure internal evaluator failure
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 disconunity at the parameter position,these arguments
( see PK_SURF_eval_handed for the definition ) determine which side of the
discontinuity will be calculated.