| 21 |
|
int ndims = 0; /* number of sampling dimensions */ |
| 22 |
|
int samplendx = 0; /* index for this sample */ |
| 23 |
|
|
| 24 |
< |
void (*trace)(); |
| 24 |
> |
void (*trace)() = NULL; /* trace call (NULL before rcinit) */ |
| 25 |
|
|
| 26 |
|
int do_irrad = 0; /* compute irradiance? */ |
| 27 |
|
|
| 179 |
|
{ |
| 180 |
|
if (nchild > 0) /* close children if any */ |
| 181 |
|
end_children(code != 0); |
| 182 |
+ |
else if (nchild < 0) |
| 183 |
+ |
_exit(code); /* avoid flush() in child */ |
| 184 |
|
exit(code); |
| 185 |
|
} |
| 186 |
|
|
| 283 |
|
thisray.rmax = 0.0; |
| 284 |
|
rayorigin(&thisray, PRIMARY, NULL, NULL); |
| 285 |
|
/* pretend we hit surface */ |
| 286 |
< |
thisray.rt = thisray.rot = 1e-5; |
| 286 |
> |
thisray.rxt = thisray.rot = 1e-5; |
| 287 |
|
thisray.rod = 1.0; |
| 288 |
|
VCOPY(thisray.ron, dir); |
| 289 |
|
VSUM(thisray.rop, org, dir, 1e-4); |