Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pbss3(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

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