 |
PK_EDGE_attach_curves_2 |
|
PK_ERROR_code_t PK_EDGE_attach_curves_2
(
--- 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 attach to edges
const PK_EDGE_attach_curves_o_t *options, --- options structure
--- returned arguments ---
PK_ENTITY_track_r_t *const tracking --- tracking information
)
This function attaches curves to edges.
Specific Errors:
PK_ERROR_bad_vertex (MILD) A curve has failed the vertex
checking (if enabled).
PK_ERROR_not_in_same_body (MILD) Not all members of 'edges' are
from the same body.
PK_ERROR_geom_topol_mismatch (MILD) At least one of the edges is not
accurate.
PK_ERROR_geom_not_needed (MILD) A member of 'edges' already has
an attached curve.
PK_ERROR_bad_combination (MILD) An invalid combination of options
has been supplied.
PK_ERROR_cant_get_point (MILD) Unable to find the point
associated with a vertex.
PK_ERROR_cant_use_curve (MILD) A curve to be attached to a ring
edge is not closed or periodic.
PK_ERROR_bad_shared_entity (MILD) An illegal attempt to share a
member of 'curves'.
PK_ERROR_bad_interval (MILD) The specified interval extends
beyond the curve's parameter range.
PK_ERROR_invalid_geometry (MILD) A member of 'curves' fails the
geometry checks (if enabled).
PK_ERROR_has_parent (MILD) A member of 'curves' is already
attached to an edge and the
copy_never option is specified.
The arrays 'edges' and 'curves' are both of the length 'n_edges' and all the
'edges' must belong to the same body.
If a curve occurs more than once in 'curves' then the curve will be shared,
providing the sharing is legal. Curves may not be attached to tolerant
edges.
Unless specified in the options structure, PK_EDGE_attach_curves_2 will copy
curves (and their dependents) if they have geometric owners or are unable
to be shared. Any copied geometry is returned in the tracking array.
Attributes are not copied.
The curve must be able to pass Parasolid's geometry checking, unless this is
disabled in the options structure, or self-intersection or G1-continuity
checking is disabled by an interface parameter (PK_SESSION_set_check_self_int
or PK_SESSION_set_check_continuity).
No checking is performed to ensure that the curve lies on the corresponding
surface(s). This may lead to face invalidities.
Only closed periodic curves may be attached to ring edges. For split ring
edges, vertex checking (if enabled) applies to the sole vertex.
Finer control over curve attachment (including suppressing geometry checking,
controlling copying behaviour, specifying curve interval and orientation) is
provided through the options structure. See PK_EDGE_attach_curves_o_t for
details.