--- ray/src/hd/holo.c 1998/12/03 15:18:39 3.15 +++ ray/src/hd/holo.c 2003/02/22 02:07:24 3.17 @@ -1,9 +1,6 @@ -/* Copyright (c) 1998 Silicon Graphics, Inc. */ - #ifndef lint -static char SCCSid[] = "$SunId$ SGI"; +static const char RCSid[] = "$Id: holo.c,v 3.17 2003/02/22 02:07:24 greg Exp $"; #endif - /* * Routines for converting holodeck coordinates, etc. * @@ -54,40 +51,6 @@ register HOLO *hp; hp->wi[i] *= hp->grid[hdwg0[i-1]] * hp->grid[hdwg1[i-1]]; hp->wi[i] += hp->wi[i-1]; } -} - - -HOLO * -hdalloc(hproto) /* allocate and set holodeck section based on grid */ -HDGRID *hproto; -{ - HOLO hdhead; - register HOLO *hp; - int n; - /* copy grid to temporary header */ - bcopy((char *)hproto, (char *)&hdhead, sizeof(HDGRID)); - /* compute grid vectors and sizes */ - hdcompgrid(&hdhead); - /* allocate header with directory */ - n = sizeof(HOLO)+nbeams(&hdhead)*sizeof(BEAMI); - if ((hp = (HOLO *)malloc(n)) == NULL) - return(NULL); - /* copy header information */ - copystruct(hp, &hdhead); - /* allocate and clear beam list */ - hp->bl = (BEAM **)malloc((nbeams(hp)+1)*sizeof(BEAM *)+sizeof(BEAM)); - if (hp->bl == NULL) { - free((char *)hp); - return(NULL); - } - bzero((char *)hp->bl, (nbeams(hp)+1)*sizeof(BEAM *)+sizeof(BEAM)); - hp->bl[0] = (BEAM *)(hp->bl+nbeams(hp)+1); /* set blglob(hp) */ - hp->fd = -1; - hp->dirty = 0; - hp->priv = NULL; - /* clear beam directory */ - bzero((char *)hp->bi, (nbeams(hp)+1)*sizeof(BEAMI)); - return(hp); /* all is well */ }