![]() |
ADPAPE |
Equivalent PK functions: |
PK_BCURVE_add_knot PK_BSURF_add_u_knot PK_BSURF_add_v_knot |
ADPAPE ( pg, t, uorv, ifail ) ============================= Add parameter (line) to a B-curve or B-surface Receives: KI_tag_geometry *pg --- B-curve or B-surface KI_dbl_parameter *t --- split parameter <KI_cod_papr> *uorv --- parameter in which to split Returns: KI_cod_error *ifail --- failure indicator Specific errors: KI_bad_knots new knot would cause invalid knot multiplicity KI_bad_parameter parameter out of range KI_bad_parametric_prop unsuitable property KI_wrong_entity 'pg' is not a B-curve or B-surface KI_is_attached geometric entity is attached to topology Description: This function modifies a B-curve or B-surface by inserting a knot, resulting in the addition of a (possibly null) segment, or row or column of patches. The shape of the B-curve or B-surface is not changed. The parameter 'uorv' is not used if the entity is a B-curve. If the entity is a B-surface then 'uorv' must take one of the following values: . PAPRUP - add a parameter line in the u direction (i.e. a constant v parameter line). . PAPRVP - add a parameter line in the v direction (i.e. a constant u parameter line). The parameter t at which the new knot is to be inserted must be within the range as given by ENCUPA (curves) or ENSUPA (surfaces) repectively. The new knot must not increase the multiplicity of any existing knot to more than the order for an end knot, or order-1 for an internal knot. If 't' lies within a segment or patch then a new segemt, row of patches ('uorv' = PAPRUP) or column of patches ('uorv' = PAPRVP) will be added to the curve or surface. If 't' lies on a segment or patch boundary then the segment, row or column of patches added will be null. Adding a null segment to a curve or surface only affects the B-spline representation (it duplicates a knot). A B-curve or B-surface cannot be modified if it is attached to an edge or face.