PBSS3(3g) — Subroutines
Name
PBSS3 − Specifies the 3D form of the nonuniform B-spline surface primitive.
Operating States: PHOP, ∗, STOP, ∗
PHIGS PLUS function
Creates a structure element
Old Syntax
DNUBSS (UORDER, VORDER, UNCP, VNCP, UNKN, VNKN, UKNOTS, VKNOTS,
RATSEL, PXA, PYA, PZA, PWA, UMIN, UMAX, VMIN, VMAX, LDR, DATREC)
Argument Data Type Access Description
---------------------------------------------------------------------------
UORDER Integer Read Order of U curve
VORDER Integer Read Order of V curve
UNCP Integer Read U number of control points
VNCP Integer Read V number of control points
UNKN Integer Read U number of knots
VNKN Integer Read V number of knots
UKNOTS(UNKN) Array of Read U knot vector
reals
VKNOTS(VNKN) Array of Read V knot vector
reals
RATSEL Integer Read Type of control points
PXA(UNCP ∗ Array of Read Control points x
VNCP) reals
PYA(UNCP ∗ Array of Read Control points y
VNCP) reals
PZA(UNCP ∗ Array of Read Control points z
VNCP) reals
PWA(UNCP ∗ Array of Read Control points w
VNCP) reals
UMIN Real Read Minimum parameter value for evaluation
of U
UMAX Real Read Maximum parameter value for evaluation
of U
VMIN Real Read Minimum parameter value for evaluation
of V
VMAX Real Read Maximum parameter value for evaluation
of V
LDR Integer Read Dimension of the trim curve data record
array
DATREC(LDR) Array of Read Trim curve data record
character ∗80
--------------------------------------------------------------------------
New Syntax
PBSS3 (USORD, VSORD, UNKA, VNKA, UKNOTS, VKNOTS, RTYPE, UNCP,
VNCP, PXA, PYA, PZA, PWA, TCLDR, TCREC)
Argument Data Type Access Description
---------------------------------------------------------------------------
USORD Integer Read U spline order
VSORD Integer Read V spline order
UNKA Integer Read Number of knots for U
VNKA Integer Read Number of knots for V
UKNOTS(UNKA) Array of Read U knots
reals
VKNOTS(VNKA) Array of Read V knots
reals
RTYPE Integer Read Rationality
UNCP Integer Read U number of the control points
dimension
VNCP Integer Read V number of the control points
dimension
PXA(UNCP ∗ Real Read Control points, in modeling
VNCP) coordinates
PYA(UNCP ∗
VNCP)
PZA(UNCP ∗
VNCP)
PWA(UNCP ∗
VNCP)
TCLDR Integer Read Number of array elements used in
TCREC
TCREC(TCLDR) Character ∗80 Read Trimming curve data record
--------------------------------------------------------------------------
Constants
Defined Argument Constant Description
---------------------------------------------------------------------------
Trimming curve PWDCA Workstation-dependent method
approximation types
PCBKCA Constant parametric subdivision between
knots
PCSWCA Metric, in world coordinates
PCSNCA Metric, in normalized projection
coordinates
PCSDCA Metric, in device coordinates
PCDWCA Chordal deviation, in world coordinates
PCDNCA Chordal deviation, in normalized
projection coordinates
PCDDCA Chordal deviation, in device coordinates
PRWCA Relative, in world coordinates
PRNCA Relative, in normalized projection
coordinates
PRDCA Relative, in device coordinates
DCSDCA Constant subdivision
DIDCA Implementation-dependent method
RTYPE PRAT Rational (4D) control points
PNRAT Nonrational (3D) control points
--------------------------------------------------------------------------
Description
PBSS3 specifies the three-dimensional form of the nonuniform B-spline surface primitive. It determines the surface area attributes of the nonuniform B-spline curve. For example, it might determine the color of the nonuniform B-spline surface.
Depending on the current edit mode, this function either inserts the new structure element directly after the element indicated by the pointer or replaces the element indicated by the pointer. The pointer then points to the new nonuniform B-spline surface 3 element.
During structure traversal, the fill area set 3 primitive attributes provide additional data. Digital PHIGS computes the curve approximation criteria, and draws a nonuniform B-spline surface. This function fully specifies the three-dimensional nonuniform B-spline surface primitive. The surface U and V orders must be positive integers. The U knots and the V knots must each form an increasing sequence of numbers. Note the following considerations when using this function:
•The type parameter may have the enumerated value PRAT or PNRAT. When PRAT is specified, the control points must be specified as homogeneous modeling coordinates. For a PNRAT type, the control points are ordinary PHIGS modeling coordinates.
•The control points in the U and V directions must be at least as large as the corresponding order. If not, Digital PHIGS generates a spline of order equal to the number of control points in the corresponding direction. The number of control points in each direction plus the corresponding spline order must equal the corresponding number of knots. Excess knot values or control points are ignored.
•At structure traversal, PHIGS draws a nonuniform B-spline surface primitive with the attributes used by PFAS3D, and the current curve approximation criteria. It uses these for argument values ranging from minimum and maximum (the TPARL argument to the PPTC function).
•Trimming curves define the surface parameter area to render. Digital PHIGS renders the rectangular parameter limits of the surface as the edges of the surface, based on the edge flag attribute when you have not specified any trimming curves.
•The trimming definition of a surface consists of a list of loops. Each of these loops is a list of one or more trimming curves, each of which is a nonuniform rational B-spline curve defined in the two-dimensional parameter space of the surface. The curves of a loop connect in a head-to-tail fashion. Each loop must be explicitly closed. If there is floating point inaccuracy in closure of trimming loops or head-to-tail connectivity between trimming curves, the implementation assumes closure or connectivity.
•Each trimming curve has a visibility flag that controls its visibility. When the edge flag attribute is off, trimming curves are not rendered as edges, though they may still be rendered where the interior style is HOLLOW.
If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element.
See PPTC and PUTC for a description of the trimming curve data record.
The new function syntax conforms to the ISO Fortran standard. Digital recommends that you code using the new function syntax.
Data Record Information
If the curve approximation criteria type is PWDCA, there is no data record.
If the curve approximation criteria type is PCBKCA or DCSDCA, the data record has the following format:
INTEGER IL = 1 Number of integer values
INTEGER IA(1) = Count
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()
If the curve approximation criteria type is PCSWCA, PCSNCA, PCSDCA, PCDWCA, PCDNCA, PCDDCA, PRWCA, PRNCA, or PRDCA, the data record has the following format:
IL = 0
IA = ()
RL = 1
INTEGER RA(1) = Approximation value
SL = 0
LSTR = ()
STR = 0
If the curve approximation criteria type is DIDCA, the data record has the following format:
IL = 0
IA = 0
RL = 1 Number of reals
RA(1) = Approximation value
SL = 0
LSTR = ()
STR = ()
See Also
PADS
PQCVF
PBSC3
PRES
PSBIC
PSBISM
PSBIS
PSBISI
PSBRFM
PSBRFP
PSDCI
PSEDC
PSEDCI
PSEDFG
PSEDI
PSEDT
PSEWSC
PSFCM
PSFDM
PSHRID
PSIASF
PSIC
PSICI
PSII
PSIP
PSISM
PSIS
PSISI
PSLSS
PSPKID
PSRFM
PSRFP
PSSAC
PSVWI