 |
PK_CURVE_make_spcurves_2 |
|
PK_ERROR_code_t PK_CURVE_make_spcurves_2
(
--- received arguments ---
PK_CURVE_t curve, --- curve
PK_INTERVAL_t range, --- parameter bounds of required
--- part of curve
PK_SURF_t surf, --- surface on which curve lies
double tolerance, --- required accuracy if
--- solution is approximate
const PK_CURVE_make_spcurves_o_t *options, --- options structure
--- returned arguments ---
int *const n_spcurves, --- number of SP-curves produced
PK_SPCURVE_t **const spcurves --- SP-curves produced
)
This function creates an SP-curve representation of a curve which lies,
possibly approximately, in a surface.
NOTE: This function supersedes PK_CURVE_make_spcurves.
This function does not support facet geometry [NF]
Specific Errors:
PK_ERROR_bad_precision tolerance less than modelling resolution
PK_ERROR_tolerances_too_tight tolerance too tight
PK_ERROR_failed_to_create_sp no SP-curves made
This function approximates 'curve' which lies approximately on 'surf' by an
SP-curve or series of SP-curves, lying on 'surf'.
The arguments are:
'curve'
Curve to be approximated by SP-curve(s).
Lies approximately on 'surf'.
'range'
Parametric extent of the part of the given 'curve' to be represented by one
or more SP-Curves.
If the 'range' is sufficiently long to overhang the parameter range of a
limited surface, then the surface may be extended in order to accommodate
the SP-curve(s).
If the given 'curve' is a trimmed curve, then the 'range' must be contained
within the bounds of the trimmed curve.
'surf'
Surface upon which to create SP-curve(s), 'surf' forms the basis surface
of the new SP-curve(s).
If 'surf' is construction geometry or is attached to a face, within a
body, the SP-curve will be created as construction geometry
in that body, and may only be attached to topology within that body.
'tolerance'
The SP-curve will be created to the distance tolerance 'tolerance', i.e. it
lies within 'tolerance' of the image of 'curve' in the surface. The image of
'curve' in this context means the curve formed by the locus of points
on 'surf' closest to corresponding points on 'curve'.
If the required tolerance cannot be met then the function will fail with
error PK_ERROR_tolerances_too_tight indicating that
a larger tolerance may allow a successful approximation.
'options'
The options associated with this function.
The returns are
'n_spcurves'
Number of SP-curves produced.
'spcurves'
Array of SP-curves of length n_spcurves.
Ownership
The ownership of the newly created SP-curve(s) is determined by the ownership
of 'surf' as follows
|____________________|___________________|
| 'surf' owner | SP-curve owner |
|____________________|___________________|
| Partition | Partition |
| Assembly | Assembly |
| Body | Body |
| Face | Body owning face |
_____________________|___________________|
Click here for more information.