| 104 |
|
|
| 105 |
|
|
| 106 |
|
hdbcoord(gc, hp, i) /* compute beam coordinates from index */ |
| 107 |
< |
BCOORD gc; /* returned */ |
| 107 |
> |
GCOORD gc[2]; /* returned */ |
| 108 |
|
register HOLO *hp; |
| 109 |
|
register int i; |
| 110 |
|
{ |
| 111 |
|
register int j, n; |
| 112 |
|
int n2, reverse; |
| 113 |
< |
BCOORD g2; |
| 113 |
> |
GCOORD g2[2]; |
| 114 |
|
/* check range */ |
| 115 |
|
if (i < 1 | i > nbeams(hp)) |
| 116 |
|
return(0); |
| 150 |
|
int |
| 151 |
|
hdbindex(hp, gc) /* compute index from beam coordinates */ |
| 152 |
|
register HOLO *hp; |
| 153 |
< |
register BCOORD gc; |
| 153 |
> |
register GCOORD gc[2]; |
| 154 |
|
{ |
| 155 |
< |
BCOORD g2; |
| 155 |
> |
GCOORD g2[2]; |
| 156 |
|
int reverse; |
| 157 |
|
register int i, j; |
| 158 |
|
/* check ordering and limits */ |
| 183 |
|
register HOLO *hp; |
| 184 |
|
int i; |
| 185 |
|
{ |
| 186 |
< |
BCOORD gc; |
| 186 |
> |
GCOORD gc[2]; |
| 187 |
|
register int k; |
| 188 |
|
|
| 189 |
|
if (!hdbcoord(gc, hp, i)) /* compute grid coordinates */ |
| 220 |
|
hdray(ro, rd, hp, gc, r) /* compute ray within a beam */ |
| 221 |
|
FVECT ro, rd; /* returned */ |
| 222 |
|
register HOLO *hp; |
| 223 |
< |
register BCOORD gc; |
| 223 |
> |
register GCOORD gc[2]; |
| 224 |
|
BYTE r[2][2]; |
| 225 |
|
{ |
| 226 |
|
FVECT p[2]; |
| 253 |
|
|
| 254 |
|
double |
| 255 |
|
hdinter(gc, r, hp, ro, rd) /* compute ray intersection with section */ |
| 256 |
< |
register BCOORD gc; /* returned */ |
| 256 |
> |
register GCOORD gc[2]; /* returned */ |
| 257 |
|
BYTE r[2][2]; /* returned */ |
| 258 |
|
register HOLO *hp; |
| 259 |
|
FVECT ro, rd; /* rd should be normalized */ |