| 47 |
|
*/ |
| 48 |
|
|
| 49 |
|
/* |
| 50 |
< |
* Virtual source materials must support the following functions: |
| 50 |
> |
* Virtual source materials must define the following. |
| 51 |
|
* |
| 52 |
|
* vproj(pm, op, sp, i) Compute i'th virtual projection |
| 53 |
|
* of source sp in object op and assign |
| 80 |
|
extern int nsources; /* the number of sources */ |
| 81 |
|
|
| 82 |
|
extern double srcray(); /* ray to source */ |
| 83 |
+ |
extern int srcvalue(); /* compute source value w/o shadows */ |
| 84 |
|
|
| 85 |
+ |
extern double intercircle(); /* intersect two circles */ |
| 86 |
+ |
extern double spotdisk(); /* intersecting disk for spot */ |
| 87 |
+ |
extern double beamdisk(); /* intersecting disk for beam */ |
| 88 |
+ |
|
| 89 |
|
extern SPOT *makespot(); /* make spotlight */ |
| 90 |
|
|
| 86 |
– |
extern SRCREC *newsource(); /* allocate new source */ |
| 87 |
– |
|
| 91 |
|
extern double dstrsrc; /* source distribution amount */ |
| 92 |
|
extern double shadthresh; /* relative shadow threshold */ |
| 93 |
|
extern double shadcert; /* shadow testing certainty */ |
| 94 |
|
extern int directrelay; /* maximum number of source relays */ |
| 95 |
+ |
extern int vspretest; /* virtual source pretest density */ |
| 96 |
+ |
|
| 97 |
+ |
#define getplaneq(c,o) (*sfun[(o)->otype].of->getpleq)(c,o) |
| 98 |
+ |
#define getmaxdisk(c,o) (*sfun[(o)->otype].of->getdisk)(c,o) |
| 99 |
+ |
#define setsource(s,o) (*sfun[(o)->otype].of->setsrc)(s,o) |