.\"##
.\" $XConsortium: p409,v 5.2 94/04/17 20:59:14 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation for any purpose and without fee is hereby granted, 
.\"## provided that the above copyright notice appear in all copies and that
.\"## both that copyright notice and this permission notice appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.\" t
.TH "PHIGS TRAVERSAL STATE LIST" 7P "29 February 1991"
.SH NAME
PHIGS TRAVERSAL STATE LIST \- contains all transient information
\s-2PEX-SI\s+2 uses
during traversal
.IX "PHIGS TRAVERSAL STATE LIST"
.IX "TRAVERSAL STATE LIST"
.SH DESCRIPTION
.LP
The \s-2PHIGS\s+2 Traversal State List is created whenever a traversal is initiated,
and only exists during the traversal.
Hence, its values cannot be inquired.
Traversal is the execution of a structure network.
Traversal begins with a structure posted to a workstation.
Structure elements are traversed sequentially.
The traversal state list is modified by executing attribute elements. 
.LP
The initial values in the traversal state list are either 
defined by the \s-2PHIGS\s+2 standard, or are implementation
dependent.
These values are inherited by a posted structure.
Whenever an \s-2EXECUTE STRUCTURE\s+2 element is traversed,
the executed structure, or \fIchild\fP structure,
.I inherits
the attributes of the \fIparent\fP structure; that is, 
the structure invoking (executing or referencing) it.
Different parent structures can assign different attribute values.
.LP
The
.I child
structure's attributes are then modified by attribute elements as they
are sequentially executed.
The child structure may also execute
subordinate structures, at which point the calling structure is considered
the parent of this generation.
At the end of the child structure (i.e.,
after its last element), traversal returns to the parent structure,
restoring the saved state of the parent structure, and continues until the end of the
parent structure.
This continues until the entire structure network is
traversed (i.e., until traversal of the posted structure is complete).
The modifications to the child's structure do not affect the
parent structure's attributes.
Traversal state list values may be said to
.I expire
at the end of the structure in which they are set,
as traversal of the parent structure resumes.
.\".LP
.\"A called subroutine can use local variables with the same names as
.\"in the calling routine, and the values in the calling routine
.\"will not be affected. Similarly, an executed structure cannot
.\"affect its caller's attributes.
.LP
The values in the traversal state list are
.I bound
to primitives as the primitive elements are sequentially executed.
.SS Data Type Abbreviations
.nf
.ta +.5i +2i +.75i
I	Integer	GCOLR	General Colour\(dg	
R	Real	V2/V3	2D/3D Vector
E	Enumeration Type	P3	3D Point
L(type)	List of values of a given type	SET(NM)	Set of Eligible Names
MCV	Modelling Clipping Volume	(nys)	Not Yet Supported	
.fi
.SS \s-2PEX-SI\s+2 Traversal State List
.TS
box,tab(@),expand;
cfBI | cfBI | cfBI
l l l.
Traversal State List Entry@Data Type@Default or Initial Value
_
polyline index@I@1
linetype@I@1
linewidth scale factor@R@1.0
polyline colour index@I@1
polyline colour\(dg@GCOLR@(INDIRECT,1)
linetype ASF@E@INDIVIDUAL
linewidth scale factor ASF@E@INDIVIDUAL
polyline colour index ASF@E@INDIVIDUAL
 @ @
polyline shading method\(dg@I@1 (NONE)
curve approximation criteria type\(dg@I@1 (Workstation Dependent)
curve approximation criteria value\(dg@R@1.0
polyline shading method ASF\(dg@E@INDIVIDUAL
curve approximation criteria ASF\(dg@E@INDIVIDUAL
.TE
.FS
\(dg This is a \s-2PHIGS\s+2 Extension\fP based on \s-2PHIGS PLUS\s+2
and is not a part of the \s-2PHIGS\s+2 standard.
.FE
.bp
.SS \s-2PHIGS\s+2 Traversal State List (continued)
.TS
box,tab(@),expand;
cfBI | cfBI | cfBI
l l l.
Traversal State List Entry@Data Type@Default or Initial Value
_
polymarker index@I@1
marker type@I@3
marker size scale factor@R@1.0
polymarker colour index@I@1
polymarker colour\(dg@GCOLR@(INDIRECT,1)
marker type ASF@E@INDIVIDUAL
marker scale factor ASF@E@INDIVIDUAL
polymarker colour index ASF@E@INDIVIDUAL
@ @
text index@I@1
text font@I@T{
1 (Monospaced Roman Simplex)
T}
text precision@E@STRING
character expansion factor@R@1.0
character spacing@R@0.0
text colour index@I@1
text colour\(dg@GCOLR@(INDIRECT,1)
text font ASF@E@INDIVIDUAL
text precision ASF@E@INDIVIDUAL
character expansion factor ASF@E@INDIVIDUAL
character spacing ASF@E@INDIVIDUAL
text colour index ASF@E@INDIVIDUAL
@ @
character height@R@0.01
character up vector@V2@(0.0,1.0)
character width@R@0.01
character base vector@V2@(1.0,0.0)
text path@E@RIGHT
text alignment (horz & vert)@2\(muE@(NORMAL,NORMAL)
@ @
annotation text character height@R@0.01
annotation text character up vector@V2@(0.0,1.0)
annotation text character width@R@0.01
annotation text character base vector@V2@(1.0,0.0)
annotation text path@E@RIGHT
annotation text alignment (horz & vert)@2\(muE@(NORMAL,NORMAL)
annotation style@I@1 (unconnected)
@ @
.TE
.FS
\(dg This is a \fI\s-2PHIGS\s+2 Extension\fP based on \s-2PHIGS PLUS\s+2
and is not a part of the \s-2PHIGS\s+2 standard.
.FE
.br
.bp
.SS \s-2PHIGS\s+2 Traversal State List (continued)
.TS
box,tab(@),expand;
cfBI | cfBI | cfBI
l l l.
Traversal State List Entry@Data Type@Default or Initial Value
_
interior index@I@1
interior style@E@HOLLOW
back interior style\(dg@E@HOLLOW
interior style index@I@1
back interior style index\(dg@I@1
interior colour index@I@1
interior colour\(dg@GCOLR@(INDIRECT,1)
back interior colour\(dg@GCOLR@(INDIRECT,1)
interior style ASF@E@INDIVIDUAL
back interior style ASF\(dg@E@INDIVIDUAL
interior style index ASF@E@INDIVIDUAL
back interior style index ASF\(dg@E@INDIVIDUAL
interior colour index ASF@E@INDIVIDUAL
back interior colour ASF\(dg@E@INDIVIDUAL
 @ @
ambient reflection coefficient\(dg@R@1.0
back ambient reflection coefficient\(dg@R@1.0
diffuse reflection coefficient\(dg@R@1.0
back diffuse reflection coefficient\(dg@R@1.0
specular reflection coefficient\(dg@R@1.0
back specular reflection coefficient\(dg@R@1.0
specular colour\(dg@GCOLR@(INDIRECT,1)
back specular colour\(dg@GCOLR@(INDIRECT,1)
specular exponent\(dg@R@0.0
back specular exponent\(dg@R@0.0
interior shading method\(dg@I@1 (NONE)
back interior shading method\(dg@I@1 (NONE)
interior reflectance equation\(dg@I@1 (NONE)
back interior reflectance equation\(dg@I@1 (NONE)
area properties ASF\(dg@E@INDIVIDUAL
back area properties ASF\(dg@E@INDIVIDUAL
interior shading method ASF\(dg@E@INDIVIDUAL
back interior shading method ASF\(dg@E@INDIVIDUAL
interior reflectance equation ASF\(dg@E@INDIVIDUAL
back interior reflectance equation ASF\(dg@E@INDIVIDUAL
 @ @
surface approximation criteria type\(dg@I@1 (Workstation Dependent)
surface approximation criteria value\(dg@2\(muR@(1.0,1.0)
surface approximation criteria ASF\(dg@E@INDIVIDUAL
 @ @
face distinguishing mode\(dg@E@NO
face culling mode\(dg@E@NONE
.TE
.FS
\(dg This is a \fI\s-2PHIGS\s+2 Extension\fP based on \s-2PHIGS PLUS\s+2
and is not a part of the \s-2PHIGS\s+2 standard.
.FE
.bp
.SS \s-2PHIGS\s+2 Traversal State List (continued)
.TS
box,tab(@),expand;
cfBI | cfBI | cfBI
l l l.
Traversal State List Entry@Data Type@Default or Initial Value
_
depth cue index\(dg@I@0
 @ @
colour mapping index\(dg@I@0
rendering colour model\(dg@I@0
light source state\(dg@L(I)@empty
 @ @
edge index@I@1
edge flag@E@OFF
edgetype@I@1
edgewidth scale factor@R@1.0
edge colour index@I@1
edge colour\(dg@GCOLR@(INDIRECT,1)
edge flag ASF@E@INDIVIDUAL
edgetype ASF@E@INDIVIDUAL
edgewidth scale factor ASF@E@INDIVIDUAL
edge colour index ASF@E@INDIVIDUAL
 @ @
pattern size@2\(muR@(1.0,1.0)
pattern reference point@P3@(0.0,0.0,0.0)
pattern reference vectors@2\(muV3@(1.0,0.0,0.0) (0.0,1.0,0.0)
 @ @
pick identifier@I@0
view index@I@0
HLHSR identifier@I@0
name set@SET(NM)@no classes (empty set)
global modelling transformation@4\(mu4\(muR@Identity
local modelling transformation@4\(mu4\(muR@Identity
modelling clipping volume@MCV@all of WC
modelling clipping indicator@E@NOCLIP
.TE
.FS
\(dg This is a \fI\s-2PHIGS\s+2 Extension\fP based on \s-2PHIGS PLUS\s+2
and is not a part of the \s-2PHIGS\s+2 standard.
.FE
.br
.FS
\(dd
This is a \s-2PHIGS\s+2-specific item of traversal state. 
See the appropriate \s-2GSE\s+2 man page.
.FE
.br
.FS
* Zero is workstation dependent.
.FE
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "PHIGS DESCRIPTION TABLE (7P)"
.SM "EXECUTE STRUCTURE (3P)"
.SM "INQUIRE ANCESTORS OF STRUCTURE (3P)"
.SM "INQUIRE DESCENDANTS OF STRUCTURE (3P)"
.SM "ELEMENT SEARCH (3P)"
.fi


