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

Comparing ray/src/hd/holo.h (file contents):
Revision 3.22 by greg, Fri Jun 20 00:25:49 2003 UTC vs.
Revision 3.25 by greg, Thu Sep 9 01:06:19 2004 UTC

# Line 4 | Line 4
4   *
5   *      9/29/97 GWLarson
6   */
7 + #ifndef _RAD_HOLO_H_
8 + #define _RAD_HOLO_H_
9  
10   #include "standard.h"
11   #include "color.h"
12  
13 + #ifdef __cplusplus
14 + extern "C" {
15 + #endif
16 +
17   #ifndef HDMAX
18   #define HDMAX           128     /* maximum active holodeck sections */
19   #endif
# Line 92 | Line 98 | typedef struct {
98   #define hdflush(hp)     (hdfreebeam(hp,0), hdsync(hp,0))
99   #define hdclobber(hp)   (hdkillbeam(hp,0), hdsync(hp,0))
100  
101 + /*
102   extern HOLO     *hdinit(), *hdalloc();
103   extern BEAM     *hdgetbeam();
104   extern RAYVAL   *hdnewrays();
# Line 100 | Line 107 | extern off_t   hdfiluse(), hdfilen(), hdallocfrag();
107   extern double   hdray(), hdinter();
108   extern unsigned hdcode();
109   extern int      hdfilord();
110 + */
111  
112   #define FF_NEVER        0               /* never free fragments */
113   #define FF_WRITE        01              /* free fragment on write */
# Line 144 | Line 152 | extern int     hdwg1[6];               /* wall grid 1 index */
152   * in future versions, but we thought this would be best for paging speed
153   * in our initial implementation.
154   */
155 +
156 +        /* clumpbeams.c */
157 + extern void clumpbeams(HOLO *hp, int maxcnt, int maxsiz,
158 + int (*cf)(HOLO *hp, int *bqueue, int bqlen));
159 +        /* holo.c */
160 + extern void hdcompgrid(HOLO *hp);
161 + extern int hdbcoord(GCOORD gc[2], HOLO *hp, int i);
162 + extern int hdbindex(HOLO *hp, GCOORD gc[2]);
163 + extern void hdcell(FVECT cp[4], HOLO *hp, GCOORD *gc);
164 + extern int hdlseg(int   lseg[2][3], HOLO        *hp, GCOORD     gc[2]);
165 + extern unsigned int hdcode(HOLO *hp, double d);
166 + extern void hdgrid( FVECT gp, HOLO *hp, FVECT wp);
167 + extern void hdworld(FVECT wp, HOLO *hp, FVECT gp);
168 + extern double hdray(FVECT ro, FVECT rd, HOLO *hp, GCOORD gc[2], BYTE r[2][2]);
169 + extern double hdinter(GCOORD gc[2], BYTE r[2][2], double *ed, HOLO *hp,
170 +                FVECT ro, FVECT rd);
171 +        /* holofile.c */
172 + extern HOLO * hdinit(int fd, HDGRID *hproto);
173 + extern void hddone(HOLO *hp);
174 + extern int hdsync(HOLO *hp, int all);
175 + extern off_t hdfilen(int fd);
176 + extern off_t hdfiluse(int fd);
177 + extern RAYVAL * hdnewrays(HOLO *hp, int i, int nr);
178 + extern BEAM * hdgetbeam(HOLO *hp, int i);
179 + extern void hdloadbeams(HDBEAMI *hb, int n, void (*bf)(BEAM *bp, HDBEAMI *hb));
180 + extern int hdfreebeam(HOLO *hp, int i);
181 + extern int hdfreefrag(HOLO *hp, int i);
182 + extern int hdfragOK(int fd, int *listlen, int32 *listsiz);
183 + extern int hdkillbeam(HOLO *hp, int i);
184 +
185 +
186 + #ifdef __cplusplus
187 + }
188 + #endif
189 + #endif /* _RAD_HOLO_H_ */
190 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines