217 |
|
if (normalize(np->v) == 0.0) { |
218 |
|
if (fabs(np->u_power - np->v_power) > 0.1) |
219 |
|
objerror(np->mp, WARNING, "bad orientation vector"); |
220 |
< |
getperpendicular(np->u, np->pnorm, 1); /* punting */ |
220 |
> |
getperpendicular(np->u, np->pnorm, 0); /* punting */ |
221 |
|
fcross(np->v, np->pnorm, np->u); |
222 |
|
np->u_power = np->v_power = |
223 |
|
2./(1./(np->u_power+1e-5) + 1./(np->v_power+1e-5)); |
238 |
|
int maxiter, ntrials, nstarget, nstaken; |
239 |
|
int i; |
240 |
|
|
241 |
< |
if (rayorigin(&sr, SPECULAR, np->rp, np->scolor) < 0) |
241 |
> |
if (rayorigin(&sr, RSPECULAR, np->rp, np->scolor) < 0) |
242 |
|
return; |
243 |
|
|
244 |
|
nstarget = 1; |
253 |
|
} else |
254 |
|
nstarget = 1; |
255 |
|
} |
256 |
< |
dimlist[ndims++] = (int)(size_t)np->mp; |
256 |
> |
dimlist[ndims_inc] = (int)(size_t)np->mp; |
257 |
|
maxiter = MAXITER*nstarget; |
258 |
|
for (nstaken = ntrials = 0; nstaken < nstarget && |
259 |
|
ntrials < maxiter; ntrials++) { |