--- ray/src/hd/holo.h 1997/11/10 18:04:05 3.3 +++ ray/src/hd/holo.h 1997/12/12 19:52:31 3.7 @@ -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) */ @@ -88,9 +88,10 @@ typedef struct holo { #define bnrays(hp,i) ((hp)->bl[i]!=NULL ? (hp)->bl[i]->nrm : (hp)->bi[i].nrd) -#define hdflush(hp) (hdfreebeam(hp,0) && hdsync(hp)) +#define hdflush(hp) (hdfreebeam(hp,0) && hdsync(hp,0)) +#define hdclobber(hp) (hdkillbeam(hp,0) && hdsync(hp,0)) -extern HOLO *hdinit(); +extern HOLO *hdinit(), *hdalloc(); extern BEAM *hdgetbeam(); extern RAYVAL *hdnewrays(); extern long hdmemuse(), hdfiluse(); @@ -117,8 +118,8 @@ extern float hd_depthmap[]; /* depth conversion map * * blank line, with "FORMAT=Holodeck" somewhere in it. * The first integer after the information header is the * above magic number, which includes the file format version number. - * The first longword after the magic number is the position - * of the SECOND holodeck section, or 0 if there is only one. + * The first longword after the magic number is a pointer to the pointer + * just before the SECOND holodeck section, or 0 if there is only one. * This longword is immediately followed by the first holodeck * section header and directory. * Similarly, every holodeck section in the file is preceeded by