PK_ERROR_code_t PK_SURF_eval_curvature_handed
(
--- received arguments ---
PK_SURF_t surf, --- surface
PK_UV_t uv, --- parametric position
PK_HAND_t u_hand_dir, --- evaluate u from left or right
PK_HAND_t v_hand_dir, --- evaluate v from left or right
--- returned arguments ---
PK_VECTOR1_t *const normal, --- surface normal
PK_VECTOR1_t *const principal_direction_1, --- principal direction 1
PK_VECTOR1_t *const principal_direction_2, --- principal direction 2
double *const principal_curvature_1, --- principal curvature 1
double *const principal_curvature_2 --- principal curvature 2
)
This function behaves like PK_SURF_eval_curvature but takes additional
arguments ( u_hand_dir and v_hand_dir ) as the input.
Specific Errors:
PK_ERROR_eval_failure failed to evaluate posn. or normal at uv
PK_ERROR_bad_parameter uv not suitable for surf
PK_ERROR_at_singularity uv is at a singularity of surf
This is the handed version of PK_SURF_eval_curvature which calculates the
normal, principal directions and principal curvatures at a given parametric
position on the surface patch indicated by an additional pair of direction
arguments. If the surface has discontinuity at the parameter position, these
arguments will determine which side of the discontinuity will be calculated
( see PK_SURF_eval_handed for the definition ).