PK_MFIN_ask_mvx_curvature   

PK_ERROR_code_t                      PK_MFIN_ask_mvx_curvature
(
--- received arguments ---
PK_MFIN_t                            mfin,                  --- the 'mfin'
const PK_MFIN_ask_mvx_curvature_o_t *options,               --- options

--- returned arguments ---
PK_VECTOR1_t                  *const mvx_normal,            --- mvertex 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 curvatures
associated with the mvertex of the given 'mfin'.  Where the mvertex of the
'mfin' has multiple normals, only the normal, principal directions and
curvatures associated with the given 'mfin' will be returned.


Specific Errors:
    PK_ERROR_eval_failure   It was not possible to obtain the 'mvx_normal' or
                            the curvatures. (MILD)


The mvertex 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 smaller 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 larger absolute
value is returned as 'principal_curvature_2'.

If the mvertex of the 'mfin' has a unique normal the sign of the curvature is
positive if the mesh curves away from the 'mvx_normal' direction.

If the mvertex of the 'mfin' has multiple normals the sign of the curvature is
positive if the facets with fins at the mvertex which share the 'mvx_normal'
curve away from the 'mvx_normal' direction.

If the mvertex of the 'mfin' has a unique normal and the principal curvatures
are not equal, the mvx_normal, principal directions and curvatures returned by
this function will be the same as those returned by PK_SURF_eval_curvature at
parameters associated with the mvertex of the given 'mfin'.  If the principal
curvatures are equal then the mvx_normal and principal curvatures will be the
same as those returned by PK_SURF_eval_curvature but the principal directions
may differ.

If the mvertex of the 'mfin' has multiple normals, each of these will be
associated with a subset of the mfins at the mvertex.  In this case there will
also be multiple principal directions and curvatures associated with the
mvertex and each set of mfins which share a normal will also share principal
directions and curvatures.  This function will return the mvertex normal,
principal directions and principal curvatures for the subset containing the
given 'mfin'.