PK_ERROR_code_t PK_FACE_delete ( --- received arguments --- int n_faces, --- number of faces const PK_FACE_t faces[], --- faces PK_FACE_heal_t heal_action, --- method for healing wounds PK_LOGICAL_t loops_independent,--- whether to heal loops --- independently PK_LOGICAL_t local_check, --- whether to perform local check --- returned arguments --- int *const n_bodies, --- number of bodies PK_BODY_t **const bodies, --- remaining bodies PK_local_check_t **const check_results --- result of local check ) This function deletes the given faces from a solid or sheet body and repairs any resulting holes. Specific Errors: PK_ERROR_wire_body (MILD) unable to delete faces from wire body PK_ERROR_non_manifold (SERIOUS) can't heal wound with non-manifold boundary PK_ERROR_wrong_entity_in_array (MILD )faces not all from same body PK_ERROR_general_body (SERIOUS ) faces come from general body PK_ERROR_all_faces_in_body (MILD) can not delete all faces in a body PK_ERROR_cant_heal_wound (SERIOUS) can't heal wound - impossible geometry PK_ERROR_not_implemented (MILD) heal_action not implemented All of the given faces, which must belong to the same body, are deleted from that body. If the resulting body does not have a complete boundary, then any holes are treated as wounds which are healed as specified by heal_action. This may take the values: PK_FACE_heal_no_c don't heal wounds - leave rubber faces PK_FACE_heal_cap_c find a surface in which all edges of a hole lie and attach this to a face covering the hole PK_FACE_heal_grow_from_parent_c grow the faces the parent had around the hole until they cover it PK_FACE_heal_shrink_c if extending faces does not yield a solution, then shrinking the faces is tried The local_check argument specifies whether checks on newly created topological and geometrical entities are to be performed, and the check_results argument returns the result of such checks on each body. check_results may take the values: PK_local_check_no_c local checking not performed either because local_check was PK_LOGICAL_false or heal_action was PK_FACE_heal_no_c PK_local_check_ok_c body passes local checks PK_local_check_negated_c as initially created, body was inside out but it has been negated and is now valid PK_local_check_failed_c body fails local checks - it is self-intersecting Rubber faces can not be grown to heal other wounds. This function will not operate on faces from a general body. If loops_independent is set to PK_LOGICAL_true, then each closed loop around a face or group of faces is healed independently. Otherwise loops are healed together. Healing loops independently can result in a fragmented body. The faces may not form the shell of a sheet body, or the outer shell of a solid body, but may form an inner shell of a solid body, in which case the shell is deleted.