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

Comparing ray/src/rt/rpict.c (file contents):
Revision 2.8 by greg, Fri Jul 10 14:58:19 1992 UTC vs.
Revision 2.12 by greg, Tue Sep 8 15:35:16 1992 UTC

# Line 26 | Line 26 | static char SCCSid[] = "$SunId$ LBL";
26  
27   #include  "random.h"
28  
29 + #include  "paths.h"
30 +
31   int  dimlist[MAXDIM];                   /* sampling dimensions */
32   int  ndims = 0;                         /* number of sampling dimensions */
33   int  samplendx;                         /* sample index number */
# Line 77 | Line 79 | extern long  nrays;                    /* number of rays traced */
79  
80   #define  pixjitter()    (.5+dstrpix*(.5-frandom()))
81  
82 < #define  HFTEMPLATE     "/tmp/hfXXXXXX"
82 > #define  RFTEMPLATE     "rfXXXXXX"
83 > #define  HFTEMPLATE     TEMPLATE
84  
85   static char  *hfname = NULL;            /* header file name */
86   static FILE  *hfp = NULL;               /* header file pointer */
# Line 179 | Line 182 | char  *pout, *zout, *prvr;
182   */
183   {
184          extern char  *rindex(), *strncpy(), *strcat();
185 <        char  fbuf[128], fbuf2[128], *zf;
185 >        char  fbuf[128], fbuf2[128];
186 >        register char  *cp;
187          RESOLU  rs;
188          double  pa;
189                                          /* finished writing header */
# Line 197 | Line 201 | char  *pout, *zout, *prvr;
201          if (seq <= 0)
202                  seq = 0;
203          else if (prvr != NULL && isint(prvr)) {
204 <                int  rn;                        /* skip to specified view */
204 >                register int  rn;               /* skip to specified view */
205                  if ((rn = atoi(prvr)) < seq)
206                          error(USER, "recover frame less than start frame");
207                  if (pout == NULL)
# Line 209 | Line 213 | char  *pout, *zout, *prvr;
213          }
214          if (pout != NULL) {
215                  sprintf(fbuf, pout, seq);
216 <                if (!strcmp(prvr, fbuf)) {      /* rename recover file */
216 >                if (prvr != NULL && !strcmp(prvr, fbuf)) {      /* rename */
217                          fbuf2[0] = '\0';
218 <                        if ((prvr = rindex(fbuf, '/')) != NULL)
219 <                                strncpy(fbuf2, fbuf, prvr-fbuf+1);
220 <                        strcat(fbuf2, "rfXXXXXX");
218 >                        if ((cp = rindex(fbuf, '/')) != NULL)
219 >                                strncpy(fbuf2, fbuf, cp-fbuf+1);
220 >                        strcat(fbuf2, RFTEMPLATE);
221                          prvr = mktemp(fbuf2);
222                          if (rename(fbuf, prvr) < 0 && errno != ENOENT) {
223                                  sprintf(errmsg,
# Line 244 | Line 248 | char  *pout, *zout, *prvr;
248                          "cannot recover view parameters from \"%s\"", prvr);
249                                  error(WARNING, errmsg);
250                          } else {
247                                char  *err;
248                                if ((err = setview(&ourview)) != NULL)
249                                        error(USER, err);
251                                  pa = 0.0;
252                                  hres = scanlen(&rs);
253                                  vres = numscans(&rs);
254                          }
255 +                if ((cp = setview(&ourview)) != NULL)
256 +                        error(USER, cp);
257                  normaspect(viewaspect(&ourview), &pa, &hres, &vres);
258                  if (seq) {
259                          if (ralrm > 0) {
260 <                                sprintf(errmsg, "starting frame %d\n", seq);
261 <                                eputs(errmsg);
260 >                                fprintf(stderr, "FRAME %d:", seq);
261 >                                fprintview(&ourview, stderr);
262 >                                putc('\n', stderr);
263 >                                fflush(stderr);
264                          }
265                          printf("FRAME=%d\n", seq);
266                  }
# Line 267 | Line 272 | char  *pout, *zout, *prvr;
272                  fputformat(COLRFMT, stdout);
273                  putchar('\n');
274                  if (zout != NULL)
275 <                        sprintf(zf=fbuf, zout, seq);
275 >                        sprintf(cp=fbuf, zout, seq);
276                  else
277 <                        zf = NULL;
278 <                render(zf, prvr);
277 >                        cp = NULL;
278 >                render(cp, prvr);
279                  prvr = NULL;
280          } while (seq++);
281   }
# Line 279 | Line 284 | char  *pout, *zout, *prvr;
284   nextview(fp)                            /* get next view from fp */
285   FILE  *fp;
286   {
287 <        char  linebuf[256], *err;
287 >        char  linebuf[256];
288  
289          while (fgets(linebuf, sizeof(linebuf), fp) != NULL)
290 <                if (isview(linebuf) && sscanview(&ourview, linebuf) > 0) {
286 <                        if ((err = setview(&ourview)) != NULL)
287 <                                error(USER, err);
290 >                if (isview(linebuf) && sscanview(&ourview, linebuf) > 0)
291                          return(0);
289                }
292          return(EOF);
293   }      
294  
# Line 615 | Line 617 | char  *oldfile;
617          unlink(oldfile);
618          return(y);
619   writerr:
620 <        error(SYSTEM, "write error in salvage");
620 >        sprintf(errmsg, "write error during recovery of \"%s\"", oldfile);
621 >        error(SYSTEM, errmsg);
622   }
623  
624  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines