TKE_NURBS_Surface

Opcode

ASCII

A

Hexadecimal

0x41

Decimal

65

Operands

Byte options, Byte u_degree, Byte v_degree, Long u_count, Long v_count,
(u_count x v_count)xPoint control_points, [(u_count x v_count)xFloat weights],
[(u_count+degree+1)xFloat u_knots],
[(v_count+degree+1)xFloat v_knots],
[variable trims]

options

bitmask indicating which options are present

u_degree

degree of the surface in the u direction

v_degree

degree of the surface in the v direction

u_count

number of control points in the surface in the u direction

v_count

number of control points in the surface in the v direction

v_count

number of control points in the surface in the v direction

control_points

u_count x v_count triplets of x, y, z data. A two dimensional array sorted such that the v direction is varying fastest

weights

u_count x v_count weight factors. Arranged in the same order as control_points.

knots

u_count + degree + 1 knot values in the u direction

knots

v_count + degree + 1 knot values in the v direction

Notes

Option flags:

0001

Weights are specified

0002

Knots are specified

0004

Surface is trimmed

Surface is inserted into the currently opened segment.

If trim operations are present, as indicated by the one of the bits in options, the surface is followed by a variable-length list of trim operations, as described in trim.html.

NURBS Surfaces were first added with version 7.0.