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

Comparing ray/src/hd/rhd_qtree.c (file contents):
Revision 3.18 by gwlarson, Mon Aug 10 18:39:46 1998 UTC vs.
Revision 3.23 by schorsch, Mon Jun 30 14:59:11 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1998 Silicon Graphics, Inc. */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ SGI";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Quadtree driver support routines.
6   */
7  
8 + #include <string.h>
9 +
10   #include "standard.h"
11   #include "rhd_qtree.h"
12                                  /* quantity of leaves to free at a time */
# Line 31 | Line 30 | struct rleaves qtL;            /* our pile of leaves */
30  
31   int     rayqleft = 0;           /* rays left to queue before flush */
32  
33 < static int4     falleaves;      /* our list of fallen leaves */
33 > static int32    falleaves;      /* our list of fallen leaves */
34  
35   #define composted(li)   (qtL.bl <= qtL.tl ? \
36                                          ((li) < qtL.bl || (li) >= qtL.tl) : \
# Line 56 | Line 55 | newtwig()                      /* allocate a twig */
55          }
56          bi = nexttwig / TBUNDLESIZ;
57          if (twigbundle[bi] == NULL) {   /* new block */
58 <                twigbundle = (RTREE **)realloc((char *)twigbundle,
58 >                twigbundle = (RTREE **)realloc((void *)twigbundle,
59                                          (bi+2)*sizeof(RTREE *));
60                  if (twigbundle == NULL)
61                          goto memerr;
# Line 84 | Line 83 | int    really;
83          nexttwig = 0;
84          if (!really) {          /* just clear allocated blocks */
85                  while (i--)
86 <                        bzero((char *)twigbundle[i], TBUNDLESIZ*sizeof(RTREE));
86 >                        memset((char *)twigbundle[i], '\0', TBUNDLESIZ*sizeof(RTREE));
87                  return;
88          }
89                                  /* else "really" means free up memory */
90          for (i = 0; twigbundle[i] != NULL; i++)
91 <                free((char *)twigbundle[i]);
92 <        free((char *)twigbundle);
91 >                free((void *)twigbundle[i]);
92 >        free((void *)twigbundle);
93          twigbundle = NULL;
94   }
95  
96  
97 < #define LEAFSIZ         (3*sizeof(float)+sizeof(int4)+\
97 > #define LEAFSIZ         (3*sizeof(float)+sizeof(int32)+\
98                          sizeof(TMbright)+6*sizeof(BYTE))
99  
100   int
# Line 122 | Line 121 | register int   n;
121                  return(0);
122                                  /* assign larger alignment types earlier */
123          qtL.wp = (float (*)[3])qtL.base;
124 <        qtL.wd = (int4 *)(qtL.wp + n);
124 >        qtL.wd = (int32 *)(qtL.wp + n);
125          qtL.brt = (TMbright *)(qtL.wd + n);
126          qtL.chr = (BYTE (*)[3])(qtL.brt + n);
127          qtL.rgb = (BYTE (*)[3])(qtL.chr + n);
# Line 169 | Line 168 | int
168   qtCompost(pct)                  /* free up some leaves */
169   int     pct;
170   {
171 <        register int4   *fl;
171 >        register int32  *fl;
172          int     nused, nclear, nmapped;
173                                  /* figure out how many leaves to clear */
174          nclear = qtL.nl * pct / 100;
# Line 358 | Line 357 | FVECT  d, p;
357          else
358                  VCOPY(qtL.wp[li], p);
359          qtL.wd[li] = encodedir(d);
360 <        tmCvColrs(&qtL.brt[li], qtL.chr[li], c, 1);
360 >        tmCvColrs(&qtL.brt[li], qtL.chr[li], (COLR *)c, 1);
361          if (putleaf(li, 1)) {
362                  if (mapit)
363 <                        tmMapPixels(qtL.rgb+li, qtL.brt+li, qtL.chr+li, 1);
363 >                        tmMapPixels((BYTE *)(qtL.rgb+li), qtL.brt+li,
364 >                                        (BYTE *)(qtL.chr+li), 1);
365                  if (--rayqleft == 0)
366                          dev_flush();            /* flush output */
367          }
# Line 412 | Line 412 | int    redo;
412                  if (tmComputeMapping(0., 0., 0.) != TM_E_OK)
413                          return(0);
414          }
415 <        if (tmMapPixels(qtL.rgb+aorg, qtL.brt+aorg,
416 <                        qtL.chr+aorg, alen) != TM_E_OK)
415 >        if (tmMapPixels((BYTE *)(qtL.rgb+aorg), qtL.brt+aorg,
416 >                        (BYTE *)(qtL.chr+aorg), alen) != TM_E_OK)
417                  return(0);
418          if (blen > 0)
419 <                tmMapPixels(qtL.rgb+borg, qtL.brt+borg,
420 <                                qtL.chr+borg, blen);
419 >                tmMapPixels((BYTE *)(qtL.rgb+borg), qtL.brt+borg,
420 >                                (BYTE *)(qtL.chr+borg), blen);
421          qtL.tml = qtL.tl;
422          return(1);
423   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines