PK_ERROR_code_t PK_FACE_make_solid_bodies ( --- 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 local_check, --- whether to perform local check --- returned arguments --- int *const n_bodies, PK_BODY_t **const bodies, --- created solid bodies PK_local_check_t **const check_results --- results of local check ) This function creates solid bodies from a collection of faces Specific Errors: PK_ERROR_wire_body (MILD) unable to make solid from wire body PK_ERROR_dont_make_solid (MILD) can't make solid from given faces PK_ERROR_non_manifold (MILD) can't heal wound with non-manifold boundary PK_ERROR_not_in_same_part (MILD) faces not all from same body PK_ERROR_general_body (MILD) faces come from general body PK_ERROR_not_implemented (MILD) heal_action not implemented All of the given faces, which must belong to the same body, are copied into one or more new bodies. A new body is created from each set of connected faces. If a 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_child_c faces around the hole are extended until they cover the hole PK_FACE_heal_grow_from_parent_c grow the faces the parent had around the hole until they cover it 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. 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.