TSCENE (SCENID, NUMST,IDLIST, VIEWID)
INTEGER SCENID INTEGER NUMST INTEGER IDLIST (numst) INTEGER VIEWID
When drawing a scene (with PRST or PPOST) on an open workstation, the scene structures are drawn in the order given in the list called IDLIST: the first structure drawn is IDLIST(1), the second is IDLIST(2), etc. The scene is in fact a PHIGS structure itself, with the identifier SCENID, referring to the set of structures whose identifier is IDLIST.
The scene structure is organized as follows:
LABEL 0
the set of default attributes valid for all the primitives of the scene.
LABEL IDLIST(1)
refers to the structure whose identifier is IDLIST(1)
LABEL IDLIST(2)
refers to the structure whose identifier is IDLIST(2)
.
.
.
LABEL IDLIST(NS)
refers to the structure whose identifier is IDLIST(NUMST)
LABEL -999
This organization makes it possible to give general graphic attributes for all the primitives of the scene, and also to give a graphic attribute that is valid only for certain structures (see the section on "Graphic Attributes of Structures").
Examples:
If all text primitives must use character font number-12 , we could write this sequence:
CALL TSCENE (SCENID,...)
CALL TSTXFN (SCENID,0,-12)
If all polyline primitives from the structure IDLIST(3) to the structure IDLIST(NUMST) must use colour index number 14, we could write this sequence:
CALL TSCENE (SCENID,...)
CALL TSPLCI (SCENID,IDLIST(3),14)
In the same way, we could indicate which scene structures should have their primitive clipped at the limits of the domain defined by TDOMA2 or TDOMA3. If we want all structures to be clipped, we would write:
CALL TSCENE (SCENID,...)
CALL TSMCLI (SCENID, 0, PCLIP)
If only structure IDLIST(15) is to be clipped, we would write:
CALL TSCENE (SCENID,...)
CALL TSMCLI (SCENID, IDLIST(15), PCLIP)
CALL TSMCLI (SCENID, IDLIST(16), PNCLIP)