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

Comparing ray/src/rt/mx_func.c (file contents):
Revision 2.2 by greg, Mon Nov 25 09:50:56 1991 UTC vs.
Revision 2.4 by gwlarson, Mon Aug 10 18:35:14 1998 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1991 Regents of the University of California */
1 > /* Copyright (c) 1998 Silicon Graphics, Inc. */
2  
3   #ifndef lint
4 < static char SCCSid[] = "$SunId$ LBL";
4 > static char SCCSid[] = "$SunId$ SGI";
5   #endif
6  
7   /*
# Line 33 | Line 33 | mx_func(m, r)                  /* compute mixture function */
33   register OBJREC  *m;
34   RAY  *r;
35   {
36 +        OBJECT  obj;
37          register int  i;
38          double  coef;
39          OBJECT  mod[2];
# Line 40 | Line 41 | RAY  *r;
41  
42          if (m->oargs.nsargs < 4)
43                  objerror(m, USER, "bad # arguments");
44 +        obj = objndx(m);
45          for (i = 0; i < 2; i++)
46                  if (!strcmp(m->oargs.sarg[i], VOIDID))
47                          mod[i] = OVOID;
48 <                else if ((mod[i] = modifier(m->oargs.sarg[i])) == OVOID) {
48 >                else if ((mod[i] = lastmod(obj, m->oargs.sarg[i])) == OVOID) {
49                          sprintf(errmsg, "undefined modifier \"%s\"",
50                                          m->oargs.sarg[i]);
51                          objerror(m, USER, errmsg);
# Line 54 | Line 56 | RAY  *r;
56          coef = evalue(mf->ep[0]);
57          if (errno) {
58                  objerror(m, WARNING, "compute error");
59 <                return;
59 >                return(0);
60          }
61 <        raymixture(r, mod[0], mod[1], coef);
61 >        if (raymixture(r, mod[0], mod[1], coef)) {
62 >                if (m->omod != OVOID)
63 >                        objerror(m, USER, "inappropriate modifier");
64 >                return(1);
65 >        }
66 >        return(0);
67   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines