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

Comparing ray/src/util/glarendx.c (file contents):
Revision 1.2 by greg, Wed Apr 17 08:21:41 1991 UTC vs.
Revision 1.4 by greg, Thu Apr 18 15:18:20 1991 UTC

# Line 53 | Line 53 | int    print_header = 1;
53  
54   VIEW    midview = STDVIEW;
55  
56 + int     wrongformat = 0;
57  
58 +
59   main(argc, argv)
60   int     argc;
61   char    *argv[];
# Line 89 | Line 91 | char   *argv[];
91                          exit(1);
92                  }
93                                          /* read header */
94 <        getheader(stdin, headline);
94 >        getheader(stdin, headline, NULL);
95 >        if (wrongformat) {
96 >                fprintf(stderr, "%s: bad input format\n", progname);
97 >                exit(1);
98 >        }
99          if (print_header) {             /* add to header */
100                  printargs(i, argv, stdout);
101                  putchar('\n');
102          }
103                                          /* set view */
104          if (setview(&midview) != NULL) {
105 <                fprintf(stderr, "%s: bad view information in input\n");
105 >                fprintf(stderr, "%s: bad view information in input\n",
106 >                                progname);
107                  exit(1);
108          }
109                                          /* get findglare data */
# Line 119 | Line 126 | userr:
126   headline(s)                     /* get line from header */
127   char    *s;
128   {
129 +        char    fmt[32];
130 +
131          if (print_header)               /* copy to output */
132                  fputs(s, stdout);
133          if (!strncmp(s, VIEWSTR, VIEWSTRL))
134                  sscanview(&midview, s+VIEWSTRL);
135 +        else if (isformat(s)) {
136 +                formatval(fmt, s);
137 +                wrongformat = strcmp(fmt, "ASCII");
138 +        }
139   }
140  
141  
# Line 255 | Line 268 | struct glare_dir       *gd;
268          register struct glare_src       *gs;
269          double  p;
270          double  sum;
271 +        double  wtot, brsum;
272          int     n;
273  
274 <        sum = 0.0; n = 0;
274 >        sum = wtot = brsum = 0.0; n = 0;
275          for (gs = all_srcs; gs != NULL; gs = gs->next) {
276                  p = posindex(gs->dir, midview.vdir, midview.vup);
277                  if (p <= FTINY)
278                          continue;
279                  sum += gs->lum * q(gs->dom) / p;
280 +                brsum += gs->lum * gs->dom;
281 +                wtot += gs->dom;
282                  n++;
283          }
284          if (n == 0)
285                  return(0.0);
286          else
287                  return( pow(
288 <                        .5*sum/pow(direct(gd)+gd->indirect,.44),
288 >                        .5*sum/pow((brsum+(5.-wtot)*gd->indirect/PI)/5.,.44),
289                          pow((double)n, -.0914) ) );
290   #undef q
291   }
# Line 288 | Line 304 | double
304   guth_vcp(gd)            /* compute Guth visual comfort probability */
305   struct glare_dir        *gd;
306   {
307 <        return(100.*norm_integral(-6.374+1.3227*log(guth_dgr(gd))));
307 >        return(100.*norm_integral(6.374-1.3227*log(guth_dgr(gd))));
308   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines