PK_FACE_transform_2   


PK_ERROR_code_t              PK_FACE_transform_2
(
--- received arguments ---
int                          n_faces,         --- number of faces > 0
const PK_FACE_t              faces[],         --- faces to transform
const PK_TRANSF_t            transfs[],       --- face transformations
double                       tolerance,       --- tolerance

const PK_FACE_transform_o_t *options,         --- options

--- returned arguments ---
PK_TOPOL_track_r_t    *const tracking,        --- tracking information
PK_TOPOL_local_r_t    *const results          --- status information
)


This function transforms the given faces by the given transformations.

NOTE : This function supersedes PK_FACE_transform.


Specific Errors:
    PK_ERROR_bad_component         (MILD) transformation is a perspective
    PK_ERROR_wrong_entity_in_array (MILD) given faces are not from same body



Introduction
All geometry of the given faces is replaced by geometry which is
derived from the original geometry by transforming it through the
given transformation.

Replacement surfaces for the faces will satisfy the first possible
of the following list of criteria :

 1 - be of the same class as the original geometry,
 2 - be exactly coincident with the transformation of the original
     geometry,
 3 - not deviate by more than the given tolerance from the
     transformation of the original geometry.

Replacement curves for edges will satisfy the same criteria in order
of precedence unless the curve lies on an edge which is at the junction
of faces, of which at least one of the attached surfaces has been
approximated (criterion 3), in which case, the edge curve will be
re-computed as the intersection of the face surfaces.

The original geometry of topological entities that acquire new
geometry as a result of this operation will be deleted.

User options
The PK_FACE_transform_o_t structure contains user control options. See
its documentation for detail.

Tracking
The PK_TOPOL_track_t structure contains topology tracking information on
the operation. See its documentation for details.

Error handling
If this function returns PK_ERROR_no_errors, the result of the operation
will be indicated by the value of the status field of the results
structure. When this value is not PK_local_status_ok_c or
PK_local_status_nocheck_c, it indicates an operation failure and an array
of entities involved in this failure is returned through the field
error_entities of the results structure, when possible.
For more information regarding the failure status code and the error_entities,
refer to the PK documentation of the PK_TOPOL_local_r_t structure.