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.18 by schorsch, Thu Jun 26 00:58:10 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1998 Silicon Graphics, Inc. */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ SGI";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Routines for converting holodeck coordinates, etc.
6   *
# Line 57 | Line 54 | register HOLO  *hp;
54   }
55  
56  
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
57   hdbcoord(gc, hp, i)             /* compute beam coordinates from index */
58   GCOORD  gc[2];          /* returned */
59   register HOLO   *hp;
# Line 171 | Line 134 | register FVECT cp[4];  /* returned (may be passed as FV
134   register HOLO   *hp;
135   register GCOORD *gc;
136   {
137 <        register FLOAT  *v;
137 >        register RREAL  *v;
138          double  d;
139                                          /* compute common component */
140          VCOPY(cp[0], hp->orig);
# Line 300 | Line 263 | FVECT  ro, rd;         /* normalization of rd affects distance
263   {
264          FVECT   p[2], vt;
265          double  d, t0, t1, d0, d1;
266 <        register FLOAT  *v;
266 >        register RREAL  *v;
267          register int    i;
268                                          /* first, intersect walls */
269          gc[0].w = gc[1].w = -1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines