.\"##
.\" $XConsortium: p338,v 5.2 94/04/17 20:58:22 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.
.TH "SET LINETYPE" 3P "29 February 1991"
.SH NAME
SET LINETYPE \- create structure element to set the current linetype attribute
.IX "Aspect Source Flags" "SET LINETYPE"
.IX "Line Attributes" "SET LINETYPE"
.IX "Attributes, Line Attributes" "SET LINETYPE"
.IX "Textured Lines" "SET LINETYPE"
.IX "Patterned Lines" "SET LINETYPE"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pset_linetype ( linetype )
Pint	linetype;	\fIlinetype\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
\s-2SET LINETYPE\s+2 creates a structure element
containing a value for the current linetype attribute.  
When the current linetype \s-2ASF\s+2 (Aspect Source Flag) 
is set to \s-2INDIVIDUAL\s+2, the attribute defines the linetype 
to be applied to the following output primitives:  
.RS
.LP
\(bu
.SM POLYLINE
.LP
\(bu
.SM "POLYLINE 3"
.LP
\(bu
.SM "POLYLINE SET 3 WITH DATA"
.LP
\(bu
.SM "NON-UNIFORM B-SPLINE CURVE"
.RE
.LP
If the current edit mode is \s-2INSERT\s+2, then 
a \s-2SET LINETYPE\s+2 element is inserted into the currently open
structure after the element pointed to by the current element pointer.  If
the edit mode is \s-2REPLACE\s+2, then the new \s-2SET LINETYPE\s+2 element
replaces the element pointed to by the element pointer.  In either case, the
element pointer is updated to point to the new element.  
.SS C Input Parameter
.IP \fIlinetype\fP
An integer value specifying a \fIlinetype\fP;  
the following line types are defined:
.nf
.ta .5i +.5i +1.5i +1i
.sp .2
	1	PLINE_SOLID	\fISolid\fP
	2	PLINE_DASH	\fIDashed\fP
	3	PLINE_DOT	\fIDotted\fP
	4	PLINE_DOT_DASH	\fIDot-dashed\fP
.sp .2
.fi
Support for \fIlinetypes\fP is workstation dependent.
.SS Execution
When the \s-2SET LINETYPE\s+2 element is traversed, the current linetype
entry in the \s-2PHIGS\s+2 traversal state list is set to \fIlinetype\fP.  
When the current linetype ASF is set to
\s-2INDIVIDUAL\s+2, line output primitives which follow in
the structure network will be drawn with the \fIlinetype\fP specified.  
.LP
When the current linetype ASF is set to \s-2BUNDLED\s+2,
the effective linetype is
the linetype attribute in the polyline representation selected by
the current polyline index.  
In this case, the \fIlinetype\fP set with \s-2SET LINETYPE\s+2 has no effect.  
.LP
If the \fIlinetype\fP specified is not available on the workstation,
linetype 1 (\fISolid\fP) will be used.
.SH ERRORS
.IP 005
Ignoring function, function requires state 
(\s-2PHOP\s+2, \s-2*\s+2, \s-2STOP\s+2, \s-2*\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET INDIVIDUAL ASF (3P)"
.SM "SET POLYLINE REPRESENTATION (3P)"
.SM "INQUIRE POLYLINE REPRESENTATION (3P)"
.SM "POLYLINE (3P)"
.SM "POLYLINE 3 (3P)"
.SM "POLYLINE SET 3 WITH DATA (3P+)"
.SM "NON-UNIFORM B-SPLINE CURVE (3P+)"
.fi
