PK_FACE_cover   

PK_ERROR_code_t            PK_FACE_cover
(
--- received arguments ---
int                        n_faces,        --- number of faces
const PK_FACE_t            faces[],        --- target faces to cover
const PK_FACE_cover_o_t   *options,        --- options

--- returned arguments ---
PK_ENTITY_track_r_t *const tracking        --- tracking information
)


This function creates a single face covering a set of input faces, which can
then be used to replace the original faces.

This function does not support facet geometry [NF]


Specific Errors:
    PK_ERROR_unsuitable_entity     (MILD)    The faces' body is not a sheet or
                                             solid body.
    PK_ERROR_wrong_entity_in_array (MILD)    The input faces are not from same
                                             body.
    PK_ERROR_not_connected         (MILD)    The input faces do not form a
                                             single connected set.
    PK_ERROR_closed_faces          (MILD)    The input faces form a closed
                                             connected set, i.e., with no
                                             boundary edges.
    PK_ERROR_bad_faces             (MILD)    The function did not attempt to
                                             fit the input faces, due to
                                             problems with the input faces. One
                                             or more Reports will be generated,
                                             describing the problems. Reports
                                             may be of the following types:
                                                 PK_REPORT_3_sharp_eds_c
                                                 PK_REPORT_3_tight_curvature_c
    PK_ERROR_cant_get_surf         (MILD)    Failed to fit a surface to the
                                             faces.
    PK_ERROR_failed_to_replace     (SERIOUS) A surface was created, but failed
                                             to replace the faces with the new
                                             geometry, or failed to return a
                                             trimmed sheet.
    PK_ERROR_cant_cover            (SERIOUS) Internal failure.


PK_FACE_cover will create a new single B-surface fitting a set of input faces.
If the option 'output' is set to PK_FACE_cover_output_replace_c, then the input
faces will be replaced with a single face using this B-surface. If 'output' is
set to PK_FACE_cover_output_sheet_c, then a new sheet body with a single face
using this B-surface will be returned.

The faces must belong to the same sheet or solid body. General bodies are not
supported.

The faces must form a connected set, though it is allowed for the set to
contain holes. The faces must not form a completely closed set of faces. The
internal edges of the face set (i.e., edges between two faces that are both
supplied) must be visibly G1 smooth. Note that the function does not support
creating periodic B-surface solutions.


Tracking
The returned 'tracking' structure contains entity tracking information on the
operation.
  o If 'output' is set to PK_FACE_cover_output_replace_c, the tracking
    information will indicate any merging of faces that was required (for cases
    with multiple input faces).
  o If 'output' is set to PK_FACE_cover_output_sheet_c, then the tracking
    information  will contain information for the resultant face and its edges.
    For the face, the tracking will indicate the faces on the original body it
    was created from. For the edges, the tracking will indicate the boundary
    edges on the original body they were each created from.

If the function succeeds, then a Report of type PK_REPORT_3_distance_err_c will
be generated, containing the maximum distance error for the fitted surface
from the input faces, and the parameters on the fitted surface where the
maximum distance error occurs.

If the function succeeds, but the function considers the resultant surface to
have high curvature compared with the input faces, then a Report of type
PK_REPORT_3_worse_curvature_c will be generated, containing information on the
positions were this occurs, along with the resultant curvature, and the
corresponding curvature on the original input face.

If the function fails, but a surface fitting the original faces was created,
then this surface will be returned in a Report of type
PK_REPORT_3_cover_surf_c.