PK_ERROR_code_t PK_VERTEX_sweep ( --- received arguments --- PK_VERTEX_t vertex, --- end vertex of wire body PK_VECTOR_t path, --- translation vector PK_LOGICAL_t local_check, --- whether local checking will be done --- returned arguments --- PK_EDGE_t *const lateral, --- new edge PK_VERTEX_t *const base, --- swept vertex PK_local_check_t *const check_result --- result of local check ) This function sweeps an end vertex of a wire body or the sole vertex of a minimum body into an edge. Specific Errors: PK_ERROR_unsuitable_entity Vertex is unsuitable for sweep PK_ERROR_wrong_entity Bad arguments PK_ERROR_non_manifold Can't sweep body with non-manifold boundary The vertex to be swept is moved along the path vector leaving a lateral edge in its wake. Vertexes which may be swept, the laterals they produce and the type of the resulting body are identified in the following table. Swept Entities | Laterals Returned | Result =========================================================================== | | End vertex of wire body | One edge | Wire body | | Vertex of minimum body | One edge | Wire body | | =========================================================================== The new edge returned lateral and the given vertex is returned in base. Suitable Sweep Entities: . End vertices (in contradistinction to interior vertices) of wires. . Sole vertex of a minimum body. Attempting to sweep an entity which is not one of the above will give rise to the error PK_ERROR_unsuitable_entity. After a sweep any coincident topology will not be fused or united. In general this procedure may give rise to self-intersecting body boundaries, which could cause unpredictable errors later. If local checking is switched on (local_check = PK_LOGICAL_true), consistency checks will be made on newly created topological and geometrical entities, and the state of the body returned in check_result. A result of PK_local_check_ok_c indicates the body is valid. A result of PK_local_check_failed_c indicates the body is self-intersecting and further modelling operations on it may fail. If local checking is switched off (local_check = PK_LOGICAL_false), the result returned will be PK_local_check_no_c. A self-intersecting body can be returned.