PK_EDGE_ask_type   

PK_ERROR_code_t           PK_EDGE_ask_type
(
--- received arguments ---
PK_EDGE_t                 edge,        --- the edge

--- returned arguments ---
PK_EDGE_ask_type_t *const edge_types   --- edge types structure
)


This function classifies the given edge according to whether it is
    (a)     open, closed, or a ring.
    (b)     surrounded by solid regions, by void regions, or by both.
    (c)     wireframe, laminar, normal, or general.


The function returns a structure containing a separate token for each of the
independent classifications provided.

The structure contains the following fields:

    field type              field name    description
    ----------              ----------    -----------
    PK_EDGE_vertex_type_t   vertex_type   open, closed or a ring
    PK_enclosure_t          enclosure     relationship to surrounding space
    PK_EDGE_fins_type_t     fins_type     wireframe, laminar, normal or general

The 'vertex_type' field will be one of:

    PK_EDGE_type_open_c        The edge has two distinct vertices.
    PK_EDGE_type_closed_c      The edge has the same vertex at its start and
                               end.
    PK_EDGE_type_ring_c        The edge has no vertices.

The 'enclosure' field will be one of:

    PK_enclosure_inside_c      The edge is completely surrounded by solid
                               regions.
    PK_enclosure_outside_c     The edge is completely surrounded by void
                               regions.
    PK_enclosure_on_c          The edge is adjacent to both solid and void
                               regions.

The 'fins_type' field will be one of:

    PK_EDGE_type_wireframe_c   The edge is a wireframe, i.e. it has no fins.
    PK_EDGE_type_laminar_c     The edge has exactly one fin.
    PK_EDGE_type_normal_c      The edge has exactly two fins, and these have
                               opposite senses.
    PK_EDGE_type_general_c     The edge has some other combination of fins.