Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dcinst(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DCINST(3g)  —  Subroutines

Name

DCINST − Includes the structure if the specified condition is met. 

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

Syntax

DCINST (STRUCT, METHOD, LDR, DATREC)

Argument     Data Type       Access   Description
---------------------------------------------------------------------------
STRUCT       Integer         Read     Identifier of the structure to
                                      include
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

DCINST includes the specified structure if the specified condition is met.  If the specified structure does not exist, Digital PHIGS creates a new empty 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 include structure element. 

When Digital PHIGS interprets a conditional include structure element, it performs the following tasks:

•Digital PHIGS executes the test method. 

•If the test fails, Digital PHIGS continues traversing the current structure at the next element. 

•If the test is successful, Digital PHIGS suspends structure traversal and performs the following actions:

•Saves the structure identifier associated with the current structure

•Makes the structure identifier associated with the element the current identifier

•Completely traverses the structure network associated with the element

•Restores the structure identifier of the current structure

•Resumes traversing the current structure

Digital PHIGS considers the elements of the included structure as part of the parent structure. 

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