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