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

Comparing ray/src/cv/bsdf2ttree.c (file contents):
Revision 2.32 by greg, Tue Feb 2 18:02:32 2016 UTC vs.
Revision 2.33 by greg, Tue Feb 2 18:08:32 2016 UTC

# Line 34 | Line 34 | static int             lobe_lim = 15000;
34   static int              do_prog = 79;
35  
36  
37
37   /* Start new progress bar */
38   #define prog_start(s)   if (do_prog) fprintf(stderr, "%s: %s...\n", progname, s); else
39  
# Line 72 | Line 71 | prog_done(void)
71          while (n--)
72                  fputc(' ', stderr);
73          fputc('\r', stderr);
74 + }
75 +
76 + /* Output XML prologue to stdout */
77 + static void
78 + xml_prologue(int ac, char *av[])
79 + {
80 +        puts("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
81 +        puts("<WindowElement xmlns=\"http://windows.lbl.gov\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://windows.lbl.gov/BSDF-v1.4.xsd\">");
82 +        fputs("<!-- File produced by:", stdout);
83 +        while (ac-- > 0) {
84 +                fputc(' ', stdout);
85 +                fputs(*av++, stdout);
86 +        }
87 +        puts(" -->");
88 +        puts("<WindowElementType>System</WindowElementType>");
89 +        puts("<FileType>BSDF</FileType>");
90 +        puts("<Optical>");
91 +        puts("<Layer>");
92 +        puts("\t<Material>");
93 +        printf("\t\t<Name>%s</Name>\n", bsdf_name[0] ? bsdf_name : "Unknown");
94 +        printf("\t\t<Manufacturer>%s</Manufacturer>\n",
95 +                        bsdf_manuf[0] ? bsdf_manuf : "Unknown");
96 +        puts("\t\t<DeviceType>Other</DeviceType>");
97 +        puts("\t</Material>");
98 +        puts("\t<DataDefinition>");
99 +        printf("\t\t<IncidentDataStructure>TensorTree%c</IncidentDataStructure>\n",
100 +                        single_plane_incident ? '3' : '4');
101 +        puts("\t</DataDefinition>");
102 + }
103 +
104 + /* Output XML data prologue to stdout */
105 + static void
106 + data_prologue()
107 + {
108 +        static const char       *bsdf_type[4] = {
109 +                                        "Reflection Front",
110 +                                        "Transmission Front",
111 +                                        "Transmission Back",
112 +                                        "Reflection Back"
113 +                                };
114 +
115 +        puts("\t<WavelengthData>");
116 +        puts("\t\t<LayerNumber>System</LayerNumber>");
117 +        puts("\t\t<Wavelength unit=\"Integral\">Visible</Wavelength>");
118 +        puts("\t\t<SourceSpectrum>CIE Illuminant D65 1nm.ssp</SourceSpectrum>");
119 +        puts("\t\t<DetectorSpectrum>ASTM E308 1931 Y.dsp</DetectorSpectrum>");
120 +        puts("\t\t<WavelengthDataBlock>");
121 +        printf("\t\t\t<WavelengthDataDirection>%s</WavelengthDataDirection>\n",
122 +                        bsdf_type[(input_orient>0)<<1 | (output_orient>0)]);
123 +        puts("\t\t\t<AngleBasis>LBNL/Shirley-Chiu</AngleBasis>");
124 +        puts("\t\t\t<ScatteringDataType>BTDF</ScatteringDataType>");
125 +        puts("\t\t\t<ScatteringData>");
126 + }
127 +
128 + /* Output XML data epilogue to stdout */
129 + static void
130 + data_epilogue(void)
131 + {
132 +        puts("\t\t\t</ScatteringData>");
133 +        puts("\t\t</WavelengthDataBlock>");
134 +        puts("\t</WavelengthData>");
135 + }
136 +
137 + /* Output XML epilogue to stdout */
138 + static void
139 + xml_epilogue(void)
140 + {
141 +        puts("</Layer>");
142 +        puts("</Optical>");
143 +        puts("</WindowElement>");
144   }
145  
146   /* Compute absolute relative difference */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines