| 63 |
|
scompile("Ix=$16;Iy=$17;Iz=$18;", NULL, 0); |
| 64 |
|
scompile("Jx=$19;Jy=$20;Jz=$21;", NULL, 0); |
| 65 |
|
scompile("Kx=$22;Ky=$23;Kz=$24;", NULL, 0); |
| 66 |
+ |
scompile("Lu=$25;Lv=$26;", NULL, 0); |
| 67 |
|
funset("arg", 1, '=', l_arg); |
| 68 |
|
funset("erf", 1, ':', l_erf); |
| 69 |
|
funset("erfc", 1, ':', l_erfc); |
| 301 |
|
if (n < 24) /* k unit vector */ |
| 302 |
|
return(funcxf.xfm[2][n-21] / funcxf.sca); |
| 303 |
|
|
| 304 |
< |
if (n == 24) /* single ray (shadow) distance */ |
| 304 |
> |
if (n < 25) /* single ray (shadow) distance */ |
| 305 |
|
return((fray->rot+raydist(fray->parent,SHADOW)) * funcxf.sca); |
| 306 |
+ |
|
| 307 |
+ |
if (n < 27) /* local (u,v) coordinates */ |
| 308 |
+ |
return(fray->uv[n-26]); |
| 309 |
|
badchan: |
| 310 |
|
error(USER, "illegal channel number"); |
| 311 |
+ |
return(0.0); |
| 312 |
|
} |