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

Comparing ray/src/util/rcode_depth.c (file contents):
Revision 2.9 by greg, Tue Feb 11 18:15:23 2020 UTC vs.
Revision 2.12 by greg, Thu Jun 30 00:16:49 2022 UTC

# Line 45 | Line 45 | encode_depths(DEPTHCODEC *dcp)
45          long    nexpected = (long)dcp->res.xr * dcp->res.yr;
46  
47          if (dcp->inpfmt[0]) {
48 <                if (strstr(dcp->inpfmt, "ascii") != NULL)
48 >                if (!strcmp(dcp->inpfmt, "ascii"))
49                          dcp->format = 'a';
50 <                else if (strstr(dcp->inpfmt, "float") != NULL)
50 >                else if (!strcmp(dcp->inpfmt, "float"))
51                          dcp->format = 'f';
52 <                else if (strstr(dcp->inpfmt, "double") != NULL)
52 >                else if (!strcmp(dcp->inpfmt, "double"))
53                          dcp->format = 'd';
54                  else {
55                          fputs(dcp->inpname, stderr);
# Line 59 | Line 59 | encode_depths(DEPTHCODEC *dcp)
59                          return 0;
60                  }
61          }
62 +        if (dcp->format == 'a')
63 +                SET_FILE_TEXT(dcp->finp);
64  
65          do {
66                  int     ok = 0;
# Line 160 | Line 162 | pixel_depths(DEPTHCODEC *dcp, int unbuf)
162                  return 0;
163  
164          while (scanf("%d %d", &xy[0], &xy[1]) == 2) {
165 <
166 <                loc2pix(xy, &dcp->res,
165 <                        (xy[0]+.5)/dcp->res.xr, (xy[1]+.5)/dcp->res.yr);
166 <
165 >                loc2pix(xy, &dcp->res, xy[0]/(double)dcp->res.xr,
166 >                                xy[1]/(double)dcp->res.yr);
167                  d = decode_depth_pix(dcp, xy[0], xy[1]);
168                  if (d < -FTINY)
169                          return 0;
170
170                  output_depth(dcp, d);
172
171                  if (unbuf && fflush(stdout) == EOF) {
172                          fputs(progname, stderr);
173                          fputs(": write error on output\n", stderr);
# Line 256 | Line 254 | pixel_points(DEPTHCODEC *dcp, int unbuf)
254          }
255          if (!check_decode_worldpos(dcp))
256                  return 0;
257 <        
257 >
258          while (scanf("%d %d", &xy[0], &xy[1]) == 2) {
259 <                loc2pix(xy, &dcp->res,
260 <                        (xy[0]+.5)/dcp->res.xr, (xy[1]+.5)/dcp->res.yr);
259 >                loc2pix(xy, &dcp->res, xy[0]/(double)dcp->res.xr,
260 >                                xy[1]/(double)dcp->res.yr);
261                  if (get_worldpos_pix(wpos, dcp, xy[0], xy[1]) < 0)
262                          return 0;
263                  output_worldpos(dcp, wpos);
# Line 416 | Line 414 | main(int argc, char *argv[])
414                  fputs(": cannot open for writing\n", stderr);
415                  return 1;
416          }
417 <        SET_FILE_BINARY(dc.finp);
418 <        if ((conversion != CV_FWD) | (dc.format != 'a'))
421 <                SET_FILE_BINARY(stdout);
417 >        SET_FILE_BINARY(dc.finp);       /* starting assumption */
418 >        SET_FILE_BINARY(stdout);
419   #ifdef getc_unlocked                    /* avoid stupid semaphores */
420          flockfile(dc.finp);
421          flockfile(stdout);
# Line 426 | Line 423 | main(int argc, char *argv[])
423                                          /* read/copy header */
424          if (!process_dc_header(&dc, a, argv))
425                  return 1;
426 +                
427 +        if ((conversion != CV_FWD) & (dc.format == 'a'))
428 +                SET_FILE_TEXT(stdout);
429                                          /* process data */
430          switch (conversion) {
431          case CV_FWD:                    /* distance -> depth code */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines