36 |
|
} sl; /* localized source information */ |
37 |
|
union { |
38 |
|
int success; /* successes - AIMREQT*failures */ |
39 |
< |
int svnext; /* next source to aim for */ |
39 |
> |
struct { |
40 |
> |
short pn; /* projection number */ |
41 |
> |
short sn; /* next source to aim for */ |
42 |
> |
} sv; /* virtual source */ |
43 |
|
} sa; /* source aiming information */ |
44 |
|
long ntests, nhits; /* shadow tests and hits */ |
45 |
|
OBJREC *so; /* source destination object */ |
86 |
|
extern int srcvalue(); /* compute source value w/o shadows */ |
87 |
|
|
88 |
|
extern double intercircle(); /* intersect two circles */ |
89 |
+ |
extern double spotdisk(); /* intersecting disk for spot */ |
90 |
+ |
extern double beamdisk(); /* intersecting disk for beam */ |
91 |
|
|
92 |
|
extern SPOT *makespot(); /* make spotlight */ |
93 |
|
|
96 |
|
extern double shadcert; /* shadow testing certainty */ |
97 |
|
extern int directrelay; /* maximum number of source relays */ |
98 |
|
extern int vspretest; /* virtual source pretest density */ |
99 |
+ |
|
100 |
+ |
#define getplaneq(c,o) (*sfun[(o)->otype].of->getpleq)(c,o) |
101 |
+ |
#define getmaxdisk(c,o) (*sfun[(o)->otype].of->getdisk)(c,o) |
102 |
+ |
#define setsource(s,o) (*sfun[(o)->otype].of->setsrc)(s,o) |