UF_BREP_bsurface_s (查看源代码)
 
定义在: uf_brep_types.h
 
也被称为:
 
概述
A non-uniform rational b-spline (NURBS) surface is represented. The poles
array is constructed as follows. Each row is a u spline and each column is a
v spline, stored in row-major order. U indexes the columns and v indexes the
rows. The subscript into the poles array for any given pole defining the
surface is obtained as follows:

subscr = (num_poles_u v + u)
poles[subscr][0] = x coordinate
poles[subscr][1] = y coordinate
poles[subscr][2] = z coordinate
poles[subscr][3] = weight

In each direction, the number of knots = num_poles + order. The x, y, and z
coordinates are weighted.

A periodic NURBS surface in one or both directions is one that closes with
the same location and tangent vectors at the matching edges. Open C API
determines periodicity from the bsurface data.

Note that this structure is identical to UF_MODL_bsurface_s.


Data Members

num_poles_u
int
The number of control points(poles) in the
u direction.

num_poles_v
int
The number of control points(poles) in the
v direction.

order_u
int
The order (degree +1) of the basis functions in
the u direction.

order_v
int
The order (degree +1) of the basis functions in
the v direction.

is_rational
logical
True if the surface is rational (the weights
are not all equal).

knots_u
double *
Knot vector for the u direction.

knots_v
double *
Knot vector for the v direction.

poles) [ 4 ]
double (*
An array of the control points (poles).