1 |
< |
/* Copyright (c) 1991 Regents of the University of California */ |
1 |
> |
/* Copyright (c) 1994 Regents of the University of California */ |
2 |
|
|
3 |
|
#ifndef lint |
4 |
|
static char SCCSid[] = "$SunId$ LBL"; |
47 |
|
{ |
48 |
|
/* check if source ray */ |
49 |
|
if (r->rsrc >= 0 && source[r->rsrc].so != r->ro) |
50 |
< |
return; /* got the wrong guy */ |
50 |
> |
return(1); /* got the wrong guy */ |
51 |
|
/* compute first projection */ |
52 |
|
if (m->otype == MAT_DIRECT1 || |
53 |
|
(r->rsrc < 0 || source[r->rsrc].sa.sv.pn == 0)) |
56 |
|
if (m->otype == MAT_DIRECT2 && |
57 |
|
(r->rsrc < 0 || source[r->rsrc].sa.sv.pn == 1)) |
58 |
|
redirect(m, r, 1); |
59 |
+ |
return(1); |
60 |
|
} |
61 |
|
|
62 |
|
|
159 |
|
olddot = DOT(tr.rdir, nv); |
160 |
|
if (olddot <= FTINY && olddot >= -FTINY) |
161 |
|
return(0); /* old dir parallels plane */ |
162 |
+ |
tr.rmax = 0.0; |
163 |
|
rayorigin(&tr, NULL, PRIMARY, 1.0); |
164 |
|
if (!(*ofun[o->otype].funp)(o, &tr)) |
165 |
|
return(0); /* no intersection! */ |