--- ray/src/hd/holo.h 1997/10/31 10:23:29 3.1 +++ ray/src/hd/holo.h 1997/11/11 16:59:34 3.5 @@ -45,7 +45,7 @@ typedef struct { typedef struct { short w; /* wall number */ short i[2]; /* index on wall grid */ -} BCOORD[2]; /* beam grid coordinates */ +} GCOORD; /* grid coordinates (two for beam) */ typedef struct { unsigned int4 nrd; /* number of beam rays bundled on disk */ @@ -57,7 +57,7 @@ typedef struct { unsigned long tick; /* clock tick for LRU replacement */ } BEAM; /* followed by nrm RAYVAL's */ -#define hdbray(bp) (RAYVAL *)((bp)+1) +#define hdbray(bp) ((RAYVAL *)((bp)+1)) #define hdbsiz(nr) (sizeof(BEAM)+(nr)*sizeof(RAYVAL)) typedef struct { @@ -74,8 +74,8 @@ typedef struct holo { short dirty; /* beam index needs update to file */ double tlin; /* linear range for depth encoding */ FVECT wn[3]; /* wall normals (derived) */ + double wg[3]; /* wall grid multipliers (derived) */ double wo[6]; /* wall offsets (derived) */ - FVECT gv[3][2]; /* grid coordinate vectors (derived) */ int wi[6]; /* wall super-indices (derived) */ char *priv; /* pointer to private client data */ BEAM **bl; /* beam pointers (memory cache) */ @@ -90,7 +90,7 @@ typedef struct holo { #define hdflush(hp) (hdfreebeam(hp,0) && hdsync(hp)) -extern HOLO *hdinit(); +extern HOLO *hdinit(), *hdalloc(); extern BEAM *hdgetbeam(); extern RAYVAL *hdnewrays(); extern long hdmemuse(), hdfiluse();