--- ray/src/util/rfluxmtx.c 2014/12/04 05:26:28 2.19 +++ ray/src/util/rfluxmtx.c 2015/02/18 06:18:38 2.23 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rfluxmtx.c,v 2.19 2014/12/04 05:26:28 greg Exp $"; +static const char RCSid[] = "$Id: rfluxmtx.c,v 2.23 2015/02/18 06:18:38 greg Exp $"; #endif /* * Calculate flux transfer matrix or matrices using rcontrib @@ -362,8 +362,8 @@ parse_params(PARAMS *p, char *pargs) case ' ': case '\t': case '\r': - continue; case '\n': + continue; case '\0': return(nparams); default: @@ -417,7 +417,10 @@ finish_receiver(void) } /* determine sample type/bin */ if (tolower(curparams.hemis[0]) == 'u' | curparams.hemis[0] == '1') { - binv = "0"; /* uniform sampling -- one bin */ + sprintf(sbuf, "if(-Dx*%g-Dy*%g-Dz*%g,0,-1)", + curparams.nrm[0], curparams.nrm[1], curparams.nrm[2]); + binv = savqstr(sbuf); + nbins = "1"; /* uniform sampling -- one bin */ uniform = 1; } else if (tolower(curparams.hemis[0]) == 's' && tolower(curparams.hemis[1]) == 'c') { @@ -1347,7 +1350,7 @@ main(int argc, char *argv[]) #ifdef getc_unlocked flockfile(rcfp); #endif - if (verbose) { + if (verbose > 0) { fprintf(stderr, "%s: sampling %d directions", progname, nsbins); if (curparams.nsurfs > 1) fprintf(stderr, " (%d elements)\n", curparams.nsurfs); @@ -1357,7 +1360,7 @@ main(int argc, char *argv[]) for (i = 0; i < nsbins; i++) /* send rcontrib ray samples */ if (!(*curparams.sample_basis)(&curparams, i, rcfp)) return(1); - return(pclose(rcfp) == 0); /* all finished! */ + return(pclose(rcfp) < 0); /* all finished! */ userr: if (a < argc-2) fprintf(stderr, "%s: unsupported option '%s'", progname, argv[a]);