Controls the shape of a NURBS surface
FORTRAN (libfgl.a)
void nurbssurface (Int32 s_knot_count, Float64 s_knots[], Int32 t_knot_count, Float64 t_knots[], Int32 s_stride, Int32 t_stride, Float64 *ctlarray, Int32 s_order, Int32 t_order, Int32 type)
SUBROUTINE NURBSS(s_knot_count, s_knots, t_knot_count, t_knots, s_stride, t_stride, ctlarray, s_order, t_order, type) INTEGER*4 s_knot_count, t_knot_count REAL*8 s_knots(s_knot_count) REAL*8 t_knots(t_knot_count) INTEGER*4 s_stride, t_stride INTEGER*4 s_order, t_order, type REAL*8 ctlarray(*)
The nurbssurface subroutine controls the shape of a Non-Uniform Rational B-Spline (NURBS) surface. Use this subroutine within a NURBS surface definition to describe the shape of a NURBS surface before any trimming takes place. To mark the beginning and end of a NURBS surface definition, use the bgnsurface and endsurface subroutines. Call the nurbssurface subroutine only within a NURBS surface definition.
You can trim a NURBS surface by using the nurbscurve and pwlcurve subroutines between calls to the bgntrim and endtrim subroutines.
The system renders a NURBS surface as a polygonal mesh and analytically calculates normal vectors at the corners of the polygons within the mesh. Therefore, your program should specify a lighting model when it uses NURBS surfaces, otherwise much detailed surface information is lost. Use the lmdef and lmbind subroutines to define or modify materials and their properties.
Note: If backfacing is on, the system cannot correctly eliminate backfacing polygons on the surface.
This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.
/usr/include/gl/gl.h | Contains C language constant and variable type definitions for GL. |
/usr/include/gl/fgl.h | Contains FORTRAN constant and variable type definitions for GL. |
Marking the beginning and end of a NURBS surface definition with the bgnsurface and endsurface subroutines.
Marking the beginning and end of a NURBS surface trimming loop with the bgntrim and endtrim subroutines.
Returning the current value of a trimmed NURBS surfaces display property with the getnurbsproperty subroutine.
Controlling the shape of a NURBS trimming curve with the nurbscurve subroutine.
Describing a piecewise linear trimming curve for NURBS surfaces with the pwlcurve subroutine.
Setting a property for the display of trimmed NURBS with the setnurbsproperty subroutine.
AIX Graphics Library Overview and Drawing NURBS Curves and Surfaces.