118 |
|
*/ |
119 |
|
/* add source width if flat */ |
120 |
|
if (np->specfl & SP_FLAT) |
121 |
< |
au2 = av2 = omega * (0.25/PI); |
121 |
> |
au2 = av2 = (1. - dstrsrc) * omega * (0.25/PI); |
122 |
|
else |
123 |
|
au2 = av2 = 0.0; |
124 |
|
au2 += np->u_alpha*np->u_alpha; |
324 |
|
if (normalize(np->v) == 0.0) { |
325 |
|
if (fabs(np->u_alpha - np->v_alpha) > 0.001) |
326 |
|
objerror(np->mp, WARNING, "illegal orientation vector"); |
327 |
< |
getperpendicular(np->u, np->pnorm, 1); /* punting */ |
327 |
> |
getperpendicular(np->u, np->pnorm, 0); /* punting */ |
328 |
|
fcross(np->v, np->pnorm, np->u); |
329 |
|
np->u_alpha = np->v_alpha = sqrt( 0.5 * |
330 |
|
(np->u_alpha*np->u_alpha + np->v_alpha*np->v_alpha) ); |
361 |
|
nstarget = 1; |
362 |
|
} |
363 |
|
scolorblack(scol); |
364 |
< |
dimlist[ndims++] = (int)(size_t)np->mp; |
364 |
> |
dimlist[ndims_inc()] = (int)(size_t)np->mp; |
365 |
|
maxiter = MAXITER*nstarget; |
366 |
|
for (nstaken = ntrials = 0; (nstaken < nstarget) & |
367 |
|
(ntrials < maxiter); ntrials++) { |
409 |
|
scalescolor(scol, d); |
410 |
|
saddscolor(np->rp->rcol, scol); |
411 |
|
} |
412 |
< |
ndims--; |
412 |
> |
dec_ndims(); |
413 |
|
} |
414 |
|
/* compute transmission */ |
415 |
|
copyscolor(sr.rcoef, np->mcolor); /* modify by material color */ |
428 |
|
} else |
429 |
|
nstarget = 1; |
430 |
|
} |
431 |
< |
dimlist[ndims++] = (int)(size_t)np->mp; |
431 |
> |
dimlist[ndims_inc()] = (int)(size_t)np->mp; |
432 |
|
maxiter = MAXITER*nstarget; |
433 |
|
for (nstaken = ntrials = 0; (nstaken < nstarget) & |
434 |
|
(ntrials < maxiter); ntrials++) { |
464 |
|
saddscolor(np->rp->rcol, sr.rcol); |
465 |
|
++nstaken; |
466 |
|
} |
467 |
< |
ndims--; |
467 |
> |
dec_ndims(); |
468 |
|
} |
469 |
|
} |