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.