 |
PK_FACE_attach_surfs |
|
PK_ERROR_code_t PK_FACE_attach_surfs
(
--- received arguments ---
int n_faces, --- number of faces
const PK_FACE_t faces[], --- faces to have surfaces attached
const PK_SURF_t surfs[], --- surfaces to be attached to faces
const PK_LOGICAL_t senses[] --- face senses
)
This function attaches surfaces to faces.
Specific Errors:
PK_ERROR_has_parent 'surf' is already attached
PK_ERROR_bad_shared_dep attempt to illegally share a dependant
of 'surf'
PK_ERROR_bad_shared_entity attempt to illegally share 'surf'
PK_ERROR_geom_not_needed 'face' already owns geometry
PK_ERROR_inconsistent_geom inconsistent geometry
PK_ERROR_invalid_geometry geometry does not pass checks
The arrays 'faces', 'surfs' and 'senses' are all of the length 'n_faces'.
All the 'faces' must belong to the same body.
If `senses[i]' is PK_LOGICAL_true then the face normal will point in the
direction of the surface normal. If `senses[i]' is PK_LOGICAL_false then the
face normal will point in the opposite direction to the surface normal.
A surface may occur more than once in 'surfs' and if this
is the case then the surface will be shared, providing the sharing is
legal.
PK_FACE_attach_surfs will not copy any surfaces, thus attachments are
further restricted by constraints on the sharing of geometry:
o No surface may belong to a different body.
o An orphan surface may be attached to a face as long as it has no
dependents attached to topology and it has no dependents shared with
any other orphan entity.
The surface must be capable of passing Parasolid's geometry checking.
The self intersection check is only performed if the appropriate interface
parameter is set.
See Attaching geometry for more information.