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 seperate 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.