PK_EDGE_attach_curves   


PK_ERROR_code_t  PK_EDGE_attach_curves
(
--- received arguments ---
int              n_edges,     --- number of edges
const PK_EDGE_t  edges[],     --- edges to have curves attached
const PK_CURVE_t curves[]     --- curves to be attached to edges
)


This function attaches curves to edges.


Specific Errors:
    PK_ERROR_has_parent           curve is already attached
    PK_ERROR_bad_shared_dep       attempt to illegally share a dependant
                                  of curve
    PK_ERROR_bad_shared_entity    attempt to illegally share curve
    PK_ERROR_geom_not_needed      'edge' already owns geometry
    PK_ERROR_inconsistent_geom    inconsistent geometry
    PK_ERROR_invalid_geometry     geometry does not pass checks


The arrays edges and curves are both of the length n_edges.
All the edges must belong to the same body.

Curves may not be attached to approximate edges.

A curve may occur more than once in curves and if this
is the case then the curve will be shared, providing the sharing is
legal.

PK_EDGE_attach_curves will not copy any curves, thus attachments are
further restricted by constraints on the sharing of geometry:

    o No curve may belong to a different body.

    o A curve cannot be shared between two edges which have opposing
      directions.

    o An orphan curve may be attached to an edge as long as it has no
      dependents attached to topology and it has no dependents shared with
      any other orphan entity.

The curve must be capable of passing Parasolid's geometry checking.

The self intersection check is only performed if the appropriate interface
parameter is set.