5 |
|
* Convert view to beam list. |
6 |
|
*/ |
7 |
|
|
8 |
+ |
#include <string.h> |
9 |
+ |
|
10 |
|
#include "rholo.h" |
11 |
|
#include "view.h" |
12 |
|
#include "random.h" |
39 |
|
} |
40 |
|
i = blist.nb++; /* else add beam to list */ |
41 |
|
if (i % BALLOCBLK == 0) { |
42 |
< |
blist.bl = (PACKHEAD *)realloc((char *)blist.bl, |
42 |
> |
blist.bl = (PACKHEAD *)realloc((void *)blist.bl, |
43 |
|
(i+BALLOCBLK)*sizeof(PACKHEAD)); |
44 |
|
CHECK(blist.bl==NULL, SYSTEM, "out of memory in add2blist"); |
45 |
|
} |
48 |
|
} |
49 |
|
|
50 |
|
|
51 |
< |
int2 * |
51 |
> |
int16 * |
52 |
|
viewbeams(vp, hr, vr, blp) /* convert view into sections/beams */ |
53 |
|
VIEW *vp; |
54 |
|
int hr, vr; |
55 |
|
BEAMLIST *blp; |
56 |
|
{ |
57 |
< |
static int2 sectlist[HDMAX+1]; |
58 |
< |
int2 sectarr[MINRES+1][MINRES+1]; |
57 |
> |
static int16 sectlist[HDMAX+1]; |
58 |
> |
int16 sectarr[MINRES+1][MINRES+1]; |
59 |
|
double d0, d1, mindist; |
60 |
|
GCOORD gc[2]; |
61 |
|
FVECT rorg, rdir; |
63 |
|
int v; |
64 |
|
register int h, hd; |
65 |
|
/* clear section flags */ |
66 |
< |
bzero((char *)sectlist, sizeof(sectlist)); |
66 |
> |
memset((char *)sectlist, '\0', sizeof(sectlist)); |
67 |
|
/* identify view sections */ |
68 |
|
for (v = 0; v <= MINRES; v++) |
69 |
|
for (h = 0; h <= MINRES; h++) { |
140 |
|
/* add samples */ |
141 |
|
add2blist(hd, hdbindex(hdlist[hd],gc), sampquant); |
142 |
|
} |
143 |
< |
copystruct(blp, &blist); /* transfer beam list */ |
143 |
> |
*blp = blist; /* transfer beam list */ |
144 |
|
return(sectlist); /* all done! */ |
145 |
|
} |
146 |
|
|