.\"##
.\" $XConsortium: p063,v 5.2 94/04/17 20:54:59 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 "GENERALIZED DRAWING PRIMITIVE 3" 3P "29 February 1991"
.\" .ds I \s-2INTRO INTERNATIONALIZATION\s+2 
.ds \s-2C\s+2 \s-2ESCAPE\s+2 -7 \fIinquire character set facilities\fP 
.ds F \s-2ESCAPE\s+2 -8 \fIinquire fonts for character set\fP
.\".ds x \s-2ESCAPE\s+2 -9, \s-2INQUIRE TEXT EXTENT PLUS\s+2
.\".ds t \s-2ESCAPE\s+2 -10, \s-2SET FONT TEXT REPRESENTATION PLUS\s+2 
.\".ds T \s-2ESCAPE\s+2 -11 \fIinquire extended font text representation\fP 
.SH NAME
GENERALIZED DRAWING PRIMITIVE 3 \- create \s-23D GDP\s+2 elements
.IX "Generalized Structure Elements" "GENERALIZED DRAWING PRIMITIVE"
.IX "Highlighting" "GENERALIZED DRAWING PRIMITIVE"
.IX "Set Highlight Colour Index" "GENERALIZED DRAWING PRIMITIVE"
.IX "Set Character Set for Codeset" "GENERALIZED DRAWING PRIMITIVE"
.IX "Set Font for Codeset" "GENERALIZED DRAWING PRIMITIVE"
.IX "Set Text Slant Angle" "GENERALIZED DRAWING PRIMITIVE"
.IX "Set Annotation Text Slant Angle" "GENERALIZED DRAWING PRIMITIVE"
.IX "Character Sets" "GENERALIZED DRAWING PRIMITIVE"
.IX "Fonts" "GENERALIZED DRAWING PRIMITIVE"
.IX "GSE" "GENERALIZED DRAWING PRIMITIVE"
.IX "Elements" "GENERALIZED DRAWING PRIMITIVE"
.IX "Implementation-Specific Functions" "GENERALIZED DRAWING PRIMITIVE"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pgdp3 ( point_list, gdp3_id, gdp_data )
Ppoint_list3	*point_list;	\fIarray of points\fP
Pint	gdp3_id;	\fIgdp function identifier\fP 
Pgdp_data3	*gdp_data;	\fIgdp data record\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
\s-2GENERALIZED DRAWING PRIMITIVE 3\s+2 creates an implementation dependent
drawing primitive.
There are no \s-2GDP\s+2s implemented in the \s-2PEX-SI\s+2 graphics library.
.SS C Input Parameters
.IP \fIpoint_list \fP
A pointer to a structure containing a list of \fIx\fP and \fIy\fP values
in Modelling Coordinates (MC).  Ppoint_list3 is defined in phigs.h as:
.nf
.ta .5i +\w'Ppoint	'u +\w'num_points;	'u
.sp .4
typedef struct {
.sp .2
	Pint	num_points;	/* number of Ppoints in the list */
	Ppoint3	*points;	/* list of points */
.sp .2
} Ppoint_list3;
.fi
.IP
Ppoint3 is defined in phigs.h as follows:
.nf
.ta .5i +\w'Pfloat	'u +\w'x;	'u
.sp .4
typedef struct {
.sp .2
	Pfloat	x;	/* x coordinate */
	Pfloat	y;	/* y coordinate */
	Pfloat	z;	/* z coordinate */
.sp .2
} Ppoint3;
.fi
.IP \fIgdp3_id \fP
The identifier of the generalized drawing primitive to insert. 
There are no predefined \s-2GDP\s+2s.
.IP \fIgdp_data\fP
A pointer to a Pgdp_data3 union containing the information
needed to perform the function specified by \fIgdp3_id\fP.
Pgdp_data3 is defined in phigs.h as:
.nf
.ta .5i +.5i +.75i
.sp .2
typdef union {
.sp .2
	struct {
		Pint	unused;
	}gdp3_r1;
	Pdata	unsupp;	/* unsupported \s-2GDP\s+2 data record */
.sp .2
} Pgdp_data3;		/* implementation dependent */
.sp .2
.fi
.IP
Pdata is defined in phigs.h as:
.nf
.ta .5i +.5i +.75i
.sp .2
typdef struct {
.sp .2
	size_t	size;	/* size of data */
	char	*data;	/* pointer to data */
.sp .2
} Pdata;
.sp .2
.fi
.SS Execution
.LP
If the current edit mode is \s-2INSERT\s+2, then \s-2GENERALIZED DRAWING
PRIMITIVE 3\s+2 is inserted into the currently open structure after the
element currently pointed to by the element pointer. If the edit mode is
\s-2REPLACE\s+2, then \s-2GENERALIZED DRAWING PRIMITIVE 3\s+2 replaces the
element pointed to by the element pointer. 
In either case, the element pointer is updated to point to the new element.
.SH ERRORS
.IP 005
Ignoring function, function requires state (\s-2PHOP, *, STOP, *\s+2)

