Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ define_trim(3G) — HP-UX 9.10

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

knot_vectors(3G)

spline(3G)

trimming_curve(3G)

NAME

trimming_curve − define a spline-trimming curve

SYNOPSIS

C Syntax:

void define_trimming_curve (fildes,plist,numpts,order,rational);
int fildes, numpts, order, rational;
float plist[];

FORTRAN77 Syntax:

subroutine define_trimming_curve (fildes,plist,numpts,order,rational)
integer*4 fildes, numpts, order, rational
real plist (numpts*(2+rational))

Pascal Syntax:

procedure define_trimming_curve (fildes:integer;
var plist array [lo..hi:integer] of real;
numpts, order, rational:integer);

DESCRIPTION

Input Parameters

fildes Integer file descriptor returned by gopen when an I/O path to a graphics device is opened. 

numpts Number of points in the plist array. 

plist Array of spline control points in u v space. 

order Trimming curve order:
LINEAR = 2, QUADRATIC = 3, CUBIC = 4, QUARTIC = 5, QUINTIC = 6. 

rational Specifies whether the trimming curve is RATIONAL (1) or NONRATIONAL (0). 

Discussion

define_trimming_curve specifies a spline curve of the specified order, using the points in the plist array as control points and the current u knot vector.  The control points are specified in u and v coordinate space.  All defined trimming curves are used for trimming the next surface drawn with the spline_surface procedure.  These trimming curves are then deleted. 

If trimming curves have been defined, a determination of whether the (umin,vmin) point of the u v mesh is visible or not is made by examining the first and last control points of each curve.  If one of these control points is at (umin,vmin), the point is assumed to be visible. Otherwise, it is treated as invisible.  When following a trimming curve from point to point, the visible portion of the surface is assumed to be on the left. 

Combinations of trimming curves must form closed loops.  One trimming curve joins the next if its last control point is equal to the first control point of the next trimming curve and if a u_knot vector has been defined, or bezier_knots are being used.  If trimming curves intersect, unpredictable results occur.  A surface-bounding trimming curve must be provided if the edge of the surface is visible and there are trimming curves interior to the surface. 

DEFAULTS

No trimming curves are defined. 

SEE ALSO

knot_vectors(3G), spline(3G), Starbase Graphics Techniques. 

Hewlett-Packard Company  —  HP-UX Release 9.10: April 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026