PK_BODY_knit_pattern_t   


struct PK_BODY_knit_pattern_s
    {
    int                          n_edges;
    PK_EDGE_t                   *edges;
    PK_EDGE_t                   *matches;
    int                          n_reversals;
    PK_BODY_t                   *reversals;
    };

typedef struct PK_BODY_knit_pattern_s PK_BODY_knit_pattern_t;



A structure describing matches between coincident edges on a given set of
bodies. The structure also specifies which owning bodies need to be reversed
in order to correctly knit the bodies together.


PK_BODY_knit_pattern_t lists pairs of edges that are tolerantly or
accurately coincident and which may be simply joined together by topological
operations to assemble a larger composite body.

The structure is normally expected to be completed by a call to
PK_BODY_find_knit_pattern, though an application can construct one itself.
The structure can be passed to PK_BODY_knit_bodies to specify how a collection
of sheet bodies can be assembled into a larger composite body.

    edges:      An ordered list of edges that can be matched wholly
                will other edges coincident with them.

    matches:    An ordered list of edges. Each entry is wholly coincident
                with the corresponding entry in edges.

    reversals:  A list of bodies owning edges in either of the edges or
               matches lists that must be reversed in order that
                an attempt to assemble a composite body by topologically
                fusing the paired edges may succeed.