253 |
|
} |
254 |
|
|
255 |
|
|
256 |
+ |
hdworld(wp, hp, gp) /* compute world coordinates */ |
257 |
+ |
register FVECT wp; |
258 |
+ |
register HOLO *hp; |
259 |
+ |
FVECT gp; |
260 |
+ |
{ |
261 |
+ |
register double d; |
262 |
+ |
|
263 |
+ |
d = gp[0]/hp->grid[0]; |
264 |
+ |
VSUM(wp, hp->orig, hp->xv[0], d); |
265 |
+ |
|
266 |
+ |
d = gp[1]/hp->grid[1]; |
267 |
+ |
VSUM(wp, wp, hp->xv[1], d); |
268 |
+ |
|
269 |
+ |
d = gp[2]/hp->grid[2]; |
270 |
+ |
VSUM(wp, wp, hp->xv[2], d); |
271 |
+ |
} |
272 |
+ |
|
273 |
+ |
|
274 |
|
double |
275 |
|
hdray(ro, rd, hp, gc, r) /* compute ray within a beam */ |
276 |
|
FVECT ro, rd; /* returned */ |