Synopsis

PDX_MSGT gdx_InsertKnotSurface(long option, T_GDX_NURB_SURF *sur, double uv, int num_ins, int *kmult)

Purpose

Insert a knot into a surface multiple times.

Description

Insert the knot uv into the surface pointed to by sur num_ins times. The total multiplicity of uv (current plus num_ins) will not exceed the degree of the surface in the corresponding parameter (u or v). This routine checks for this case, and if applicable, adds uv fewer than num_ins times. uv may be either a u- or a v-knot (option).The pointer sur does not change, but the original surface is destroyed (new control points and knots are allocated).

Input

option

GDX_UKNOT

If set, then uv is a u-knot; otherwise, uv is a v-knot.

sur

Pointer to the GDX NURB Surface to which the knot is to be added.

uv

Knot to be added (assumed to be in the parameter range given by the knot vector). May be either a u- or v-knot (see option).

num_ins

Number of times to add uv.

Output

kmult

The multiplicity of uv after insertion.

sur

Pointer not changed, but contents of structure pointed to by sur are changed.

Tolerances

      KNOT_TOL
      .fi

Return

      GDX_NOERR
      Low level error return
      .fi