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

Comparing ray/src/gen/gensurf.c (file contents):
Revision 2.24 by greg, Fri Jan 12 00:50:17 2018 UTC vs.
Revision 2.27 by greg, Sun Jun 14 03:54:23 2020 UTC

# Line 99 | Line 99 | char  *argv[];
99          for (i = 8; i < argc; i++)
100                  if (!strcmp(argv[i], "-e"))
101                          scompile(argv[++i], NULL, 0);
102 <                else if (!strcmp(argv[i], "-f"))
103 <                        fcompile(argv[++i]);
104 <                else if (!strcmp(argv[i], "-s"))
102 >                else if (!strcmp(argv[i], "-f")) {
103 >                        char  *fpath = getpath(argv[++i], getrlibpath(), 0);
104 >                        if (fpath == NULL) {
105 >                                fprintf(stderr, "%s: cannot find file '%s'\n",
106 >                                                argv[0], argv[i]);
107 >                                quit(1);
108 >                        }
109 >                        fcompile(fpath);
110 >                } else if (!strcmp(argv[i], "-s"))
111                          smooth++;
112                  else if (!strcmp(argv[i], "-o"))
113                          objout++;
# Line 110 | Line 116 | char  *argv[];
116  
117          modname = argv[1];
118          surfname = argv[2];
119 <        m = atoi(argv[6]);
120 <        n = atoi(argv[7]);
119 >        m = eval(argv[6]) + .5;
120 >        n = eval(argv[7]) + .5;
121          if (m <= 0 || n <= 0)
122                  goto userror;
123          if (!strcmp(argv[5], "-") || access(argv[5], 4) == 0) { /* file? */
# Line 504 | Line 510 | compnorms(             /* compute row of averaged normals */
510                                          /* compute row 1 normals */
511          while (siz-- >= 0) {
512                  if (!r1[0].valid)
513 <                        continue;
513 >                        goto skip;
514                  if (!r0[0].valid) {
515                          if (!r2[0].valid) {
516                                  r1[0].n[0] = r1[0].n[1] = r1[0].n[2] = 0.0;
517 <                                continue;
517 >                                goto skip;
518                          }
519                          fvsum(v1, r2[0].p, r1[0].p, -1.0);
520                  } else if (!r2[0].valid)
# Line 518 | Line 524 | compnorms(             /* compute row of averaged normals */
524                  if (!r1[-1].valid) {
525                          if (!r1[1].valid) {
526                                  r1[0].n[0] = r1[0].n[1] = r1[0].n[2] = 0.0;
527 <                                continue;
527 >                                goto skip;
528                          }
529                          fvsum(v2, r1[1].p, r1[0].p, -1.0);
530                  } else if (!r1[1].valid)
# Line 527 | Line 533 | compnorms(             /* compute row of averaged normals */
533                          fvsum(v2, r1[1].p, r1[-1].p, -1.0);
534                  fcross(r1[0].n, v1, v2);
535                  normalize(r1[0].n);
536 +        skip:
537                  r0++; r1++; r2++;
538          }
539   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines