603 |
|
/* record input range */ |
604 |
|
scale = myScaffold.wmin / (double)iwmax; |
605 |
|
for (i = myScaffold.nic; i--; ) { |
606 |
< |
cd->clim[i][0] = floor(pos[i]/scale) * scale; |
606 |
> |
cd->clim[i][0] = floor(pos[i+2*rev]/scale) * scale; |
607 |
|
cd->clim[i][1] = cd->clim[i][0] + scale; |
608 |
|
} |
609 |
|
if (cd->isodist) { /* avoid issue in SDqueryTreProjSA() */ |
728 |
|
} else { |
729 |
|
const SDTreCDst *cd = (const SDTreCDst *)SDgetTreCDist(v1, sdc); |
730 |
|
if (cd == NULL) |
731 |
< |
return SDEmemory; |
732 |
< |
myPSA[0] = M_PI * (cd->clim[0][1] - cd->clim[0][0]) * |
733 |
< |
(cd->clim[1][1] - cd->clim[1][0]); |
734 |
< |
myPSA[1] = cd->max_psa; |
731 |
> |
myPSA[0] = myPSA[1] = 0; |
732 |
> |
else { |
733 |
> |
myPSA[0] = M_PI * (cd->clim[0][1] - cd->clim[0][0]) * |
734 |
> |
(cd->clim[1][1] - cd->clim[1][0]); |
735 |
> |
myPSA[1] = cd->max_psa; |
736 |
> |
} |
737 |
|
} |
738 |
|
switch (qflags) { /* record based on flag settings */ |
739 |
|
case SDqueryVal: |
748 |
|
psa[1] = myPSA[1]; |
749 |
|
/* fall through */ |
750 |
|
case SDqueryMin: |
751 |
< |
if (myPSA[0] < psa[0]) |
751 |
> |
if ((myPSA[0] > 0) & (myPSA[0] < psa[0])) |
752 |
|
psa[0] = myPSA[0]; |
753 |
|
break; |
754 |
|
} |
1165 |
|
/* separate diffuse components */ |
1166 |
|
extract_diffuse(&sd->rLambFront, sd->rf); |
1167 |
|
extract_diffuse(&sd->rLambBack, sd->rb); |
1168 |
< |
extract_diffuse(&sd->tLamb, (sd->tf != NULL) ? sd->tf : sd->tb); |
1168 |
> |
if (sd->tf != NULL) |
1169 |
> |
extract_diffuse(&sd->tLamb, sd->tf); |
1170 |
> |
if (sd->tb != NULL) |
1171 |
> |
extract_diffuse(&sd->tLamb, sd->tb); |
1172 |
|
/* return success */ |
1173 |
|
return SDEnone; |
1174 |
|
} |