PK_EDGE_attach_curve_nmnl   

PK_ERROR_code_t                      PK_EDGE_attach_curve_nmnl
(
--- received arguments ---
PK_EDGE_t                            edge,      --- edge to which 'curve'
                                                --- will be attached
PK_CURVE_t                           curve,     --- curve of edge
const PK_EDGE_attach_curve_nmnl_o_t *options    --- option structure
)


This function attaches the 'curve' provided to the 'edge' as a nominal curve.


Specific Errors:
    PK_ERROR_curve_nmnl_off         nominal curves are not enabled on the
                                    body to which 'edge' belongs (MILD)
    PK_ERROR_invalid_geometry       'curve' does not check (MILD)
    PK_ERROR_geom_not_needed        'edge' already has a nominal curve (MILD)
    PK_ERROR_bad_interval           parameter interval is not consistent with
                                    end-points of 'edge' (MILD)
    PK_ERROR_missing_geometry       vertices or fins have missing geometry
                                    (MILD)
    PK_ERROR_inconsistent_geom      'curve' is not consistent with the geometry
                                    of 'edge' (MILD)
    PK_ERROR_bad_shared_dep         'curve', or one of its dependents, would be
                                    illegally shared (MILD)


'curve' is attached to 'edge' as a nominal curve.

'edge' must not already have nominal geometry attached and must be tolerant.

If 'edge's fins have curves, then 'curve' must lie within 'edge's
precision of these along the whole length of 'edge', or the call will fail
with PK_ERROR_inconsistent_geom.

If the application needs to fix the exact parameter values of the end-points
(as returned by PK_EDGE_ask_geometry_nmnl) it should supply them as an interval
in the options structure, otherwise they will be calculated from the end-points
of the edge.

Nominal geometry must be enabled for the body to which 'edge' belongs, or
the error PK_ERROR_curve_nmnl_off results.

'curve' must be either

    o orphan geometry in the same partition as 'edge', which does not share
      dependents with any other orphan geometry, or

    o construction or boundary geometry in the body of 'edge'

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. See PK_SESSION_set_check_self_int.


The continuity check is only performed if the appropriate interface
parameter is set. See PK_SESSION_set_check_continuity.


Note that 'curve' may already be attached to another edge as edge geometry,
fin geometry or nominal geometry.  In this case, where possible, 'curve' will
be shared, otherwise a copy of 'curve' will be attached to 'edge'.



See here for more information.