 |
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.
Note: This function is deprecated and has been superseded by
PK_EDGE_attach_curves_2.
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. See PK_SESSION_set_check_self_int.
The G1 continuity check is only performed if the appropriate interface
parameter is set. See PK_SESSION_set_check_continuity.
No checks are done on the orientation of the curves with respect to the edges
and it is the application's responsibility to ensure that this is correct.