 |
PK_FACE_transform |
|
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.
NOTE: This function is deprecated and has been superseded by
PK_FACE_transform_2.
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.