 |
PK_FACE_imprint_faces_2 |
|
PK_ERROR_code_t PK_FACE_imprint_faces_2
(
--- received arguments ---
int n_targets, --- number of target faces
const PK_FACE_t targets[], --- target faces
int n_tools, --- number of tool faces
const PK_FACE_t tools[], --- tool faces
const PK_FACE_imprint_faces_o_t *options, --- imprint options [PF]
--- returned arguments ---
PK_imprint_r_t *const results, --- imprint results
PK_TOPOL_track_r_t *const tracking --- imprint tracking
)
This function imprints edges on the given target and tool faces.
This function offers partial support for facet geometry [PF]
Specific Errors:
PK_ERROR_cant_do_imprint imprint failure (MILD)
PK_ERROR_tool_faces_many_bodies tool faces are from more than
one body (MILD)
PK_ERROR_targ_faces_many_bodies target faces are from more
than one body (MILD)
PK_ERROR_wire_body target or tool body is wire body
or face of wire body (MILD)
PK_ERROR_missing_geom target or tool has incomplete geometry
(MILD)
PK_ERROR_same_tool_and_target target and tool are the same body
(MILD)
PK_ERROR_partial_no_intersect no imprinting on target or tool
(MILD)
PK_ERROR_unsupported_operation target or tool faces do not belong to
a sheet body
(MILD)
PK_ERROR_bad_tolerance proposed tolerance is too small (MILD)
PK_ERROR_cant_complete_imprint unable to complete the imprint
(SERIOUS)
PK_ERROR_ambiguous_imprint ambiguous imprint cannot be
completed
(SERIOUS)
PK_ERROR_bad_combination a mixture of facet and classic geometry
has been supplied (MILD)
Introduction
The function takes the target and tool faces and adds edges and
vertices where the faces intersect (except where they already
exist). The corresponding imprinted (or original) edges and vertices
are returned in matching arrays contained within the results
structure. Where an entity has arisen from imprint completion, the
matched element in the other list will be PK_ENTITY_null.
Vertices are returned only where they are isolated points
of contact between the target and tool faces.
The target and tool faces can each belong to either a solid or sheet
body although solid bodies are not supported for all combinations of
imprint completion; see here for more details. Also see
here for more information on imprint completion options.
In particular, no target or tool face may belong to a general body.
See here for more information.
Imprint Options
The option structure passed to this function provides the application
programmer with the following controls:
o Restrict imprint to the target body only
o Imprint boundaries of overlapping areas
o Extend face list on target faces only, or tool faces only
o Complete partial imprints on faces
o Force imprinted edge direction to be consistent
Refer to the PK_FACE_imprint_o_t documentation for more detailed
information about the options within this structure.
Returned Arguments
Refer to the PK_imprint_r_t documentation for information
about the arrays returned in the 'results' structure.
The returned PK_TOPOL_track_r_t structure contains tracking records of type
PK_TOPOL_track_create_c which track the imprint topology to those topologies
on the original bodies that were responsible for creating the imprint.
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 PK_BODY_boolean for a more detailed description of
the error reporting mechanism.