86 |
|
rayvalue(&ar); |
87 |
|
ndims--; |
88 |
|
addcolor(dp->v, ar.rcol); |
89 |
< |
if (ar.rt < FHUGE) |
89 |
> |
if (ar.rt > FTINY && ar.rt < FHUGE) |
90 |
|
dp->r += 1.0/ar.rt; |
91 |
|
/* (re)initialize error */ |
92 |
|
if (dp->n++) { |
213 |
|
else if (arad < minarad) |
214 |
|
arad = minarad; |
215 |
|
arad /= sqrt(r->rweight); |
216 |
+ |
if (pg != NULL) { /* clip pos. gradient if too large */ |
217 |
+ |
d = 4.0*DOT(pg,pg)*arad*arad; |
218 |
+ |
if (d > 1.0) { |
219 |
+ |
d = 1.0/sqrt(d); |
220 |
+ |
for (i = 0; i < 3; i++) |
221 |
+ |
pg[i] *= d; |
222 |
+ |
} |
223 |
+ |
} |
224 |
|
return(arad); |
225 |
|
oopsy: |
226 |
|
if (div != NULL) |