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

Comparing ray/src/hd/holo.c (file contents):
Revision 3.15 by gwlarson, Thu Dec 3 15:18:39 1998 UTC vs.
Revision 3.16 by gwlarson, Fri Mar 12 09:37:47 1999 UTC

# Line 57 | Line 57 | register HOLO  *hp;
57   }
58  
59  
60 HOLO *
61 hdalloc(hproto)         /* allocate and set holodeck section based on grid */
62 HDGRID  *hproto;
63 {
64        HOLO    hdhead;
65        register HOLO   *hp;
66        int     n;
67                                /* copy grid to temporary header */
68        bcopy((char *)hproto, (char *)&hdhead, sizeof(HDGRID));
69                                /* compute grid vectors and sizes */
70        hdcompgrid(&hdhead);
71                                /* allocate header with directory */
72        n = sizeof(HOLO)+nbeams(&hdhead)*sizeof(BEAMI);
73        if ((hp = (HOLO *)malloc(n)) == NULL)
74                return(NULL);
75                                /* copy header information */
76        copystruct(hp, &hdhead);
77                                /* allocate and clear beam list */
78        hp->bl = (BEAM **)malloc((nbeams(hp)+1)*sizeof(BEAM *)+sizeof(BEAM));
79        if (hp->bl == NULL) {
80                free((char *)hp);
81                return(NULL);
82        }
83        bzero((char *)hp->bl, (nbeams(hp)+1)*sizeof(BEAM *)+sizeof(BEAM));
84        hp->bl[0] = (BEAM *)(hp->bl+nbeams(hp)+1);      /* set blglob(hp) */
85        hp->fd = -1;
86        hp->dirty = 0;
87        hp->priv = NULL;
88                                /* clear beam directory */
89        bzero((char *)hp->bi, (nbeams(hp)+1)*sizeof(BEAMI));
90        return(hp);             /* all is well */
91 }
92
93
60   hdbcoord(gc, hp, i)             /* compute beam coordinates from index */
61   GCOORD  gc[2];          /* returned */
62   register HOLO   *hp;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines