ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rfluxmtx.c
(Generate patch)

Comparing ray/src/util/rfluxmtx.c (file contents):
Revision 2.2 by greg, Mon Jul 21 15:59:47 2014 UTC vs.
Revision 2.3 by greg, Tue Jul 22 02:12:48 2014 UTC

# Line 373 | Line 373 | static void
373   finish_receiver(void)
374   {
375          char    *calfn = NULL;
376 +        char    *params = NULL;
377          char    *binv = NULL;
378          char    *binf = NULL;
379          char    *nbins = NULL;
# Line 405 | Line 406 | finish_receiver(void)
406                  else
407                          curparams.vup[1] = 1;
408          if (tolower(curparams.hemis[0]) == 'u' | curparams.hemis[0] == '1') {
409 <                binv = "0";
409 >                binv = "0";             /* uniform sampling -- one bin */
410          } else if (tolower(curparams.hemis[0]) == 's' &&
411                                  tolower(curparams.hemis[1]) == 'c') {
412                                          /* assign parameters */
# Line 414 | Line 415 | finish_receiver(void)
415                          fputs(": missing size for Shirley-Chiu sampling!\n", stderr);
416                          exit(1);
417                  }
418 +                calfn = shirchiufn; shirchiufn = NULL;
419                  sprintf(sbuf, "SCdim=%d,Nx=%g,Ny=%g,Nz=%g,Ux=%g,Uy=%g,Uz=%g",
420                                  curparams.hsiz,
421                          curparams.nrm[0], curparams.nrm[1], curparams.nrm[2],
422                          curparams.vup[0], curparams.vup[1], curparams.vup[2]);
423 <                CHECKARGC(2);
422 <                rcarg[nrcargs++] = "-p";
423 <                rcarg[nrcargs++] = savqstr(sbuf);
424 <                calfn = shirchiufn; shirchiufn = NULL;
423 >                params = savqstr(sbuf);
424                  binv = "scbin";
425                  nbins = "SCdim*SCdim";
426          } else if ((tolower(curparams.hemis[0]) == 'r') |
427                          (tolower(curparams.hemis[0]) == 't')) {
428                  calfn = reinhfn; reinhfn = NULL;
429 < /* XXX Need to set number of divisions */
430 <                binf = "rhbin";
431 <                nbins = "Nrhbins";
429 >                sprintf(sbuf, "MF=%d,Nx=%g,Ny=%g,Nz=%g,Ux=%g,Uy=%g,Uz=%g",
430 >                                curparams.hsiz,
431 >                        curparams.nrm[0], curparams.nrm[1], curparams.nrm[2],
432 >                        curparams.vup[0], curparams.vup[1], curparams.vup[2]);
433 >                params = savqstr(sbuf);
434 >                binv = "rbin";
435 >                nbins = "Nrbins";
436          } else if (tolower(curparams.hemis[0]) == 'k' &&
437                          !curparams.hemis[1] |
438                          (tolower(curparams.hemis[1]) == 'f') |
# Line 459 | Line 462 | finish_receiver(void)
462                  rcarg[nrcargs++] = "-f";
463                  rcarg[nrcargs++] = calfn;
464          }
465 +        if (params != NULL) {           /* parameters _after_ cal file */
466 +                CHECKARGC(2);
467 +                rcarg[nrcargs++] = "-p";
468 +                rcarg[nrcargs++] = params;
469 +        }
470          if (nbins != NULL) {            /* add #bins if set */
471                  CHECKARGC(2);
472                  rcarg[nrcargs++] = "-bn";
473                  rcarg[nrcargs++] = nbins;
474          }
475 <        if (binfv != NULL) {
475 >        if (binv != NULL) {
476                  CHECKARGC(2);           /* assign bin variable */
477                  rcarg[nrcargs++] = "-b";
478                  rcarg[nrcargs++] = binv;
479          } else if (binf != NULL) {
480                  CHECKARGC(2);           /* assign bin function */
481 +                rcarg[nrcargs++] = "-b";
482                  sprintf(sbuf, "%s(%g,%g,%g,%g,%g,%g)", binf,
483                          curparams.nrm[0], curparams.nrm[1], curparams.nrm[2],
484                          curparams.vup[0], curparams.vup[1], curparams.vup[2]);
476                rcarg[nrcargs++] = "-b";
485                  rcarg[nrcargs++] = savqstr(sbuf);
486          }
487          CHECKARGC(2);                           /* modifier argument goes last */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines