PK_EDGE_reverse_2   

PK_ERROR_code_t              PK_EDGE_reverse_2
(
--- received arguments ---
int                          n_edges,   --- number of edges
const PK_EDGE_t              edges[],   --- edges to be reversed
const PK_EDGE_reverse_2_o_t *options    --- option structure
)


This function reverses the given edges and their associated geometry.


Specific Errors:
    PK_ERROR_not_in_same_partition   (MILD)       edges belong to different
                                                  partitions
    PK_ERROR_reverse_edge_failed     (SERIOUS)    operation failed


For each edge in the array 'edges', all fins have their sense (as given by
PK_FIN_is_positive) reversed. The fins are then reordered to ensure that the
first fin (as given by PK_EDGE_ask_first_fin) has positive sense, unless the
edge has no positive fins after the reversal.

Any curves attached to an edge's fins are left unchanged.

If an edge itself has a curve attached (either the edge is accurate or it has
a nominal curve) then its orientation (as given by PK_EDGE_ask_oriented_curve)
is reversed. If the curve is shared by multiple edges in the array, then this
sharing is preserved.

If the curve is shared by an edge not listed in the array, or it has a
geometric owner, then the original curve is detached from the edge, and
replaced with a copy of the curve with the opposite orientation.

This function supports non-manifold and wire edges. Edges in the list may
belong to different bodies, but not different partitions.