 |
PK_FACE_replace_surfs |
|
PK_ERROR_code_t PK_FACE_replace_surfs
(
--- received arguments ---
int n_faces, --- number of faces
const PK_FACE_t faces[], --- faces
const PK_SURF_t surfs[], --- replacement surfaces
double tolerance, --- tolerance for replacement geometry
PK_LOGICAL_t local_check, --- whether to perform local check
--- returned arguments ---
PK_local_check_t *const check_result --- result of local check
)
This function replaces the geometry of the given faces with the
supplied surfaces.
NOTE: This function is deprecated and has been superseded by
PK_FACE_replace_surfs_3
Specific Errors:
PK_ERROR_tool_faces_many_bodies faces do not belong to a single body
PK_ERROR_not_in_same_partition faces and replacement orphan geometry
not in same partition
All geometry of the given faces is replaced by the given geometry
in 'surfs'. The geometry of the edges and vertices connected to
the modified faces will be deleted and recalculated.
Where edges are adjacent to faces whose geometry is being replaced,
the edge curves are re-computed as the intersection of the face
surfaces.
Where edges or faces (sharing a vertex or edge at the boundary of the
faces to be modified) have geometry which is inextendable, it may not
be possible to recalculate vertices or edges. This is because the curve
or surface do not intersect the new surface. If such edges have a user
defined tolerance, this is likely to occur since SP-curves are
inextendable.
If the given faces are on a sheet body, they must not share an edge with
any rubber faces.
Surface Orientation
The orientation of each input surface is assumed to be compatible with
the face whose surface is being replaced. This implies that the normal
of the input surface must be in a direction that ensures the loops of
the face are still valid.
Once the new surface is attached to the face, the loop directions of the
face must still be valid with respect to the new face normal. The geometry
of the loop will have to be recalculated, but the loop direction must
remain the same for the operation to succeed.
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.