162 |
|
|
163 |
|
d = normalize(direc); |
164 |
|
if (d == 0.0) { /* zero ==> flush */ |
165 |
< |
if (--nextflush <= 0 || !vcount) { |
165 |
> |
if ((--nextflush <= 0) | !vcount) { |
166 |
|
if (ray_pnprocs > 1 && ray_fifo_flush() < 0) |
167 |
|
error(USER, "child(ren) died"); |
168 |
|
bogusray(); |
314 |
|
static void |
315 |
|
bogusray(void) /* print out empty record */ |
316 |
|
{ |
317 |
< |
thisray.rorg[0] = thisray.rorg[1] = thisray.rorg[2] = |
318 |
< |
thisray.rdir[0] = thisray.rdir[1] = thisray.rdir[2] = 0.0; |
319 |
< |
thisray.rmax = 0.0; |
317 |
> |
memset(&thisray, 0, sizeof(thisray)); |
318 |
|
rayorigin(&thisray, PRIMARY, NULL, NULL); |
319 |
|
printvals(&thisray); |
320 |
|
} |
341 |
|
) |
342 |
|
{ |
343 |
|
void (*old_revf)(RAY *) = r->revf; |
344 |
< |
|
345 |
< |
r->rot = 1e-5; /* pretend we hit surface */ |
344 |
> |
/* pretend we hit surface */ |
345 |
> |
r->rxt = r->rot = 1e-5; |
346 |
|
VSUM(r->rop, r->rorg, r->rdir, r->rot); |
347 |
|
r->ron[0] = -r->rdir[0]; |
348 |
|
r->ron[1] = -r->rdir[1]; |