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

Comparing ray/src/util/rad.c (file contents):
Revision 2.112 by greg, Tue May 26 10:00:47 2015 UTC vs.
Revision 2.123 by greg, Wed Oct 28 02:52:17 2015 UTC

# Line 9 | Line 9 | static const char      RCSid[] = "$Id$";
9  
10   #include <ctype.h>
11   #include <time.h>
12 + #include <signal.h>
13  
14   #include "platform.h"
15   #include "rtprocess.h"
# Line 401 | Line 402 | checkfiles(void)                       /* check for existence and modified
402                  atos(fntemp, sizeof(fntemp), vval(PCMAP));
403                  pcmapname = savqstr(fntemp);
404                  pcmapdate = fdate(pcmapname);
404                if (pgmapname == NULL && !nowarn)
405                        fprintf(stderr, "%s: '%s' assigned without '%s'\n",
406                                        progname, vnam(PCMAP), vnam(PGMAP));
405          }
406          matdate = checklast(vval(MATERIAL));
407   }      
# Line 647 | Line 645 | mkpmap(void)                   /* run mkpmap if indicated */
645                  for (cp = combuf; *cp; cp++)
646                          ;
647                  mkpmapopts(cp);
648 +                                /* force file overwrite */
649 +                cp = addarg(cp, "-fo+");
650                  if (vdef(REPORT)) {
651                          char    errfile[256];
652                          int     n;
# Line 659 | Line 659 | mkpmap(void)                   /* run mkpmap if indicated */
659                          else
660                                  badvalue(REPORT);
661                  }
662 <                if (vdef(PGMAP)) {
662 >                if (pgmapname != NULL && pgmapdate < oct1date) {
663                          cp = addarg(cp, "-apg");
664                          addarg(cp, vval(PGMAP));
665                          cp = sskip(sskip(cp));  /* remove any bandwidth */
666                          *cp = '\0';
667                  }
668 <                if (vdef(PCMAP)) {
668 >                if (pcmapname != NULL && pcmapdate < oct1date) {
669                          cp = addarg(cp, "-apc");
670                          addarg(cp, vval(PCMAP));
671                          cp = sskip(sskip(cp));  /* remove any bandwidth */
# Line 675 | Line 675 | mkpmap(void)                   /* run mkpmap if indicated */
675                  if (runcom(combuf)) {
676                          fprintf(stderr, "%s: error running %s\n",
677                                          progname, c_mkpmap);
678 <                        if (pgmapname != NULL)
678 >                        if (pgmapname != NULL && pgmapdate < oct1date)
679                                  unlink(pgmapname);
680 <                        if (pcmapname != NULL)
680 >                        if (pcmapname != NULL && pcmapdate < oct1date)
681                                  unlink(pcmapname);
682                          quit(1);
683                  }
# Line 806 | Line 806 | renderopts(                    /* set rendering options */
806   {
807          char    pmapf[256], *bw;
808  
809 +        if (vdef(PGMAP)) {
810 +                *op = '\0';
811 +                bw = sskip2(vval(PGMAP), 2);
812 +                atos(pmapf, sizeof(pmapf), vval(PGMAP));
813 +                op = addarg(addarg(op, "-ap"), pmapf);
814 +                if (atoi(bw) > 0) op = addarg(op, bw);
815 +        }
816          switch(vscale(QUALITY)) {
817          case LOW:
818                  lowqopts(op, po);
# Line 817 | Line 824 | renderopts(                    /* set rendering options */
824                  hiqopts(op, po);
825                  break;
826          }
820        if (vdef(PGMAP)) {
821                bw = sskip2(vval(PGMAP), 2);
822                atos(pmapf, sizeof(pmapf), vval(PGMAP));
823                op = addarg(addarg(op, "-ap"), pmapf);
824                if (atoi(bw) > 0) op = addarg(op, bw);
825        }
827          if (vdef(PCMAP)) {
828                  bw = sskip2(vval(PCMAP), 2);
829                  atos(pmapf, sizeof(pmapf), vval(PCMAP));
# Line 832 | Line 833 | renderopts(                    /* set rendering options */
833          if (vdef(RENDER))
834                  op = addarg(op, vval(RENDER));
835          if (rvdevice != NULL) {
836 <                if (vdef(RVU))
836 >                if (vdef(RVU)) {
837                          if (vval(RVU)[0] != '-') {
838                                  atos(c_rvu, sizeof(c_rvu), vval(RVU));
839                                  po = addarg(po, sskip2(vval(RVU), 1));
840                          } else
841                                  po = addarg(po, vval(RVU));
842 +                }
843          } else {
844 <                if (vdef(RPICT))
844 >                if (vdef(RPICT)) {
845                          if (vval(RPICT)[0] != '-') {
846                                  atos(c_rpict, sizeof(c_rpict), vval(RPICT));
847                                  po = addarg(po, sskip2(vval(RPICT), 1));
848                          } else
849                                  po = addarg(po, vval(RPICT));
850 +                }
851          }
852   }
853  
# Line 1145 | Line 1148 | pfiltopts(                             /* get pfilt options */
1148                  po = addarg(po, "-m .25");
1149                  break;
1150          }
1151 <        if (vdef(PFILT))
1151 >        if (vdef(PFILT)) {
1152                  if (vval(PFILT)[0] != '-') {
1153                          atos(c_pfilt, sizeof(c_pfilt), vval(PFILT));
1154                          po = addarg(po, sskip2(vval(PFILT), 1));
1155                  } else
1156                          po = addarg(po, vval(PFILT));
1157 +        }
1158   }
1159  
1160  
# Line 1341 | Line 1345 | getview(                               /* get view n, or NULL if none */
1345          }
1346   numview:
1347          mv = nvalue(VIEWS, n);          /* use view n */
1348 <        if ((vn != NULL) & (mv != NULL))
1348 >        if ((vn != NULL) & (mv != NULL)) {
1349                  if (*mv != '-') {
1350                          char    *mv2 = mv;
1351                          while (*mv2 && !isspace(*mv2))
# Line 1349 | Line 1353 | numview:
1353                          *vn = '\0';
1354                  } else
1355                          sprintf(vn, "%d", n+1);
1356 <
1356 >        }
1357          return(specview(mv));
1358   }
1359  
# Line 1517 | Line 1521 | rpict(                         /* run rpict and pfilt for each view */
1521                                  fprintf(stderr, "%s: cannot create\n", pfile);
1522                                  quit(1);
1523                          }
1524 +                        pfile[-5] = '\0';
1525                          pfile = NULL;
1526                  }
1527          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines