[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]
The graPHIGS Programming Interface : Subroutine Reference
GPNBC2 - Non-Uniform B-Spline Curve 2
GPNBC2
(order,
npoint,
knot,
tflags,
tdata,
cflags,
cwidth,
ctlpts,
tmin,
tmax) |
Purpose
Use
GPNBC2 to insert a Non-Uniform
B-Spline Curve 2 structure element into the open
structure following the element pointer or to replace the
element pointed at by the element pointer with a
Non-Uniform B-Spline Curve 2 structure element
depending on the current edit mode.
During structure traversal, the graPHIGS API uses the specified
coefficients to generates a a non-uniform
B-spline curve of the specified order.
The graPHIGS API draws the curve only over the parameter
range specified.
Polyline attributes are applied to this primitive.
GPNBC2 is identified as GDP 1034.
Note:
Not all GDPs are supported on all workstations.
Use the Inquire List of Generalized Drawing Primitives
(GPQGD)
subroutine
to determine the GDPs supported by an opened workstation.
See also the workstation description in
The graPHIGS Programming Interface: Technical Reference
Parameters
- order -- specified by user, fullword integer
Curve order (>=2)npoint -- specified by user, fullword integer
Number of control points (>=
order)knot -- specified by user,
array of short floating-point numbers
Knot Vector.
This array must contain
order+
npoint
floating-point numbers representing a
non-decreasing sequence of knot values in the
parametric space.tflags -- specified by user, fullword integer
Tessellation quality value flags.
This parameter shows whether or not the tessellation quality value
is specified in the
tdata parameter.
- Value
- Meaning
0
Not specified.1
Specified.
tdata -- specified by user,
array of short floating-point numbers
Array of tessellation quality values.
When the
tflags parameter is set to
a value of one, this array must
contain
npoint-
order+1
tessellation quality values.
These value are used in conjunction with Curve
Approximation Criteria method 8 to control the number of
line segments that are generated for each curve span.
The number of line segments generated for this span is
approximately the product of this value and the Curve
Approximation Criteria control value in the traversal state
list.cflags -- specified by user, fullword integer
Control point optional data flags.
This parameter shows what data is specified for each control
point.
The value specified should be the sum of the following
values based on the fields that are specified in the
ctlpts parameter.
- Value
- Meaning
- 0
- Control point coordinates.
- 1
- Weight for each control point.
This produces the rational form of the Non-Uniform
B-Spline Curve.
cwidth -- specified by user, fullword integer
Number of words between subsequent entries of the
ctlpts parameter.ctlpts -- specified by user,
array of short floating-point numbers (MC)
Control point data.
This array must contain
npoint entries.
The minimum required width and content of each entry depends
on the value of parameter
cflags
The fields must be specified in the order defined below and
no space is allowed between those that are present.
- Control point coordinates --
2 short floating-point numbers
This field must always be present.
Therefore, the cwidth parameter must be at least two.
- Weight -- 1 short floating-point number
Each weight W must be greater than zero when
specified.
If this field is specified, the cwidth parameter
must be at least three.
Note: When W is specified, the control points are not in
homogeneous form (i.e.,
XW,
YW,
W)
They are specified after division by
W or
(X,
Y,
W)
tmin -- specified by user,
short floating-point number
The minimum parameter value at which the curve is
evaluated.
The curve is evaluated at parameter values between
tmin and
tmax inclusive.
This value must be greater than or equal to the value of
knot
ordertmax -- specified by user,
short floating-point number
The maximum parameter value at which the curve is
evaluated.
The curve is evaluated at parameter values between
tmin and
tmax inclusive.
This value must be less than or equal to the value of knot
npoint+1.
Error Codes
- 5
- FUNCTION REQUIRES STATE STOP OR NROP (NOT STCL)
- 341
- ORDER OF BASIS FUNCTION < TWO
- 342
- ORDER IS GREATER THAN NUMBER OF CONTROL POINTS
- 343
- KNOT VECTOR IS INVALID
- 345
- WEIGHT IN CONTROL POINT IS <= ZERO
- 347
- PARAMETER LIMITS ARE OUTSIDE VALID PARAMETER RANGE
- 348
- MINIMUM PARAMETER LIMIT > MAXIMUM
- 351
- OPTIONAL DATA AVAILABILITY FLAG IS INVALID
- 362
- TESSELLATION CONTROL VALUE IS INVALID
- 557
- WIDTH PARAMETER < MINIMUM ALLOWED
Related Subroutines
- GPCAC
- Set Curve Approximation Criteria
- GPLT
- Set Linetype
- GPLWSC
- Set Linewidth Scale Factor
- GPPLCD
- Set Polyline Color Direct
- GPPLCI
- Set Polyline Color Index
- GPPLET
- Set Polyline End Type
- GPPLI
- Set Polyline Index
- GPQCDF
- Inquire Curve Display Facilities
RCP code
201341954
(X'0C003C02')
[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]