LOCATOR WITHOUT INTERACTION 3
CALL SEQUENCE
void pxlocator3(
Pint ws_id, /* workstation identifier */
Pint loc_dev_num, /* locator device number */
Ppoint3 *point, /* located point in DC */
Pint *view_ind, /* view index */
Ppoint3 *loc_pos /* locator position in WC */
)
TYPES
typedef struct {
Pfloat x,y,z; /* coordinates */
} Ppoint3;
PHIGS STATE
(PHOP,WSOP,*,*)
EFFECT
GPHIGS uses this function to simulate a LOCATOR without interaction. A 3D DC
point, coming from an input device external to GPHIGS, is given to this
function, and this function returns the same information as the function SAMPLE
LOCATOR.
Use of this function overcomes the differences in concept between an
event-driven model
( MOTIF ) and the classic sequential model required for
the use of PHIGS input.
NOTES
If the DC point is obtained as the result of an X event, it is necessary,
before sending it to the function, to transform from X device coordinates to
GPHIGS device coordinates. The origin of an X window is located at upper-left
corner while the origin of a GPHIGS workstation is located at the lower-left
corner. It is, therefore, necessary to invert the Y values in the following
manner :
point.y = window.height - ev.xbutton.y ;
where window.height is the height in pixels of the X window and
ev.xbutton.y is the Y position acquired with the event.
ERRORS
- 3
Ignoring function, function requires state (PHOP, WSOP,*,*)
- 54
- Ignoring function, the specified workstation is not open
SEE ALSO
Initialize locator, see pinit_loc
Sample locator, see psample_loc
Set view transformation input priority, see pset_view_tran_in_pri
Pick without interaction (ext), see pxpick
Pick and locator without interaction (ext), see pxpick_loc