 |
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.