PK_VERTEX_sweep   

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 (MILD)
    PK_ERROR_wrong_entity          Bad arguments (MILD)
    PK_ERROR_non_manifold          Can't sweep body with non-manifold
                                   boundary (MILD)


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.