1 |
– |
/* Copyright (c) 1999 Silicon Graphics, Inc. */ |
2 |
– |
|
1 |
|
#ifndef lint |
2 |
< |
static char SCCSid[] = "$SunId$ SGI"; |
2 |
> |
static const char RCSid[] = "$Id$"; |
3 |
|
#endif |
6 |
– |
|
4 |
|
/* |
5 |
|
* Rendering routines for rhpict. |
6 |
|
*/ |
7 |
|
|
8 |
+ |
#include <string.h> |
9 |
+ |
|
10 |
|
#include "holo.h" |
11 |
|
#include "view.h" |
12 |
|
#include "random.h" |
37 |
|
#define CLR4(f,i) FL4OP(f,i,&=~) |
38 |
|
#define TGL4(f,i) FL4OP(f,i,^=) |
39 |
|
#define FL4NELS(n) (((n)+0x1f)>>5) |
40 |
< |
#define CLR4ALL(f,n) bzero((char *)(f),FL4NELS(n)*sizeof(int4)) |
40 |
> |
#define CLR4ALL(f,n) memset((char *)(f),'\0',FL4NELS(n)*sizeof(int32)) |
41 |
|
#endif |
42 |
|
|
43 |
< |
static int4 *pixFlags; /* pixel occupancy flags */ |
43 |
> |
static int32 *pixFlags; /* pixel occupancy flags */ |
44 |
|
static float pixWeight[MAXRAD2]; /* pixel weighting function */ |
45 |
|
static short isqrttab[MAXRAD2]; /* integer square root table */ |
46 |
|
|
53 |
|
extern int hres, vres; /* current horizontal and vertical res. */ |
54 |
|
|
55 |
|
|
56 |
+ |
void |
57 |
|
pixBeam(bp, hb) /* render a particular beam */ |
58 |
|
BEAM *bp; |
59 |
|
register HDBEAMI *hb; |
64 |
|
double d, prox; |
65 |
|
COLOR col; |
66 |
|
int n; |
67 |
< |
register int4 p; |
67 |
> |
register int32 p; |
68 |
|
|
69 |
|
if (!hdbcoord(gc, hb->h, hb->b)) |
70 |
|
error(CONSISTENCY, "bad beam in render_beam"); |
121 |
|
short forequad[2][2]; |
122 |
|
int d; |
123 |
|
register int i; |
124 |
< |
register int4 p; |
124 |
> |
register int32 p; |
125 |
|
|
126 |
|
if (n <= 0) { |
127 |
|
#ifdef DEBUG |
155 |
|
COLOR mykern[MAXRAD2]; |
156 |
|
int maxr2; |
157 |
|
double d; |
158 |
< |
register int4 p; |
158 |
> |
register int32 p; |
159 |
|
register int r2; |
160 |
|
int i, r, maxr, h2, v2; |
161 |
|
|
216 |
|
{ |
217 |
|
float rnt[NNEIGH]; |
218 |
|
double rvar; |
219 |
< |
register int4 p, pn; |
219 |
> |
register int32 p, pn; |
220 |
|
register int ni; |
221 |
|
|
222 |
|
if (n <= 0) |
252 |
|
meet_neighbors(0,random_samp,&ransamp); |
253 |
|
else |
254 |
|
meet_neighbors(1,smooth_samp,NULL); |
255 |
< |
free((char *)pixFlags); /* free pixel flags */ |
255 |
> |
free((void *)pixFlags); /* free pixel flags */ |
256 |
|
pixFlags = NULL; |
257 |
|
} |
258 |
|
|
259 |
|
|
260 |
|
reset_flags() /* allocate/set/reset occupancy flags */ |
261 |
|
{ |
262 |
< |
register int4 p; |
262 |
> |
register int32 p; |
263 |
|
|
264 |
|
if (pixFlags == NULL) { |
265 |
< |
pixFlags = (int4 *)calloc(FL4NELS(hres*vres), sizeof(int4)); |
265 |
> |
pixFlags = (int32 *)calloc(FL4NELS(hres*vres), sizeof(int32)); |
266 |
|
CHECK(pixFlags==NULL, SYSTEM, "out of memory in reset_flags"); |
267 |
|
} else |
268 |
|
CLR4ALL(pixFlags, hres*vres); |
373 |
|
} |
374 |
|
} |
375 |
|
} |
376 |
< |
free((char *)rnl); /* free row list */ |
376 |
> |
free((void *)rnl); /* free row list */ |
377 |
|
} |