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

Comparing ray/src/common/objset.c (file contents):
Revision 1.3 by greg, Fri Sep 7 08:32:36 1990 UTC vs.
Revision 1.6 by greg, Fri Dec 14 10:06:33 1990 UTC

# Line 18 | Line 18 | static char SCCSid[] = "$SunId$ LBL";
18  
19   #include  "otypes.h"
20  
21 < #define  OSTSIZ         3037            /* object table size (a prime!) */
21 > #ifndef  OSTSIZ
22 > #define  OSTSIZ         12329           /* object table size (a prime!) */
23 > #endif
24  
25   static OBJECT  *ostable[OSTSIZ];        /* the object set table */
26  
# Line 44 | Line 46 | OBJECT  obj;
46   {
47          register int  i;
48  
49 <        for (i = (*os++)--; i > 0 && *os < obj; i--, os++)
50 <                ;
49 >        i = (*os)--;
50 >        os++;
51 >        while (i > 0 && *os < obj) {
52 >                i--;
53 >                os++;
54 >        }
55          while (--i > 0) {
56                  os[0] = os[1];
57                  os++;
# Line 183 | Line 189 | int  orig, nobjs;
189   {
190          int  n;
191          register OBJECT  *os;
192 <        register OBJECT  i, t;
192 >        register OBJECT  i;
193  
194          for (n = 0; n < OSTSIZ; n++) {
195                  if ((os = ostable[n]) == NULL)
196                          continue;
197                  while ((i = *os++) > 0)
198                          while (i--) {
199 <                                t = *os++;
200 <                                if (t >= orig && t < orig+nobjs) {
201 <                                        t = objptr(t)->otype;
202 <                                        if (!issurface(t))
197 <                                                return(1);
198 <                                }
199 >                                if (*os >= orig && *os < orig+nobjs &&
200 >                                                !issurface(objptr(*os)->otype))
201 >                                        return(1);
202 >                                os++;
203                          }
204          }
205          return(0);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines