26 |
|
static int nvobjects = 0; /* number of virtual source objects */ |
27 |
|
|
28 |
|
|
29 |
< |
void |
30 |
< |
markvirtuals() /* find and mark virtual sources */ |
29 |
> |
extern void |
30 |
> |
markvirtuals(void) /* find and mark virtual sources */ |
31 |
|
{ |
32 |
|
register OBJREC *o; |
33 |
|
register int i; |
69 |
|
} |
70 |
|
|
71 |
|
|
72 |
< |
void |
73 |
< |
addvirtuals(sn, nr) /* add virtuals associated with source */ |
74 |
< |
int sn; |
75 |
< |
int nr; |
72 |
> |
extern void |
73 |
> |
addvirtuals( /* add virtuals associated with source */ |
74 |
> |
int sn, |
75 |
> |
int nr |
76 |
> |
) |
77 |
|
{ |
78 |
|
register int i; |
79 |
|
/* check relay limit first */ |
88 |
|
} |
89 |
|
|
90 |
|
|
91 |
< |
void |
92 |
< |
vproject(o, sn, n) /* create projected source(s) if they exist */ |
93 |
< |
OBJREC *o; |
94 |
< |
int sn; |
95 |
< |
int n; |
91 |
> |
extern void |
92 |
> |
vproject( /* create projected source(s) if they exist */ |
93 |
> |
OBJREC *o, |
94 |
> |
int sn, |
95 |
> |
int n |
96 |
> |
) |
97 |
|
{ |
98 |
|
register int i; |
99 |
|
register VSMATERIAL *vsmat; |
117 |
|
} |
118 |
|
|
119 |
|
|
120 |
< |
OBJREC * |
121 |
< |
vsmaterial(o) /* get virtual source material pointer */ |
122 |
< |
OBJREC *o; |
120 |
> |
extern OBJREC * |
121 |
> |
vsmaterial( /* get virtual source material pointer */ |
122 |
> |
OBJREC *o |
123 |
> |
) |
124 |
|
{ |
125 |
|
register int i; |
126 |
|
register OBJREC *m; |
137 |
|
} |
138 |
|
|
139 |
|
|
140 |
< |
int |
141 |
< |
makevsrc(op, sn, pm) /* make virtual source if reasonable */ |
142 |
< |
OBJREC *op; |
143 |
< |
register int sn; |
144 |
< |
MAT4 pm; |
140 |
> |
extern int |
141 |
> |
makevsrc( /* make virtual source if reasonable */ |
142 |
> |
OBJREC *op, |
143 |
> |
register int sn, |
144 |
> |
MAT4 pm |
145 |
> |
) |
146 |
|
{ |
147 |
|
FVECT nsloc, nsnorm, ocent, v; |
148 |
|
double maxrad2, d; |
259 |
|
return(i); |
260 |
|
memerr: |
261 |
|
error(SYSTEM, "out of memory in makevsrc"); |
262 |
+ |
return -1; /* pro forma return */ |
263 |
|
} |
264 |
|
|
265 |
|
|
266 |
< |
double |
267 |
< |
getdisk(oc, op, sn) /* get visible object disk */ |
268 |
< |
FVECT oc; |
269 |
< |
OBJREC *op; |
270 |
< |
register int sn; |
266 |
> |
extern double |
267 |
> |
getdisk( /* get visible object disk */ |
268 |
> |
FVECT oc, |
269 |
> |
OBJREC *op, |
270 |
> |
register int sn |
271 |
> |
) |
272 |
|
{ |
273 |
|
double rad2, roffs, offs, d, rd, rdoto; |
274 |
|
FVECT rnrm, nrm; |
296 |
|
} |
297 |
|
|
298 |
|
|
299 |
< |
int |
300 |
< |
vstestvis(f, o, oc, or2, sn) /* pretest source visibility */ |
301 |
< |
int f; /* virtual source flags */ |
302 |
< |
OBJREC *o; /* relay object */ |
303 |
< |
FVECT oc; /* relay object center */ |
304 |
< |
double or2; /* relay object radius squared */ |
305 |
< |
register int sn; /* target source number */ |
299 |
> |
extern int |
300 |
> |
vstestvis( /* pretest source visibility */ |
301 |
> |
int f, /* virtual source flags */ |
302 |
> |
OBJREC *o, /* relay object */ |
303 |
> |
FVECT oc, /* relay object center */ |
304 |
> |
double or2, /* relay object radius squared */ |
305 |
> |
register int sn /* target source number */ |
306 |
> |
) |
307 |
|
{ |
308 |
|
RAY sr; |
309 |
|
FVECT onorm; |
404 |
|
|
405 |
|
|
406 |
|
#ifdef DEBUG |
407 |
< |
void |
408 |
< |
virtverb(sn, fp) /* print verbose description of virtual source */ |
409 |
< |
register int sn; |
410 |
< |
FILE *fp; |
407 |
> |
extern void |
408 |
> |
virtverb( /* print verbose description of virtual source */ |
409 |
> |
register int sn, |
410 |
> |
FILE *fp |
411 |
> |
) |
412 |
|
{ |
413 |
|
register int i; |
414 |
|
|