59 |
|
|
60 |
|
static int |
61 |
|
volume_sign(r, v1, v2) /* get signed volume for ray and edge */ |
62 |
< |
register RAY *r; |
62 |
> |
RAY *r; |
63 |
|
int32 v1, v2; |
64 |
|
{ |
65 |
< |
int reversed = 0; |
66 |
< |
register struct EdgeSide *ecp; |
65 |
> |
int reversed = 0; |
66 |
> |
struct EdgeSide *ecp; |
67 |
|
|
68 |
|
if (v1 > v2) { |
69 |
|
int32 t = v2; v2 = v1; v1 = t; |
130 |
|
continue; /* ray is tangent */ |
131 |
|
VSUB(va, tv[0].v, r->rorg); |
132 |
|
d = DOT(va, nrm) / d; |
133 |
< |
if (d <= FTINY || d >= r->rot) |
133 |
> |
if ((d <= FTINY) | (d >= r->rot)) |
134 |
|
continue; /* not good enough */ |
135 |
|
r->robj = oset[i]; /* else record hit */ |
136 |
|
r->ro = edge_cache.o; |
142 |
|
} |
143 |
|
|
144 |
|
|
145 |
< |
extern int |
145 |
> |
int |
146 |
|
o_mesh( /* compute ray intersection with a mesh */ |
147 |
|
OBJREC *o, |
148 |
< |
register RAY *r |
148 |
> |
RAY *r |
149 |
|
) |
150 |
|
{ |
151 |
|
RAY rcont; |
181 |
|
if (!(flags & MT_V)) |
182 |
|
objerror(o, INTERNAL, "missing mesh vertices in o_mesh"); |
183 |
|
r->robj = objndx(o); /* set object and material */ |
184 |
< |
if (o->omod == OVOID && tmod != OVOID) { |
184 |
> |
if ((o->omod == OVOID) & (tmod != OVOID)) { |
185 |
|
r->ro = getmeshpseudo(curmsh, tmod); |
186 |
|
r->rox = &curmi->x; |
187 |
|
} else |
210 |
|
wt[2]*tv[2].uv[i]; |
211 |
|
else |
212 |
|
r->uv[0] = r->uv[1] = .0; |
213 |
< |
|
214 |
< |
/* return hit */ |
215 |
< |
return(1); |
213 |
> |
|
214 |
> |
return(1); /* return hit */ |
215 |
|
} |