PK_SURF_eval_curvature   
PK_ERROR_code_t     PK_SURF_eval_curvature
(
--- received arguments ---
PK_SURF_t           surf,                  --- surface
PK_UV_t             uv,                    --- parametric position

--- 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 calculates the normal, principal directions and principal
curvatures of a surface at a given parametric position.


Specific Errors:
    PK_ERROR_eval_failure          failed to evaluate posn. or normal at 'uv'
                                   (MILD)
    PK_ERROR_bad_parameter         not permitted to evaluate outside of range
                                   (MILD)
    PK_ERROR_at_singularity        'uv' is at a singularity of 'surf' (MILD)


The normal and principal directions are returned as unit vectors.

If the principal curvatures are equal (in both sign and magnitude) then the
principal directions are not significant.

Maximum and minimum curvatures are returned as the principal curvature values.
The principal curvature with the smallest absolute value is always returned as
'principal_curvature_1', irrespective of whether it represents the maximum or
minimum curvature. Likewise the principal curvature with the largest absolute
value is returned as 'principal_curvature_2'.

The sign of the curvature is positive if the surface curves away from the
surface normal direction, e.g., a sphere has positive curvatures in all
directions.

The surface must be capable of passing the checks imposed by PK_GEOM_check.

Generated on: Fri, 04 Oct 2024 12:22:26 GMT