PK_FACE_imprint_cus_vec   

PK_ERROR_code_t                       PK_FACE_imprint_cus_vec
(
--- received arguments ---
int                                   n_targets,   --- number of faces
const PK_FACE_t                       targets[],   --- array of faces
int                                   n_curves,    --- number of curves
const PK_CURVE_t                      curves[],    --- curves
PK_INTERVAL_t                         intervals[], --- parametric intervals
double                                tol,         --- tolerance
PK_VECTOR_t                           direction,   --- direction to project
                                                   --- curves in
const PK_FACE_imprint_cus_vec_o_t    *options,     --- options

--- returned arguments ---
PK_TOPOL_track_r_t             *const tracking     --- tracking information
)


This function imprints the given array of curves on the given array of faces
by projecting them locally along the given vector direction. The faces must
all belong to the same body.

NOTE: This function is deprecated and has been superseded by PK_CURVE_project.



Specific Errors:

    PK_ERROR_invalid_geometry        Invalid curve (MILD)

    PK_ERROR_unsuitable_entity       Unsuitable curve type for operation
                                     (MILD)

    PK_ERROR_cant_do_imprint         Failed to perform imprint
                                     (MILD)

    PK_ERROR_wrong_entity_in_array   'targets' not all from same body
                                     (MILD)

    PK_ERROR_cant_complete_imprint   Failed to complete imprint
                                     (SERIOUS)

    PK_ERROR_ambiguous_imprint       Failed to complete because
                                     initial imprint is ambiguous
                                     (SERIOUS)



Edges and vertices are added to the faces. These are the image of the curves on
the faces under projection in the supplied direction. The edges created by this
imprinting are returned. These may include existing edges where the curves
project down onto existing edges.

Edges are imprinted on the input faces which are visible in the view direction
but whether side or hidden faces are also imprinted to produce a connected
imprint is controlled by the option structure. The option structure also
allows different options as to what visible means here - in particular which
other faces are considered when deciding if a face or portion thereof is
hidden.

See Connecting disjoint components of an imprint for more
information.

The tolerance supplied is used to solve any resolution problems and may also be
used to create SP-curves on the imprinted edges.

The tracking information is returned by returning a track record for each
imprinted edge. Each edge has two original_topols. The first of these is the
input curve which gave rise to this edge. The second is the original
topology on the body where this edge is created. This is usually a face,
but where the edge is imprinted along a pre-existing edge that edge is
returned instead. Imprinted edges arising from any requested imprint
completion are tracked by the same method, but the original topology
associated with the edge is always null.

This operation does not work on faces which have no attached geometry.

The input curves must be of type PK_CLASS_bcurve, PK_CLASS_ellipse, or
PK_CLASS_circle or PK_CLASS_line; other types are not supported.
If curves intersect in the view direction then the option
'process_intersections' must be set appropriately for the function call
to succeed.