PK_FACE_change   


PK_ERROR_code_t              PK_FACE_change
(
--- received arguments ---
int                          n_faces,         --- number of faces
const PK_FACE_t              faces[],         --- faces to change
const int                    mapping[],       --- face-operation mapping
int                          n_operations,    --- number of operations
PK_FACE_change_t             operations[],    --- change operations to apply
double                       tolerance,       --- tolerance
const PK_FACE_change_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 changes the given faces by applying the related given operation
to each of them.
This function combines the features of : PK_FACE_offset_2, PK_FACE_taper,
PK_FACE_transform_2, PK_FACE_replace_surfs_3 and some of PK_FACE_make_blend.


Specific Errors:
    PK_ERROR_wrong_entity_in_array (MILD)    given faces are not from same body
    PK_ERROR_unsuitable_entity     (MILD)    body not a sheet or a solid body
    PK_ERROR_bad_tolerance         (MILD)    proposed tolerance is too small
    PK_ERROR_failed_to_blend       (SERIOUS) blend operation failed
    PK_ERROR_failed_to_offset      (SERIOUS) offset operation failed
    PK_ERROR_failed_to_replace     (SERIOUS) replace face operation failed
    PK_ERROR_failed_to_taper       (SERIOUS) taper operation failed
    PK_ERROR_failed_to_transform   (SERIOUS) transform operation failed




Introduction
To each face in faces is applied the associated operation from operations.
The face/operation association is realised through the mapping array,
parallel to the faces array. It contains the indexes of the operations to
apply to the faces.
For a face of index i_fa in faces, its associated operation is :
        operations[mapping[i_fa]]

An operation is defined by its type, its parameters and its eventual specific
options.
The operation types, their parameters and their specific options are passed
to the function using the operations array of PK_FACE_change_t types.

User options
The PK_FACE_change_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.