.\" .\" $XConsortium: p149,v 5.2 91/08/16 16:24:56 hersh 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. .\" 1. Substitute PHIGS+ function name (in CAPS) for "PNAME" in line below: .ds pN INQUIRE LIGHT SOURCE FACILITIES .TH "\*(pN" 3P+ "15 August 1991" .SH NAME \*(pN \- inquire list of workstation light source facilities for a specified workstation type .IX "Inquiry functions" "INQUIRE LIGHT SOURCE FACILITIES" .IX "PHIGS Extension Functions" "\*(pN" .IX "Lighting" "INQUIRE LIGHT SOURCE FACILITIES" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf .\" 6. Insert C syntax below void pinq_light_src_facs ( type, length, start, error_ind, facilities, total_length) Pint type; \fIworkstation type\fP Pint length; \fIlength of application list \fP Pint start; \fIstarting position\fP Pint *error_ind; \fIOUT error indicator\fP Plight_src_facs *facilities; \fIOUT light source facilities\fP Pint *total_length; \fIOUT length of list in PHIGS\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, *) .SH DESCRIPTION .SS Purpose .LP \s-2INQUIRE LIGHT SOURCE FACILITIES\s+2 obtains a list of workstation light source facilities. .SS C Input Parameters .IP \fItype\fP The workstation type for which the light source facilities are being inquired. .IP \fIlength\fP The number of \fIints\fR in the \fIfacilites\(->types\fR output parameter for which the application has allocated memory. \fIlength\fR is the number of list elements that the system can return in \fIfacilites\(->types.ints\fR. If a value of 0 is used here, no data will be returned in the \fIfacilites\(->types.ints\fR list, but the total number of elements will be returned in \fItotal_length\fR. .IP \fIstart\fP Starting position of inquiry. The elements in the list, beginning with the item number specified by \fIstart\fR, are copied sequentially into \fIfacilites\(->types.ints\fR until \fIfacilites\(->types.ints\fR is full or all the elements have been copied. .SS C Output Parameters .IP \fIerror_ind\fP A pointer to the location to store the error number. .IP \fIfacilities\fP A pointer to the location in which to return the light source facilities. Plight_src_facs is defined as: .nf .ta .5i +\w'Pint_list 'u +\w'num_pred_inds; 'u .sp .4 typedef struct { .sp .2 Pint_list types; /* types of light source supported */ Pint max; /* max. no. of simultaneously active lights */ Pint num_pred_inds /* number of predefined bundles */ .sp .2 } Plight_src_facs; .fi .IP \fItypes\fR is a pointer to the types of light sources that are supported: .ta .5i +.5i .nf 1 PLIGHT_AMBIENT 2 PLIGHT_DIRECTIONAL 3 PLIGHT_POSITIONAL 4 PLIGHT_SPOT .fi .sp Pint_list is defined in phigs.h as follows: .nf .ta .5i +1i +1.25i .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 The \fInum_ints\fR component specifies the number of elements in the list. The \fIints\fR component is a pointer to a list \fInum_ints\fR long. .IP Prior to calling this function, the \fIints\fR field of the Pint_list structure must contain a pointer to an application supplied buffer. This buffer must be at least as large as the corresponding length parameter. .IP The light types supported are: .sp .nf .ta .5i +\w'0 'u +\w'WCS_Vector 'u 1 Ambient A light source that affects all surface primitives uniformly. Ambient light sources have only a color attribute. 2 WCS_Vector A light source that is specified in world coordinates with a color and a direction vector. 3 WCS_Point A light source that is specified in world coordinates with a color, a position, and two attenuation coefficients. 4 WCS_Spot A light source that is specified in world coordinates with a color, a position, a direction vector, a concentration exponent, two attenuation coefficients, and a spread angle. .sp .fi .IP \fItotal_length\fP A pointer to an integer in which the system returns the total number of elements in the list. This is the value required for \fIlength\fR if all elements in the list are to be returned. .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 following error numbers to indicate the reason for nonavailability. .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) .IP 051 Ignoring function, this information unavailable for this 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 "SET LIGHT SOURCE REPRESENTATION (3P+)" .SM "INQUIRE LIST OF LIGHT SOURCE INDICES (3P+)" .SM "INQUIRE LIGHT SOURCE REPRESENTATION (3P+)" .SM "INQUIRE PREDEFINED LIGHT SOURCE REPRESENTATION (3P+)" .fi