| 720 |
|
/* compute projected areas */ |
| 721 |
|
for (i = 0, sp = p->slist; sp != NULL; i++, sp = sp->next) { |
| 722 |
|
projsa[i] = -DOT(sp->snrm, rdir) * sp->area; |
| 723 |
< |
tarea += projsa[i] *= (double)(projsa[i] > FTINY); |
| 723 |
> |
tarea += projsa[i] *= (double)(projsa[i] > 0); |
| 724 |
|
} |
| 725 |
< |
if (tarea < 0) { /* wrong side of sender? */ |
| 725 |
> |
if (tarea < FTINY*FTINY) { /* wrong side of sender? */ |
| 726 |
|
fputs(progname, stderr); |
| 727 |
|
fputs(": internal - sample behind all sender elements!\n", |
| 728 |
|
stderr); |
| 997 |
|
VCOPY(e1, e2); |
| 998 |
|
} |
| 999 |
|
p->area = normalize(p->snrm)*0.5; |
| 1000 |
< |
return(p->area > FTINY); |
| 1000 |
> |
return(p->area > FTINY*FTINY); |
| 1001 |
|
} |
| 1002 |
|
|
| 1003 |
|
/* Add a surface to our current parameters */ |
| 1060 |
|
snew->area *= PI*snew->area; |
| 1061 |
|
break; |
| 1062 |
|
} |
| 1063 |
< |
if ((snew->area <= FTINY) & (verbose >= 0)) { |
| 1063 |
> |
if ((snew->area <= FTINY*FTINY) & (verbose >= 0)) { |
| 1064 |
|
fprintf(stderr, "%s: warning - zero area for surface '%s'\n", |
| 1065 |
|
progname, oname); |
| 1066 |
|
free(snew); |