.\" .\" $XConsortium: p105,v 5.2 94/04/17 20:55:34 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. .ds f \s-2INQUIRE CURVE AND SURFACE FACILITIES\s+2 .TH "INQUIRE CURVE AND SURFACE FACILITIES" 3P+ "29 February 1991" .SH NAME INQUIRE CURVE AND SURFACE FACILITIES \- inquire the available curve and surface facilities of a workstation type .IX "Inquiry functions" "INQUIRE CURVE AND SURFACE FACILITIES" .IX "PHIGS Extension Functions" "INQUIRE CURVE AND SURFACE FACILITIES" .SH SYNOPSIS .SS C Syntax .ft B .ta 1i 2.25i .nf void pinq_curv_surf_facs ( type, cat_len, cat_st, sat_len, sat_st, tcat_len, tcat_st, psc_len, psc_st, error_ind, facil, tot_cat_len, tot_sat_len, tot_tcat_len, tot_psc_len ) Pint type; \fIworkstation type\fP Pint cat_len; \fIlength of curve approx types list \fP Pint cat_st; \fIstarting position\fP Pint sat_len; \fIlength of surface approx types list \fP Pint sat_st; \fIstarting position\fP Pint tcat_len; \fIlength of trim curve approx types list \fP Pint tcat_st; \fIstarting position\fP Pint psc_len; \fIlength of parametric surface characteristics list\fP Pint psc_st; \fIstarting position\fP Pint *error_ind; \fIOUT error indicator\fP Pcurvsurf_facs *facil; \fIOUT curve and surface facilities\fP Pint *tot_cat_len; \fIOUT total length of curve approx types list\fP Pint *tot_sat_len; \fIOUT total length of surface approx types list\fP Pint *tot_tcat_len; \fIOUT total length of trim curve approx types list\fP Pint *tot_psc_len; \fIOUT total length of parametric surface characteristics list\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, *) .SH DESCRIPTION .SS Purpose \s-2INQUIRE CURVE AND SURFACE FACILITIES\s+2 returns the available curve and surface facilities associated with the specified workstation type. .SS C Input Parameters All of the following data types are predefined in phigs.h. .IP \fItype\fP The workstation type in question. .IP \fIcat_len\fP The number of entries to return from the list of curve approximation types. .IP \fIcat_st\fP The starting position of the portion of the list to return. .IP \fIsat_len\fP The number of entries to return from the list of surface approximation types. .IP \fIsat_st\fP The starting position of the portion of the list to return. .IP \fItcat_len\fP The number of entries to return from the list of trimming curve approximation types. .IP \fItcat_st\fP The starting position of the portion of the list to return. .IP \fIpsc_len\fP The number of entries to return from the list of parametric surface characteristics. .IP \fIpsc_st\fP The starting position of the portion of the list to return. .SS C Output Parameters .IP \fIerror_ind\fP A pointer to the location to store the error number of any error detected by this function. .IP \fIfacil\fP A pointer to a Pcurvsurf_facs structure which returns the requested information. Pcurvsurf_facs is defined as: .nf .ta .5i +\w'Pint_list 'u +\w'max_bsp_order; 'u .sp .4 typedef struct { .sp .2 Pint max_bsp_order; /* maximum B-spline order */ Pint max_pp_order; /* maximum parametric polynomial order */ Pint max_tc_order; /* maximum trim curve order */ Pint_list ppc_types; /* list of parametric polynomial curve types */ Pint_list pps_types; /* list of parametric polynomial surface types*/ Pint_list cat_types; /* list of curve approximation types */ Pint_list sat_types; /* list of surface approximation types */ Pint_list tcat_types; /* list of trim curve approximation types */ Pint_list psc_types; /* list of parametric surface characteristics types */ Pint num_pred_inds; /* number of predefined bundles */ .sp .2 } Pcurvsurf_facs; .fi .IP Pint_list is defined as: .nf .ta .5i +\w'Pint 'u +\w'integers; 'u .sp .4 typedef struct { .sp .2 Pint num_ints; /* number of Pints in list */ Pint *ints; /* list of integers */ .sp .2 } Pint_list; .fi .IP Prior to calling this function, the integers field of the Pint_list structures must contain a pointer to an array of integers. This array must be at least as large as the corresponding \fIlen\fP parameter. .IP \fItot_cat_len\fP A pointer to an integer which returns the total length of the curve approximation type list as stored in the workstation description table. .IP \fItot_sat_len\fP A pointer to an integer which returns the total length of the surface approximation type list as stored in the workstation description table. .IP \fItot_tcat_len\fP A pointer to an integer which returns the total length of the trimming curve approximation type list as stored in the workstation description table. .IP \fItot_psc_len\fP A pointer to an integer which returns the total length of the parametric surface characteristics. list as stored in the workstation description table. .SS Execution If the inquired information is available, the error indicator is returned as zero and values are returned in the output parameters. .LP If the inquired information is not available, the values returned in the output parameters are undefined and the error indicator is set to one of the error numbers listed below to indicate the reason for non-availability. .LP Since this is an inquiry function, \s-2ERROR HANDLING\s+2 is not invoked when an error is detected by this function. .SH ERRORS .IP 002 Ignoring function, function requires state (\s-2PHOP\s+2, \s-2*\s+2, \s-2*\s+2, \s-2*\s+2) .IP 051 .\"Ignoring function, this information is unavailable for this workstation type Ignoring function, this information is not yet available for this generic workstation type; open a workstation of this type and use the specific workstation type .IP 052 Ignoring function, workstation type not recognized by the implementation .IP 059 Ignoring function, the specified workstation does not have output capability (i.e. the workstation category is neither \s-2OUTPUT\s+2, \s-2OUTIN\s+2, nor \s-2MO\s+2) .IP 062 Ignoring function, this information is not available for this \s-2MO\s+2 workstation type .SH SEE ALSO .nf .IP .ta 0.5i .SM "PHIGS WORKSTATION DESCRIPTION TABLE (7P)" .SM "NON-UNIFORM B-SPLINE CURVE (3P+)" .SM "NON-UNIFORM B-SPLINE SURFACE (3P+)" .SM "SET CURVE APPROXIMATION CRITERIA (3P+)" .SM "SET SURFACE APPROXIMATION CRITERIA (3P+)" .SM "SET TRIMMING CURVE APPROXIMATION CRITERIA (3P+)" .fi