[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]
The graPHIGS Programming Interface : Subroutine Reference
GPCFA2 - Composite Fill Area 2
GPCFA2
(ncontour,
ncurve,
curveinfo,
knot,
tess,
vwidth,
vdata) |
Purpose
Use
GPCFA2 to insert a Composite Fill Area 2
structure element into the open structure following the
element pointer or to replace the element pointed at by the
element pointer with a Composite Fill Area 2 structure
element depending on the current edit mode.
During structure traversal, the planar area geometry
defined by the specified contours is drawn using the polygon
attributes in the traversal state list.
Each contour consists of one or more types of curves.
The normal on Composite Fill Area 2 is (0,0,1)
When the current edge flag is set to
2=ON
or
3=GEOMETRY_ONLY
, each curve with its boundary
flag
ON
is rendered as an edge of the area
geometry.
You must connect curves within a contour in a head to tail
fashion.
To ensure that the contour is closed, the graPHIGS API connects
each pair of curves by a straight line as is the first point
and the last point.
The boundary flag for the connecting line segment is determined
by the boundary flag of the preceding curve.
Polygon attributes are applied to this primitive.
GPCFA2 is identified as GDP 1027.
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
- ncontour -- specified by user, fullword integer
Number of contours to be generated
(>=0)ncurve -- specified by user,
array of fullword integers
Number of curves in each contour.
Each entry must be greater than or equal to one.
The length of this array is defined by the value of the
ncontour parameter.curveinfo -- specified by user,
array of 6 fullwords of data
Array containing information about each curve.
Each entry of this parameter must have the following fields
in this order.
However, for some curve types, one or more fields may be
ignored.
- Type of curve -- fullword integer
This field must contain one of the following values:
- 1 -
- Line Segments
- 2 -
- Elliptical Arc
- 3 -
- Non-Uniform B-Spline Curve
- Options -- fullword integer
This parameter specifies various options for the curve.
Each option is specified as a bit in this word.
The following bits are currently defined:
- Bit
- Meaning
- 0-28
- Reserved.
Must be set to zero.
- 29
- Tessellation quality flag.
This option is valid for the Non-Uniform
B-Spline Curve only.
If set, a tessellation quality value for each span of this
curve is specified in the
tess parameter.
- 30
- Weight flag.
This option is valid for the Non-Uniform
B-Spline Curve only.
If set, the curve is rational and the weight is specified
for each control point in the
vdata parameter.
- 31
- Boundary flag.
If set, the curve is treated as an edge of the composite
fill area.
- Order -- fullword integer
Order of the curve.
For each curve type, this parameter has the following meaning:
- 1 -
- Ignored.
- 2 -
- Ignored.
- 3 -
- Corresponds to the order parameter of the
Non-Uniform B-Spline Curve 2.
- Number of vectors -- fullword integer
Number of entries of the
vdata parameter used to
define the curve.
This parameter has the following meaning for each curve type:
- 1 -
- Corresponds to the
npoint parameter of Polyline 2.
The specified number's entries of the
vdata parameter
are used as its
pointlist parameter.
- 2 -
- Must be three.
Three entries of the
vdata parameter are used as
the center, first and second reference vectors of the
Elliptical Arc 2.
- 3 -
- Corresponds to the
npoint parameter of the
Non-Uniform B-Spline Curve 2.
The specified number's entries of the
vdata
parameter are used as its
ctlpts parameter.
- Start -- short floating-point number
The parameter value representing the start point of the
curve.
For each curve type, this parameter has the following
meaning:
- 1 -
- Ignored.
- 2 -
- Corresponds to the
startv parameter of the
Elliptical Arc 2.
- 3 -
- Corresponds to the
tmin parameter of the
Non-Uniform B-Spline Curve 2.
- End -- short floating-point number
The parameter value representing the end point of the
curve.
For each curve type, this parameter has the following
meaning:
- 1 -
- Ignored.
- 2 -
- Corresponds to the
endv parameter of the
Elliptical Arc 2.
- 3 -
- Corresponds to the
tmax parameter of the
Non-Uniform B-Spline Curve 2.
knot -- specified by user,
array of short floating-point numbers
Array of knot values.
This array must contain one list for each Non-Uniform
B-Spline curve within the
curveinfo
parameter.
For other curves, this array is not referenced.
The sequence of each list in this array is assumed to match
the order of the curve definitions in
curveinfo
The length of each list is equal to the
order
+
number of vectors
for the curve.tess -- specified by user,
array of short floating-point numbers
Array of tessellation quality values.
This array must contain one list for each Non-Uniform
B-Spline curve with a tessellation quality flag set
to a value of one (specified).
For other curves, this array is not referenced.
The sequence of each list in this array is assumed to match
the order of the curve definitions in
curveinfo
The length of each list is equal to the
number of
vectors
-
order + 1 of the curve.vwidth -- specified by user, fullword integer
Specifies the number of fullwords between each entry of
the array in
vdata
If there is any rational curve in the
curveinfo
parameter, this parameter must be at least three.
Otherwise, it must be larger than or equal to a value of two.vdata -- specified by user,
array of short floating-point numbers
This array must contain one list for each curve.
The sequence of each list in this array is assumed to match
the order of the curve definitions in
curveinfo
The length of each list is equal to the
number of
vectors
specified in the
curveinfo
parameter.
For each entry, the following fields are defined and the
fields must be specified in this order without any
gap:
- x and
y components --
- two short floating-point numbers
- weight --
- short floating-point number
Error Codes
- 5
- FUNCTION REQUIRES STATE STOP OR NROP (NOT STCL)
- 100
- NUMBER OF POINTS < ZERO
- 107
- REFERENCE VECTORS ARE COLINEAR
- 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
- 353
- NUMBER OF CONTOURS < ZERO
- 354
- NUMBER OF CURVES PER CONTOUR < ONE
- 355
- CURVE TYPE IS INVALID
- 361
- CURVE OPTIONS FIELD IS INVALID
- 362
- TESSELLATION CONTROL VALUE IS INVALID
- 557
- WIDTH PARAMETER < MINIMUM ALLOWED
Related Subroutines
- GPBICD
- Set Back Interior Color Direct
- GPBICI
- Set Back Interior Color Index
- GPBSCD
- Set Back Specular Color Direct
- GPBSCI
- Set Back Specular Color Index
- GPBSPR
- Set Back Surface Properties
- GPECD
- Set Edge Color Direct
- GPECI
- Set Edge Color Index
- GPEI
- Set Edge Index
- GPELT
- Set Edge Linetype
- GPESC
- Set Edge Scale Factor
- GPFDMO
- Set Face Distinguish Mode
- GPICD
- Set Interior Color Direct
- GPICI
- Set Interior Color Index
- GPII
- Set Interior Index
- GPIS
- Set Interior Style
- GPISI
- Set Interior Style Index
- GPLMO
- Set Lighting Calculation Mode
- GPLSS
- Set Light Source State
- GPPGC
- Set Polygon Culling
- GPSAC
- Set Surface Approximation Criteria
- GPSCD
- Set Specular Color Direct
- GPSCI
- Set Specular Color Index
- GPSPR
- Set Surface Properties
- GPTCAC
- Set Trimming Curve Approximation Criteria
RCP code
201345026
(X'0C004802')
[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]