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