| 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 */ |