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

Comparing ray/src/cv/mgflib/context.c (file contents):
Revision 1.7 by greg, Sat Jun 25 09:48:01 1994 UTC vs.
Revision 1.8 by greg, Sat Jun 25 11:55:45 1994 UTC

# Line 83 | Line 83 | register char  **av;
83                  c_ccolor = (C_COLOR *)lp->data;
84                  if (ac == 3) {          /* use default template */
85                          *c_ccolor = c_dfcolor;
86 +                        c_ccolor->name = lp->key;
87                          return(MG_OK);
88                  }
89                  lp = lu_find(&clr_tab, av[3]);  /* lookup template */
# Line 91 | Line 92 | register char  **av;
92                  if (lp->data == NULL)
93                          return(MG_EUNDEF);
94                  *c_ccolor = *(C_COLOR *)lp->data;
95 +                c_ccolor->name = lp->key;
96 +                c_ccolor->clock = 1;
97                  if (ac > 4)
98                          return(MG_EARGC);
99                  return(MG_OK);
# Line 105 | Line 108 | register char  **av;
108                  if (c_ccolor->cx < 0. | c_ccolor->cy < 0. |
109                                  c_ccolor->cx + c_ccolor->cy > 1.)
110                          return(MG_EILL);
111 +                c_ccolor->clock++;
112                  return(MG_OK);
113          case MG_E_CSPEC:        /* assign spectral values */
114                  if (ac < 5)
# Line 230 | Line 234 | register char  **av;
234                  if (c_cmaterial->td < 0. | c_cmaterial->td > 1.)
235                          return(MG_EILL);
236                  c_cmaterial->td_c = *c_ccolor;
237 +                c_cmaterial->clock++;
238                  return(MG_OK);
239          case MG_E_RS:           /* set specular reflectance */
240                  if (ac != 3)
# Line 301 | Line 306 | register char  **av;
306                  c_cvertex = (C_VERTEX *)lp->data;
307                  if (ac == 3) {          /* use default template */
308                          *c_cvertex = c_dfvertex;
309 +                        c_cvertex->name = lp->key
310                          return(MG_OK);
311                  }
312                  lp = lu_find(&vtx_tab, av[3]);  /* lookup template */
# Line 309 | Line 315 | register char  **av;
315                  if (lp->data == NULL)
316                          return(MG_EUNDEF);
317                  *c_cvertex = *(C_VERTEX *)lp->data;
318 +                c_cvertex->name = lp->key
319 +                c_cvertex->clock = 1;
320                  if (ac > 4)
321                          return(MG_EARGC);
322                  return(MG_OK);
# Line 320 | Line 328 | register char  **av;
328                  c_cvertex->p[0] = atof(av[1]);
329                  c_cvertex->p[1] = atof(av[2]);
330                  c_cvertex->p[2] = atof(av[3]);
331 +                c_cvertex->clock++;
332                  return(MG_OK);
333          case MG_E_NORMAL:       /* set normal */
334                  if (ac != 4)
# Line 330 | Line 339 | register char  **av;
339                  c_cvertex->n[1] = atof(av[2]);
340                  c_cvertex->n[2] = atof(av[3]);
341                  (void)normalize(c_cvertex->n);
342 +                c_cvertex->clock++;
343                  return(MG_OK);
344          }
345          return(MG_EUNK);
# Line 379 | Line 389 | int
389   c_isgrey(clr)                   /* check if color is grey */
390   register C_COLOR        *clr;
391   {
392 <        if (!clr->flags)
392 >        if (!(clr->flags & (C_CSXY|C_CSSPEC)))
393                  return(1);              /* no settings == grey */
394          c_ccvt(clr, C_CSXY);
395          return(clr->cx >= .323 && clr->cx <= .343 &&
# Line 397 | Line 407 | int    fl;
407  
408          if (clr->flags & fl)            /* already done */
409                  return;
410 <        if (!(clr->flags & (C_CSXY|C_CSSPEC)))  /* nothing set */
410 >        if (!(clr->flags & (C_CSXY|C_CSSPEC)))  /* nothing set! */
411                  *clr = c_dfcolor;
412          else if (fl & C_CSXY) {         /* cspec -> cxy */
413                  x = y = z = 0.;
# Line 477 | Line 487 | char   **av;
487                          clr->ssum += clr->ssamp[i];
488                  }
489          clr->flags = C_CDSPEC|C_CSSPEC;
490 +        clr->clock++;
491          free((MEM_PTR)va);
492          return(MG_OK);
493   }
# Line 515 | Line 526 | double w1, w2;
526                  cres->cy = (w1 + w2) * scale;
527                  cres->flags = C_CDXY|C_CSXY;
528          }
529 +        cres->clock++;                  /* record the change */
530   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines