 |
PK_EDGE_make_curve |
|
PK_ERROR_code_t PK_EDGE_make_curve
(
--- received arguments ---
int n_edges, --- number of edges
const PK_EDGE_t edges[], --- edge chain to make curve
double tolerance, --- tolerance
const PK_EDGE_make_curve_o_t *options, --- options structure
--- returned arguments ---
PK_ENTITY_track_r_t *const tracking --- tracking information
)
This function makes a single continuous curve from a set of edges to a given
tolerance.
This function does not support facet geometry [NF]
Specific Errors:
PK_ERROR_tolerances_too_tight MILD Failed to build a curve within
tolerance of supplied edges
PK_ERROR_not_in_same_body MILD Received edges are not all in the same
body
PK_ERROR_not_connected MILD The set of edges do not form a
connected chain
PK_ERROR_not_smooth MILD The edge chain is not smooth
PK_ERROR_not_unique MILD The edge chain has multiple connections
at a vertex
PK_ERROR_wrong_direction MILD The supplied curve direction option is
not valid
PK_ERROR_bad_tolerance MILD Received tolerance is too small
If the set of edges does not complete a fully connected chain then the
error 'PK_ERROR_not_connected' is returned.
The chain of edges must connect smoothly, if they do not then the error
'PK_ERROR_not_smooth' is returned.
The supplied set of edges should form a unique connected chain, such that at
each vertex there should be at most two supplied edges. If three or more edges
connected to the same vertex are supplied in the chain then the function will
fail with the error 'PK_ERROR_not_unique'.
The argument 'tolerance' is the maximum allowable distance deviation between
the curve that is returned and the set of edges that are supplied.
The direction of the resulting curve will, by default, have a tangent that is
in the same direction as the first edge in the supplied set. The curve
direction can be explicitly set using the 'curve_dir' option in the
'options' structure.