PK_ERROR_code_t PK_FACE_transform ( --- received arguments --- int n_faces, --- number of faces const PK_FACE_t faces[], --- faces const PK_TRANSF_t transfs[], --- face transformations double tolerance, --- tolerance for replacement geometry PK_LOGICAL_t local_check, --- whether to perform local check --- returned arguments --- int *const n_replaces, --- number of replaced geometry PK_GEOM_t **const replaces, --- replaced geometry (optional) PK_LOGICAL_t **const exact, --- whether replaced geometry is exact --- (optional) PK_local_check_t *const check_result --- result of local check ) This function transforms the given faces by the given transformations. Specific Errors: PK_ERROR_tool_faces_many_bodies faces do not belong to a single body 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. Returned Geometry All of the new surfaces of faces may be returned in replaces. Each element in the exact array indicate whether the surface is an exact transformation (criterion 1 or 2), or an approximation (criterion 3). replaces is optional. If it is set to NULL then only the number of new surfaces will be returned (in n_replaces). exact is optional. It may only be non-NULL if replaces is non_NULL. Returned Check Status If local checking is on, consistency checks will be made on newly created topological and geometrical entities, and the result of the local check on the body returned via check_result : o PK_local_check_ok_c indicates the body is valid. o PK_local_check_no_c indicates that local checking is switched off. o PK_local_check_failed_c indicates the body is invalid and further modelling operations on it may fail. It is the responsibility of the calling routine to make any necessary reparation.