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.