PK_EDGE_ask_convexity   

PK_ERROR_code_t                  PK_EDGE_ask_convexity
(
--- received arguments ---
PK_EDGE_t                        edge,
const PK_EDGE_ask_convexity_o_t *options,

--- returned arguments ---
PK_EDGE_convexity_t             *convexity
)


The function returns the convexity of the given edge.



Specific Errors:
    PK_ERROR_missing_geom         Edge or the adjacent faces do not have
                                  geometry. (MILD)
    PK_ERROR_non_manifold         Edge is non-manifold. (MILD)
    PK_ERROR_unsuitable_topology  Edge is non suitable e.g laminar edge.(MILD)
    PK_ERROR_partial_coi_found    Edge convexity cannot be identified due to
                                  partial coincidence of adjacent faces.
                                  (MILD)
    PK_ERROR_eval_failure         The function has failed to find the
                                  convexity, e.g. due to a failure in finding
                                  the normals. (MILD)


The convexity of an edge is computed from the angle between the normals of the
two faces that meet at the edge and the face curvatures. This requires the
existence of two non-rubber adjacent faces of the edge.

PK_EDGE_ask_convexity distinguishes the following convexities:
   - convex            : The 'edge' is convex.
   - concave           : The 'edge' is concave.
   - smooth flat       : Convexity of the 'edge' is smooth (the surface normals
                         are parallel) and both faces have zero curvature.
   - smooth convex     : Convexity of the 'edge' is smooth, and both curvatures
                         are positive, or one positive curvature and one zero
                         curvature.
   - smooth concave    : Convexity of the 'edge' is smooth, and both curvatures
                         are negative, or one negative curvature and one zero
                         curvature.
   - smooth inflection : Convexity of the 'edge' is smooth, and the curvatures
                         are opposite in sign.
   - smooth variable   : Convexity of the 'edge' is smooth, and some parts of
                         the 'edge' are smooth concave and other parts are
                         smooth convex.
   - knife convex      : The surface normals are anti-parallel and the sum of
                         the curvatures is non-negative.
   - knife concave     : The surface normals are anti-parallel and the sum of
                         the curvatures is non-positive.
   - variable          : The convexity varies along the 'edge'.