 |
PK_SURF_make_cus_isocline |
|
PK_ERROR_code_t PK_SURF_make_cus_isocline
(
--- received arguments ---
PK_SURF_t surf, --- surf to search for isoclines
PK_UVBOX_t uvbox, --- surf parameter box
PK_VECTOR1_t direction, --- isocline direction
double angle, --- isocline angle
double tolerance, --- accuracy for representing curves
const PK_SURF_make_cus_isocline_o_t *options,
--- options structure
--- returned arguments ---
int *const n_curves, --- number of isocline curves (>= 0)
PK_CURVE_t **const curves, --- isocline curves
PK_INTERVAL_t **const bounds --- bounds of curves
)
This function creates isocline curves on the given surface.
The isocline is specified by a 'direction' and an 'angle'.
The function may, at times, have to use approximate geometry. For such cases,
'tolerance' specifies an upper bound on the distance by which a point on the
actual geometry may deviate from its ideal position.
While the function will usually satisfy this constraint, it is not guaranteed.
The extent of the returned 'curves' will be sufficient, at least, to include
all that part of any isocline curve which enters the 'uvbox'. As a corollary,
any or all of the extent of a returned curve may lie outside the uvbox.
The number of isocline curves created is returned as 'n_curves', and the
curves themselves as 'curves'. The bounds, in parameter space, are returned
for each curve in the returned 'curves' array.
If the given 'surf' belongs to a part, then the created curves will become
construction curves of that part, otherwise they will become orphan curves
in the current partition.