.\" .\" $XConsortium: p179,v 5.4 94/04/17 20:56:30 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. .ds f \s-2INQUIRE PICK DEVICE STATE 3\s+2 .TH "INQUIRE PICK DEVICE STATE 3" 3P "16 August 1991" .SH NAME INQUIRE PICK DEVICE STATE 3 \- inquire state of a pick device .IX "Pick Input Devices" "INQUIRE PICK DEVICE STATE 3" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void pinq_pick_st3 ( ws, dev, type, store, err, op_mode, echo_switch, filter, init_status, init_pick, prompt_echo, echo_vol, path_data, pick_order ) Pint ws; \fIworkstation identifier\fP Pint dev; \fIpick device number\fP Pinq_type type; \fItype of returned value\fP Pstore store; \fIhandle to store object\fP Pint *err; \fIOUT error indicator\fP Pop_mode *op_mode; \fIOUT operating mode\fP Pecho_switch *echo_switch; \fIOUT echo switch\fP Pfilter **filter; \fIOUT pick filter\fP Pin_status *init_status; \fIOUT initial pick status\fP Ppick_path **init_pick; \fIOUT initial pick path\fP Pint *prompt_echo; \fIOUT prompt/echo type\fP Plimit3 *echo_vol; \fIOUT echo area\fP Ppick_data3 **pick_data; \fIOUT data record\fP Ppath_order *path_order; \fIOUT path order\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, WSOP, *, *) .SH DESCRIPTION .SS Purpose Use \*f to retrieve the current state of the specified pick device. .SS C Input Parameters Applications using the \s-2C\s+2 binding must create a buffer to be used by this function as memory space for storing data associated with the device state. This buffer is passed as the \fIstore\fP argument. .LP The store buffer is a data area managed by \s-2PHIGS\s+2. While the application is responsible for creating the inital buffer through a call to \s-2\CREATE STORE\s+2, \s-2PHIGS\s+2 manages this area such that there is sufficient memory for the specific inquiry. The pick device data record within the store buffer is accessed by the pointer pointed to by pick_data. .IP \fIws\fP Workstation identifier. An integer specifying the workstation with which the specified pick device is associated. .IP \fIdev\fP The device number of the pick device. See the \fIAvailable Devices\fP section of \s-2INITIALIZE PICK\s+2 for a description of the available devices. .IP \fItype\fP An enumerated value specifying whether the values to be returned are those originally specified by the application (\s-2PINQ_SET\s+2), or those resulting after \s-2PHIGS\s+2 mapped them to ones available on the workstation (\s-2PINQ_REALIZED\s+2). A Pinq_type structure is defined as: .nf .ta .5i +\w'PINQ_REALIZED 'u .sp .4 typedef enum { .sp .2 PINQ_SET, PINQ_REALIZED .sp .2 } Pinq_type; .fi .IP \fIstore\fP The memory buffer \s-2PHIGS\s+2 is to use for storing the information returned. This buffer must exist prior to calling this function (see \s-2CREATE STORE (3P)\s+2). .SS C Output Parameters .IP \fIerr\fP The error indicator. See the \fIExecution\fP section below for a description of its use. See the \fIErrors\fP section below for the possible values it may return. .bp .IP \fIop_mode\fP The operating mode. Pop_mode is an enumerated type with the following values: .sp .2 .ta .5i .nf POP_REQ POP_SAMPLE POP_EVENT .fi .IP \fIecho_switch\fP The echo state. Pecho_switch is an enumerated type with the following values: .sp .2 .ta .5i .nf PSWITCH_ECHO PSWITCH_NO_ECHO .fi .IP \fIfilter\fP A pointer to a pointer to the location to store the device's detectability filter. Pfilter is defined in phigs.h as follows: .nf .ta .5i +1i +1.25i .sp .4 typedef struct { .sp .2 Pint_list incl_set; /* inclusion set */ Pint_list excl_set; /* exclusion set */ } Pfilter; .IP 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 \fIinit_status\fP A pointer to the initial pick status. Pin_status is an enumerated type with the following values: .sp .4 .nf .ta .5i typedef enum { .sp .2 PIN_STATUS_NONE, PIN_STATUS_OK, PIN_STATUS_NO_IN .sp .2 } Pin_status; .fi .IP \fIinit_pick\fP A pointer to the initial pick path. Ppick_path is defined in phigs.h as follows: .sp .4 .nf .ta .5i +1i +1i typedef struct { .sp .2 Pint depth; /* pick path_list depth */ Ppick_path_elem *path_list; /* pick path */ .sp .2 } Ppick_path; .fi Ppick_path_elem is defined in phigs.h as follows: .sp .4 .nf .ta .5i +1i +1i typedef struct { .sp .2 Pint struct_id; /* structure identifier */ Pint pick_id; /* hierarchical pick identifier */ Pint elem_pos; /* element sequence number */ .sp .2 } Ppick_path_elem; .fi .IP \fIprompt_echo\fP The prompt/echo type desired. See the \fIAvailable Devices\fP Section of \s-2INITIALIZE PICK\s+2 for a description of the available types. .IP \fIecho_vol\fP A pointer to a Plimit3 structure defining the \fIx\fP, \fIy\fP, and \fIz\fP components of the echo volume, in Device Coordinates. Plimit3 is defined in phigs.h as follows: .sp .4 .ta .5i +1i +1i .nf typedef struct { .sp .2 Pfloat x_min; /* minimum x coordinate value */ Pfloat x_max; /* maximum x coordinate value */ Pfloat y_min; /* minimum y coordinate value */ Pfloat y_max; /* maximum y coordinate value */ Pfloat z_min; /* minimum z coordinate value */ Pfloat z_max; /* maximum z coordinate value */ .sp .2 } Plimit3; .fi .IP \fIpick_data\fP Pointer to a pointer that points to the pick device state within the store. Pick_data3 is defined in phigs.h as follows: .nf .ta .5i +.5i +.5i .sp .4 typedef struct { .sp .2 union { struct { Pint unused; } pet_r1; } pets; .sp .2 } Ppick_data3; .fi .IP \fIpath_order\fP A pointer to the path order. Ppath_order is an enumerated type with the following values: .nf .ta .5i .sp .4 typedef enum { .sp .2 PORDER_TOP_FIRST, PORDER_BOTTOM_FIRST .sp .2 } Ppath_order; .fi .SS Execution \*f returns the current state of the specified pick device, which is stored in the workstation state list of the workstation associated with the device. The current state includes the operating mode, echo switch, initial pick, prompt/echo type, echo volume, pick path order, data record, and pick filter. See \s-2SET PICK MODE\s+2 for a description of the operating mode and the echo switch, and how to set these values. See \s-2INITIALIZE PICK 3\s+2 for a description of the initial pick, prompt/echo type, echo volume, pick path order, and data record contents, and how to set these values. See \s-2SET PICK FILTER\s+2 for a description of the pick filter and how to set it. .LP In the event of an error, the \fIerror indicator\fP indicates the error number of the error detected, and no other output data is returned. If no error is detected, the \fIerror indicator\fP is set to zero, and the inquired information will be available in the output parameters. 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 003 Ignoring function, function requires state (\s-2PHOP, WSOP, *, *\s+2) .IP 054 Ignoring function, the specified workstation is not open .IP 060 Ignoring function, specified workstation is not of category \s-2OUTIN\s+2 .IP 250 Ignoring function, the specified device is not available on the specified workstation .SH SEE ALSO .nf .IP .ta 0.5i .SM "INITIALIZE PICK 3 (3P)" .SM "SET PICK MODE (3P)" .SM "SET PICK FILTER (3P)" .SM "INQUIRE PICK DEVICE STATE (3P)" .SM "CREATE STORE (3P)" .SM "DELETE STORE (3P)" .fi