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

Comparing ray/src/hd/sm_qtree.h (file contents):
Revision 3.3 by gwlarson, Tue Aug 25 11:03:27 1998 UTC vs.
Revision 3.4 by gwlarson, Fri Sep 11 11:52:27 1998 UTC

# Line 19 | Line 19
19   *
20   *              < -1:   it is an index to a set of objects
21   */
22 + #include "object.h"
23  
24   #define  QUADTREE               int
25  
# Line 34 | Line 35
35   #define  QT_BLOCK(qt)           ((qt)>>10)      /* quadtree block index */
36   #define  QT_BLOCK_INDEX(qt)   (((qt)&0x3ff)<<2) /* quadtree index in block */
37  
38 +
39   #ifndef  QT_MAX_BLK
40   #ifdef  BIGMEM
41   #define  QT_MAX_BLK     16383           /* maximum quadtree block */
# Line 67 | Line 69
69   #define QT_SET_PTR(s)          (&((s)[1]))
70  
71  
72 < #define QT_MAX_SET        255
73 < #define MAXCSET           QT_MAX_SET*2
72 > #define QT_MAXSET        255
73 > #define MAXCSET          2*QT_MAXSET
74 > #define QT_MAXCSET       MAXCSET
75   #ifndef QT_SET_THRESHOLD
76   #define QT_SET_THRESHOLD  30  
77   #endif
# Line 77 | Line 80
80   #define QT_MAX_LEVELS     17
81   #endif
82  
83 + #define QT_HIT  -2
84 + #define QT_DONE -4
85 + #define QT_MODIFIED -8
86 +
87 + #define QT_FILL_THRESHOLD 3
88 + #define QT_EXPAND   8
89 + #define QT_COMPRESS 16
90 +
91 + #define QT_FLAG_FILL_TRI(f)  (((f)&0x7) == QT_FILL_THRESHOLD)
92 + #define QT_FLAG_UPDATE(f)    ((f)& (QT_EXPAND | QT_COMPRESS))
93 +
94   extern QUADTREE  qtnewleaf(), qtaddelem(), qtdelelem();
95  
96   extern QUADTREE  *quad_block[QT_MAX_BLK];       /* quadtree blocks */
97   extern int4  *quad_flag;                        /* zeroeth quadtree flag */
98 +
99 + extern OBJECT   **qtsettab;             /* quadtree leaf node table */
100 + extern QUADTREE  qtnumsets;             /* number of used set indices */
101 +
102 + #ifdef DEBUG
103 + extern OBJECT   *qtqueryset();
104 + #else
105 + #define qtqueryset(qt)  (qtsettab[QT_SET_INDEX(qt)])
106 + #endif
107 +
108 + #define qtinset(qt,id)  inset(qtqueryset(qt),id)
109 + #define qtgetset(os,qt) setcopy(os,qtqueryset(qt))
110 +
111 + extern QUADTREE *qtRoot_point_locate();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines