 |
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.
Used in:
PK_BODY_apply_knit_pattern
PK_BODY_find_knit_pattern
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.