.\"
.\" $XConsortium: p349,v 5.2 94/04/17 20:58:30 rws Exp $
.\"
.\" 
$XMCOPY
.\" Copyright (c) 1990, 1991 by Sun Microsystems, Inc. and the X Consortium.
.\" 
.\"                         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 names of Sun Microsystems,
.\" and the X Consortium 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 PARAMETRIC SURFACE CHARACTERISTICS" 3P "29 February 1991"
.SH NAME
SET PARAMETRIC SURFACE CHARACTERISTICS \-
create a structure element to set the current parametric surface characteristics
.IX "SET PARAMETRIC SURFACE CHARACTERISTICS"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.4i 3i
.nf
void
pset_para_surf_characs( psc_type, data )
Pint	psc_type;	\fItype\fP	
Ppara_surf_characs	*data;		\fIOUT data record\fP 
.fi
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
\s-2SET PARAMETRIC SURFACE CHARACTERISTICS\s+2 sets current parametric
surface characteristics to be used when displaying subsequent parametric
surface output primitives.
.\" .LP
.\" This is a \s-2PHIGS\s0 Extension function based on
.\" \s-2PHIGS PLUS\s+2 and is not part of the
.\" \s-2PHIGS\s+2 standard.
.SS C Input Parameters
.IP \fIpsc_type\fP
The parametric surface characteristic types.
.sp
.nf
.ta .5i +\w'0     'u +\w'PSC_ISOPARAMETRIC_CURVES     'u
1       PSC_NONE	\fINo Surface Characteristics Specified\fP
2       PSC_WS_DEP	\fIWorkstation Dependent\fP
3       PSC_ISOPARAMETRIC_CURVES	\fIIsoparametric Curves Specified\fP
4       PSC_LEVEL_CURVES_MC	\fILevel Curves Specified in Modelling Coordinates\fP
5       PSC_LEVEL_CURVES_WC	\fILevel Curves Specified in World Coordinates\fP
.sp
.fi
.SS C Output Parameters
.IP \fIdata\fP
The surface characteristics data record.
A pointer to a structure Ppara_surf_characs.
Ppara_surf_characs is defined in phigs.h as follows:
.sp .4
.ta .5i +\w'Pcurve_placement     'u +\w'placement;     'u
.nf
typedef union {
.sp .2
struct {
	Pint	unused;	
} psc_1;
struct {
	Pint	unused;
} psc_2;
struct {
	Pcurve_placement	placement;
	Pint	u_count;
	Pint	v_count;
} psc_3;
struct {
	Ppoint3	origin;
	Pvec3	direction;
	Pfloat_list	params;
} psc_4;
struct {
	Ppoint3	origin;
	Pvec3	direction;
	Pfloat_list	params;
} psc_5;
} Ppara_surf_characs;
.fi
.sp
Pcurve_placement is defined in phigs.h as follows:
.sp .4
.ta .5i
.nf
typedef enum {
.sp .2
	PCP_UNIFORM,
	PCP_NON_UNIFORM
.sp .2
} Pcurve_placement;
.fi
.SS Execution
When the structure is traversed, 
\s-2SET PARAMETRIC SURFACE CHARACTERISTICS\s+2 updates the current
parametric surface characteristics entry in the traversal state list.
These values are used when displaying subsequent parametric surface
output primitives. 
When an element of this type is interpreted, if the specified parametric
surface characteristic type is not available on a workstation, or the data
record are invalid, type 1 is used and data record contents are 
workstation-dependent.
.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)
.IP 138
Ignoring function, one or more of the fields in the specified data record
is inconsistent with the specified type
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "NON-UNIFORM B-SPLINE SURFACE (3P+)"
.fi
