PK_ERROR_code_t PK_SURF_find_min_radii
(
--- received arguments ---
PK_SURF_t surf, --- surface
PK_UVBOX_t uv_box, --- u,v box
--- returned arguments ---
int *const n_radii, --- number of radii returned
double radii[2], --- min radii of curvature
PK_VECTOR_t positions[2], --- pvecs where minima occur
PK_UV_t parms[2] --- u,v parameters
)
This function finds the minimum radius of curvature on each side of the given
surface, and its position and u-v parameters. The user passes in the u-v box
required and the search is confined to that part of the surface lying inside it
. To find the u-v box for the whole surface(if unknown) the function
PK_SURF_ask_uvbox should be used.
Specific Errors:
PK_ERROR_bad_parameter Invalid u,v parameters
PK_ERROR_bad_option_data Invalid option values
PK_ERROR_o_t_version_unknown Options structure version unknown
The function returns a minimum of the radius of curvature, where one exists,
for each side of the surface. A minimum of radius of curvature is deemed not
to exist on one side of the surface if it is nowhere concave on that side. So
the function can return 0 (for an infinite radius of curvature), 1 or 2 minima.
The information provided on each minimum is:
1: The magnitude of the radius held in the array 'radii'. It will have a
positive sign if the surface is concave with respect to its normal and a
negative sign for a convex surface with respect to its normal.
2: A position vector indicating where on the surface the minimum of the radius
of curvature is achieved. Held in the array 'positions'.
3: The u,v parameters at the minima positions. Held in the array 'parms'.