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

Comparing ray/src/util/rtcontrib.c (file contents):
Revision 1.10 by greg, Thu Jun 2 04:47:27 2005 UTC vs.
Revision 1.12 by greg, Fri Jun 3 14:29:42 2005 UTC

# Line 164 | Line 164 | main(int argc, char *argv[])
164          int     i, j;
165                                  /* global program name */
166          gargv = argv;
167 <                                /* set up calcomp mode */
167 >                                /* initialize calcomp routines */
168          esupport |= E_VARIABLE|E_FUNCTION|E_INCHAN|E_RCONST|E_REDEFW;
169          esupport &= ~(E_OUTCHAN);
170 +        varset("PI", ':', PI);
171                                  /* get our options */
172          for (i = 1; i < argc-1; i++) {
173                                                  /* expand arguments */
# Line 705 | Line 706 | done_contrib(void)
706          MODCONT *mp;
707                                                  /* output modifiers in order */
708          for (i = 0; i < nmods; i++) {
709 +                FILE    *fp;
710                  mp = (MODCONT *)lu_find(&modconttab,modname[i])->data;
711 <                for (j = 0; j < mp->nbins; j++)
712 <                        putcontrib(mp->cbin[j],
711 >                fp = getofile(mp->outspec, mp->modname, 0);
712 >                putcontrib(mp->cbin[0], fp);
713 >                if (mp->nbins > 3 &&            /* minor optimization */
714 >                                fp == getofile(mp->outspec, mp->modname, 1))
715 >                        for (j = 1; j < mp->nbins; j++)
716 >                                putcontrib(mp->cbin[j], fp);
717 >                else
718 >                        for (j = 1; j < mp->nbins; j++)
719 >                                putcontrib(mp->cbin[j],
720                                          getofile(mp->outspec, mp->modname, j));
721                                                  /* clear for next ray tree */
722                  memset(mp->cbin, 0, sizeof(DCOLOR)*mp->nbins);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines