PK_EDGE_find_g1_edges   


PK_ERROR_code_t   PK_EDGE_find_g1_edges
(
--- received arguments ---
PK_EDGE_t         edge,         --- starting edge
double            tolerance,    --- angular tolerance on tangency
PK_LOGICAL_t      convexity,    --- convexity checking switch

--- returned arguments ---
int        *const n_edges,      --- number of edges (>= 1)
PK_EDGE_t **const edges         --- received edge and tangent edges
)


This function returns the set of tangent edges for a given edge.


Specific Errors:
    PK_ERROR_bad_edge         received edge unsuitable for function.
    PK_ERROR_bad_angle        received angular tolerance out of range.


The function receives an edge, an angular tolerance, and
a logical switch and returns an unordered array containing
the received edge and connected tangent edges lying within
the given angular tolerance.

If the convexity logical is set to true, then the function
only considers tangent edges with the same convexity as
the received edge.

If the convexity checking is switched on then the body must be
of type solid or sheet otherwise the function returns PK_ERROR_bad_edge.
If convexity checking is switched off then the function accepts all
body types.

The function returns PK_ERROR_bad_edge if convexity checking
is switched on and the first edge has variable convexity.

If, while searching along a chain of edges, the function
encounters a vertex with more than one possible tangent edge,
then no attempt is made to propagate the search beyond the
vertex.