Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dcrec(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DCREC(3g)  —  Subroutines

Name

DCREC − Stops traversing the current structure if the specified condition is met. 

Operating States: PHOP, ∗, STOP, ∗
Digital PHIGS extension function
Creates a structure element

Syntax

DCREC (METHOD, LDR, DATREC)

Argument     Data Type       Access   Description
---------------------------------------------------------------------------
METHOD       Integer         Read     Test method
LDR          Integer         Read     Length of the data record
DATREC       Array of        Read     Test data record
             character ∗80
---------------------------------------------------------------------------

Constants

Defined Argument     Constant      Description
---------------------------------------------------------------------------
METHOD               PTMTAF        Always fail.
                     PTMTAS        Always succeed.
                     PTMTE3        This method contains a rectangular
                                   parallelepiped, a relation, and a
                                   threshold.  Digital PHIGS compares the
                                   maximum of the differences between the
                                   minimum and maximum x, y, and z values
                                   against the threshold, using the
                                   specified relation.  If the relationship
                                   is satisfied, the test is successful.
                     PTMTE         This method contains a rectangle, a
                                   relation, and a threshold.  Digital PHIGS
                                   compares the maximum of the differences
                                   between the minimum and maximum x and y
                                   values against the threshold, using the
                                   specified relation.  If the relationship
                                   is satisfied, the test is successful.
                     PTMBD3        This method contains a description of a
                                   test object and a clip condition.  The
                                   test determines if the object will be
                                   clipped by Digital PHIGS.  If the clip
                                   condition is satisfied, the test is
                                   successful.
                     PTMBD         This method contains a description of a
                                   test object and a clip condition.  The
                                   test determines if the object will be
                                   clipped by Digital PHIGS.  If the clip
                                   condition is satisfied, the test is
                                   successful.
                     PTMNMS        This method compares the specified filter
                                   against the current name set.  If the
                                   result matches the specified filter
                                   condition, the test is successful.
                     PTMAIA        This method compares the specified
                                   application attribute to the threshold,
                                   using the specified relation.  If the
                                   relationship is satisfied, the test is
                                   successful.  Tests against undefined
                                   application attributes always fail.
                     PTMARA        This method compares the specified
                                   application attribute to the threshold,
                                   using the specified relation.  If the
                                   relationship is satisfied, the test is
                                   successful.  Tests against undefined
                                   application attributes always fail.
Test relations       PTRLEQ        Equal to.
and comparisons
                     PTRLNE        Not equal to.
                     PTRLGT        Greater than.
                     PTRLLT        Less than.
                     PTRLGE        Greater than or equal to.
                     PTRLLE        Less than or equal to.
                     PTRGA         Bitwise AND.
                     PTRGO         Bitwise OR.
                     PTRGX         Bitwise XOR.
Clip conditions      PCCNC         Not clipped.
                     PCCPC         Partially clipped.
                     PCCFC         Fully clipped.
Filter conditions    PFCFLF        Condition was not met.
                     PFCFLP        Condition was met.
Filter types         PFTINV        Invisibility filter.
                     PFTHL         Highlighting filter.
                     PFTPK         Pick filter.
                     PFTAPP        Application filter.
---------------------------------------------------------------------------

Description

DCREC stops traversing the current structure if the specified condition is met.  If the structure being traversed is a child structure, Digital PHIGS continues traversal with the next element of the parent structure.  If the test fails, Digital PHIGS does nothing, and continues traversing the next element in the current structure. 

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 conditional return element. 

If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element. 

Digital PHIGS Version 3.1 does not support this function.

Data Record Information

If METHOD is PTMTAF or PTMTAS, there is no data record. 

If METHOD is PTMTE3, the data record format is as follows:

INTEGER IL     = 1   Number of integers
INTEGER IA(1)        Test relation
INTEGER RL     = 7   Number of reals
REAL    RA(1)        Minimum x extent of the parallelepiped
REAL    RA(2)        Maximum x extent of the parallelepiped
REAL    RA(3)        Minimum y extent of the parallelepiped
REAL    RA(4)        Maximum y extent of the parallelepiped
REAL    RA(5)        Minimum z extent of the parallelepiped
REAL    RA(6)        Maximum z extent of the parallelepiped
REAL    RA(7)        Threshold
INTEGER SL     = 0   Number of strings

If METHOD is PTMTE, the data record format is as follows:

INTEGER IL     = 1   Number of integers
INTEGER IA(1)        Test relation
INTEGER RL     = 5   Number of reals
REAL    RA(1)        Minimum x extent of the parallelepiped
REAL    RA(2)        Maximum x extent of the parallelepiped
REAL    RA(3)        Minimum y extent of the parallelepiped
REAL    RA(4)        Maximum y extent of the parallelepiped
REAL    RA(5)        Threshold
INTEGER SL     = 0   Number of strings

If METHOD is PTMBD3, the data record format is as follows:

INTEGER IL              = 2+IA(1)       Number of integers
INTEGER IA(1)                           Number of point lists
INTEGER IA(2)                           Clip condition
INTEGER IA(3)...IA(IL)                  Array of values specifying the index
                                            into the vertex lists of the
                                            x-component of the last
                                            vertex of each fill area in the
                                            fill area set
INTEGER RL              = 3∗IA(IL)      Number of reals
REAL    RA(1)...RA(IA(IL))              List of x components
REAL    RA(IA(IL)+1)...RA(2∗IA(IL))     List of y components
REAL    RA(2∗IA(IL)+1)...RA(3∗IA(IL))   List of z components
INTEGER SL              = 0             Number of strings

If METHOD is PTMBD, the data record format is as follows:

INTEGER IL              = 2+IA(1)       Number of integers
INTEGER IA(1)                           Number of point lists
INTEGER IA(2)                           Clip condition
INTEGER IA(3)...IA(IL)                  Array of values specifying the index
                                            into the vertex lists of the
                                            x-component of the last
                                            vertex of each fill area in the
                                            fill area set
INTEGER RL              = 2∗IA(IL)      Number of reals
REAL    RA(1)...RA(IA(IL))              List of x components
REAL    RA(IA(IL)+1)...RA(2∗IA(IL))     List of y components
INTEGER SL              = 0             Number of strings

If METHOD is PTMNMS, the data record format is as follows:

INTEGER IL    = 3    Number of integers
INTEGER IA(1)        Filter type
INTEGER IA(2)        Filter selection
INTEGER IA(3)        Filter condition
INTEGER RL    = 0    Number of reals
INTEGER SL    = 0    Number of strings

If METHOD is PTMAIA, the data record format is as follows:

INTEGER IL    = 3    Number of integers
INTEGER IA(1)        Attribute selector
INTEGER IA(2)        Test comparison
INTEGER IA(3)        Value
INTEGER RL    = 0    Number of reals
INTEGER SL    = 0    Number of strings

If METHOD is PTMARA, the data record format is as follows:

INTEGER IL    = 3    Number of integers
INTEGER IA(1)        Attribute selector
INTEGER IA(2)        Test comparison
INTEGER RL    = 1    Number of reals
REAL RA(1)    =      Value
INTEGER SL    = 0    Number of strings

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