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

Comparing ray/src/util/wrapBSDF.c (file contents):
Revision 2.7 by greg, Mon Feb 16 19:11:28 2015 UTC vs.
Revision 2.12 by greg, Wed Mar 4 17:42:54 2015 UTC

# Line 66 | Line 66 | int            nfield_assign = 0;
66                                          /* data file(s) & spectra */
67   enum { DTtransForward, DTtransBackward, DTreflForward, DTreflBackward };
68  
69 < enum { DSsolar=-1, DSnir=-2, DSxbar31=-3, DSvisible=-4, DSzbar31=-5 };
69 > enum { DSsolar=-1, DSnir=-2, DSxbar31=-3, DSvisible=-4, DSzbar31=-5,
70 >        DSuprime=-6, DSvprime=-7 };
71  
72   #define MAXFILES        20
73  
# Line 159 | Line 160 | input2str(const char *inpspec)
160                          fprintf(stderr, "%s: cannot open\n", inpspec);
161                          return "";
162                  }
163 + #ifndef _WIN32                          /* XXX somehow broken on Windows */
164                  len = lseek(fd, 0L, SEEK_END);
165                  if (len > 0) {
166                          lseek(fd, 0L, SEEK_SET);
# Line 177 | Line 179 | input2str(const char *inpspec)
179                          close(fd);
180                          return str;
181                  }
182 + #endif
183                  fp = fdopen(fd, "r");           /* not a regular file */
184          }
185                                                  /* reading from stream */
# Line 294 | Line 297 | mat_assignments(const char *caller, const char *fn, ez
297          if (xml_input == win6_template)
298              for (i = 0; XMLfieldID[i].nickName[0]; i++)
299                  if (XMLfieldID[i].win_need &&
300 <                        !ezxml_txt(ezxml_child(wtl,XMLfieldID[i].fullName))[0]) {
300 >                        !ezxml_txt(ezxml_child(wtl,XMLfieldID[i].fullName))[0])
301                          fprintf(stderr,
302 <                        "%s: missing required '%s' assignment for WINDOW <%s>\n",
302 >                        "%s: warning - missing '%s' assignment for WINDOW <%s>\n",
303                                          caller, XMLfieldID[i].nickName,
304                                          XMLfieldID[i].fullName);
305 <                        return 0;
303 <                }
304 <        return 1;               /* no errors */
305 >        return 1;
306   }
307  
308   /* Complete angle basis specification */
# Line 452 | Line 453 | writeBSDFblock(const char *caller, struct s_dfile *df)
453                  puts("\t\tSourceSpectrum>CIE Illuminant D65 1nm.ssp</SourceSpectrum>");
454                  puts("\t\t<DetectorSpectrum>ASTM E308 1931 Z.dsp</DetectorSpectrum>");
455                  break;
456 +        case DSuprime:
457 +                puts("\t\t<Wavelength unit=\"Integral\">CIE-Z</Wavelength>");
458 +                puts("\t\tSourceSpectrum>CIE Illuminant D65 1nm.ssp</SourceSpectrum>");
459 +                puts("\t\t<DetectorSpectrum>ASTM E308 1931 u.dsp</DetectorSpectrum>");
460 +                break;
461 +        case DSvprime:
462 +                puts("\t\t<Wavelength unit=\"Integral\">CIE-Z</Wavelength>");
463 +                puts("\t\tSourceSpectrum>CIE Illuminant D65 1nm.ssp</SourceSpectrum>");
464 +                puts("\t\t<DetectorSpectrum>ASTM E308 1931 v.dsp</DetectorSpectrum>");
465 +                break;
466          case DSsolar:
467                  puts("\t\t<Wavelength unit=\"Integral\">Solar</Wavelength>");
468                  puts("\t\tSourceSpectrum>CIE Illuminant D65 1nm.ssp</SourceSpectrum>");
# Line 707 | Line 718 | UsageExit(const char *pname)
718   {
719          fputs("Usage: ", stderr);
720          fputs(pname, stderr);
721 <        fputs(" [-W][-a {kf|kh|kq|t3|t4}][-u unit][-g geom][-f 'x=string;y=string']", stderr);
721 >        fputs(" [-W][-c][-a {kf|kh|kq|t3|t4}][-u unit][-g geom][-f 'x=string;y=string']", stderr);
722          fputs(" [-s spectr][-tb inp][-tf inp][-rb inp][-rf inp]", stderr);
723          fputs(" [input.xml]\n", stderr);
724          exit(1);
# Line 775 | Line 786 | main(int argc, char *argv[])
786                                  UsageExit(argv[0]);
787                          continue;
788                  case 'c':               /* correct solid angle */
789 <                        correct_solid_angle ^= 1;
789 >                        correct_solid_angle = 1;
790                          continue;
791                  case 't':               /* transmission */
792                          if (i >= argc-1)
# Line 818 | Line 829 | main(int argc, char *argv[])
829                                  argv[i] = (char *)stdin_name;
830                          }
831                          data_file[ndataf].fname = argv[i];
832 <                        data_file[ndataf++].spectrum = cur_spectrum;
832 >                        data_file[ndataf].spectrum = cur_spectrum;
833 >                        ndataf++;
834                          continue;
835                  case 's':               /* spectrum name or input file */
836                          if (++i >= argc)
# Line 832 | Line 844 | main(int argc, char *argv[])
844                                  cur_spectrum = DSxbar31;
845                          else if (!strcasecmp(argv[i], "CIE-Z"))
846                                  cur_spectrum = DSzbar31;
847 +                        else if (!strcasecmp(argv[i], "CIE-u"))
848 +                                cur_spectrum = DSuprime;
849 +                        else if (!strcasecmp(argv[i], "CIE-v"))
850 +                                cur_spectrum = DSvprime;
851                          else if (!strcasecmp(argv[i], "NIR"))
852                                  cur_spectrum = DSnir;
853                          else {
# Line 880 | Line 896 | doneOptions:                                   /* get XML input */
896          } else {
897                  xml_input = argv[i];
898          }
883        if ((xml_input == win6_template) & (angle_basis == ABdefault))
884                angle_basis = ABklemsFull;
899                                                  /* wrap it! */
900          return !wrapBSDF(argv[0]);
901   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines