.\"##
.\" $XConsortium: p367,v 5.2 94/04/17 20:58:43 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 POLYMARKER REPRESENTATION" 3P "29 February 1991"
.SH NAME
SET POLYMARKER REPRESENTATION \- define a \fIpolymarker\fP attribute bundle on a
workstation
.IX "Attribute Representations" "SET POLYMARKER REPRESENTATION"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.5i 3i
.nf
void
pset_marker_rep ( ws, index, rep )
Pint	ws;	\fIworkstation identifier\fP
Pint	index;	\fIpolymarker bundle index\fP
Pmarker_bundle	*rep;	\fIpolymarker representation pointer\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, WSOP, *, *)
.SH DESCRIPTION
.SS Purpose
\s-2SET POLYMARKER REPRESENTATION\s+2
defines a bundle of polymarker attributes
for a specified entry in the workstation's polymarker bundle table.  
.LP
Depending on the \s-2ASF\s+2 for each of the polymarker attributes,
the bundled attributes may apply to the following primitives:  
.RS
.LP
\(bu
.SM POLYMARKER
.LP
\(bu
.SM "POLYMARKER 3"
.RE
.SS C Input Parameters
.IP \fIws\fP
The identifier of the workstation for which the polymarker
representation is being defined.
.IP \fIindex\fP
The polymarker index of the entry being defined.
.IP \fIrep\fP
A pointer to a structure containing the 
attribute values defining the polymarker representation, defined as follows:
.nf
.ta .5i +\w'Pinterstyle 'u +\w'*integers;    'u
.sp .2
typedef struct {
.sp .2
	Pint	type;	/* marker type */
	Pfloat	size;	/* marker size scale factor */
	Pint	colr_ind;	/* colour index */
.sp .2
} Pmarker_bundle;
.fi
.RE
.sp
\fIrep->type\fP is an integer value specifying a \fImarker type\fP;
the following marker types are defined:
.nf
.ta .5i +.8i +1.5i +1i
.sp .2
.\" PT is a string for a "point".
.ds PT \v'-0.2m'.\v'+0.2m'
	1	PMARKER_DOT		\fIPoint\fP (\*(PT)
	2	PMARKER_PLUS		\fIPlus sign\fP (\(pl)
	3	PMARKER_ASTERISK		\fIAsterisk\fP (\(**)
	4	PMARKER_CIRCLE		\fICircle\fP (\(ci)
	5	PMARKER_CROSS		\fIX-mark\fP (\(mu)
.sp .2
.fi
Support for marker types is workstation-dependent.
The \fIPoint\fP (\*(PT) marker type is always the smallest dot possible,
regardless of the marker size scale factor value applicable.  
.RE
.sp
\fIrep->size\fP is the \fImarker size scale factor\fP.  
.sp
\fIrep->colr_ind\fP is the \fIpolymarker colour\fP
index, which selects a colour value from the workstation's colour table.  
.SS Execution
When \s-2SET POLYMARKER REPRESENTATION\s+2 is called,
the polymarker index entry in
the table of defined polymarker representations on the workstation is set
to the marker type, marker size scale factor,
and polymarker colour index values.  
.LP
When polymarker output primitives are displayed, the polymarker
representation specified by the current polymarker index entry in the
traversal state list provides the polymarker attributes
for which the Aspect Source Flag (\s-2ASF\s+2) is \s-2BUNDLED\s+2.  
For example, when the current marker type \s-2ASF\s+2 is set to \s-2BUNDLED\s+2,
the effective marker type is
the marker type attribute in the polymarker representation selected by
the current polymarker index.  The current polymarker index
is set by \s-2SET POLYMARKER INDEX\s+2 elements.  
.\"PHIGS+:  .LP
.\"PHIGS+:  The source for polymarker colour is determined by a combination of
.\"PHIGS+:  the polymarker Colour Source Flag (CSF) and the polymarker colour
.\"PHIGS+:  index ASF. While the polymarker CSF is set to \s-2DIRECT\s+2,
.\"PHIGS+:  polymarker colour is determined by a direct colour specification set
.\"PHIGS+:  with the \s-2SET POLYMARKER COLOUR\s+2 subroutine, and the polymarker
.\"PHIGS+:  colour index ASF has no effect. When the polymarker colour CSF
.\"PHIGS+:  is set to \s-2INDEXED\s+2, the polymarker colour index ASF
.\"PHIGS+:  determines whether the attribute is defined by a bundled or
.\"PHIGS+:  individual specification in the same way as the other attributes.
.LP
The polymarker bundle table is numbered from 1.
.SH ERRORS
.IP 003
Ignoring function, function requires state 
(\s-2PHOP\s+2, \s-2WSOP\s+2, \s-2*\s+2, \s-2*\s+2)
.IP 054
Ignoring function, the specified workstation is not open
.IP 059
Ignoring function, the specified workstation does not have output capability
(that is, the workstation category is neither 
\s-2OUTPUT\s+2, \s-2OUTIN\s+2, nor \s-2MO\s+2)
.IP 100
Ignoring function, the bundle index value is less than one
.IP 103
Ignoring function, setting this bundle table entry would exceed
the maximum number of entries allowed in the workstation bundle table
.IP 105
Ignoring function, the specified marker type is not available
on the specified workstation
.IP 113
Ignoring function, the colour index value is less than zero
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET POLYMARKER INDEX (3P)"
.SM "SET INDIVIDUAL ASF (3P)"
.SM "INQUIRE POLYMARKER FACILITIES (3P)"
.SM "INQUIRE POLYMARKER REPRESENTATION (3P)"
.SM "SET MARKERTYPE (3P)"
.SM "SET MARKER SIZE SCALE FACTOR (3P)"
.SM "SET POLYMARKER COLOUR INDEX (3P)"
.SM "SET POLYMARKER COLOUR (3P+)"
.SM "SET POLYMARKER REPRESENTATION PLUS (3P+)"
.fi
