Synopsis
PDX_MSGT gdx_ForceCleanEndKnotsNurbCurve(long option, T_GDX_NURB_CURVE *gdx_nc, PDX_BOOL *modified_flag)
Purpose
Forces valid end knots on a Nurbs curve.
Description
Forces the end knots of a Nurbs curve to be correct in the following sense:
(1) knots equal to the relimiting bounds will not have multiplicity greater than degree+1 (2) if a relimiting bound is a knot of multiplicity equal to or greater than degree , then the curve is clamped there (3) if bounds[0] = knots[degree] = knots[degree+1] , then the curve is clamped at bounds[0] (4) if bounds[1] = knots[num_of_ctrl_pts] = knots[num_of_ctrl_pts-1] , then the curve is clamped at bounds[1] (5) knots[degree] <= bounds[0] (6) knots[num_of_ctrl_pts] >= bounds[1]
This function uses strict equality to compare knots and bounds. Hence, it is recommended to call gdx_MakeKnotsEqual prior to calling this function.
Input
option
Not used.
gdx_nc
The GDX Nurbs curve.
Output
gdx_nc
The GDX Nurbs curve may be modified (but the entity pointer does not change).
modified_flag
TRUE if the curve is modified; FALSE otherwise.
Return
GDX_NOERR
GDX_BADDATA
Low level error return
.fi