PK_BODY_identify_facesets   

PK_ERROR_code_t PK_BODY_identify_facesets
(
--- received arguments ---
PK_BODY_t                            target,            --- target body
PK_BODY_t                            tool,              --- tool body
int                                  n_edges,           --- number of common
                                                        --- edges
const PK_EDGE_t                      target_edges[],    --- target edges
const PK_EDGE_t                      tool_edges[],      --- tool edges
int                                  n_vertices,        --- number of common
                                                        --- vertices
const PK_VERTEX_t                    target_vertices[], --- target vertices
const PK_VERTEX_t                    tool_vertices[],   --- tool vertices
const PK_BODY_identify_facesets_o_t *options,           --- identify options

--- returned arguments ---
PK_identify_facesets_r_t      *const results            --- identify results
)



This function identifies surviving facesets, given matching edges on
the target and tool bodies.



Specific Errors:
    PK_ERROR_inconsistent_facesets    failure to identify facesets
    PK_ERROR_non_manifold             boolean would result in a non
                                      manifold body
    PK_ERROR_wire_body                target or tool body is wire body
                                      or face of wire body
    PK_ERROR_general_body             target or tool is a general body



Introduction

The function, based on the given loops of coincident edges and points
of contact, identifies the facesets that would survive a boolean
operation (unite, subtract or intersect). Any void inside the target
or tool will be a separate faceset(s) and its survival will be
determined as for other facesets.

Coincident edges and vertices must be given in the same order in the
input arrays. It is the application programmers responsibility to
check this.

This function is not supported for general bodies.


Identify Faceset Options

The option structure passed to this function provides the application
programmer with the following controls:

 o Boolean operation (unite, subtract or intersect)

Refer to the 'PK_BODY_identify_facesets_o_t' documentation for more
detailed information about the options within this structure.


Returned Arguments

Refer to the 'PK_identify_facesets_r_t' documentation for information
about the arrays returned in the 'results' structure.


Error Reporting

When an error occurs the function will, where possible, make extra
information related to the error available to the application via the
standard form of the error. This information will consist of either a
single or a group of topological or geometric entities.

This mechanism is identical to that of the PK boolean functions.
Refer to the 'PK_BODY_boolean' for a more detailed description of
the error reporting mechanism.