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.