mapw(3G) mapw(3G)
mapw - maps a point on the screen into a line in 3-D world coordinates
void mapw(vobj, sx, sy, wx1, wy1, wz1, wx2, wy2, wz2)
Object vobj;
Screencoord sx, sy;
Coord *wx1, *wy1, *wz1, *wx2, *wy2, *wz2;
vobj expects a viewing object containing the transformations that map
the current displayed objects to the screen.
sx expects the x coordinate of the screen point to be mapped.
sy expects the y coordinate of the screen point to be mapped.
wx1 returns the x world coordinate of one endpoint of a line.
wy1 returns the y world coordinate of one endpoint of a line.
wz1 returns the z world coordinate of one endpoint of a line.
wx2 returns the x world coordinate of the remaining endpoint of a
line.
wy2 returns the y world coordinate of the remaining endpoint of a
line.
wz2 returns the z world coordinate of the remaining endpoint of a
line.
mapw takes a pair of 2-D screen coordinates and maps them into 3-D world
coordinates. Since the z coordinate is missing from the screen
coordinate system, the point becomes a line in world space. mapw
computes the inverse mapping from the viewing object, vobj.
A viewing object is a graphical object that contains only routines that
affect the model-view matrix, the projection matrix, or the viewport
specification. A correct mapping from screen coordinate to world
coordinates requires that the viewing object contain the projection and
viewing transformations that mapped the displayed object from world to
screen coordinates.
The system returns a world space line, which is computed from (sx, sy)
and vobj, as two points and stores them in the locations addressed by
wx1, wy1, wz1 and wx2, wy2, wz2.
Page 1
mapw(3G) mapw(3G)
mapw2
This routine is available only in immediate mode.
PPPPaaaaggggeeee 2222 [ Back ]
|