| 4 |
|
* |
| 5 |
|
* Include after ray.h |
| 6 |
|
*/ |
| 7 |
+ |
#ifndef _RAD_SOURCE_H_ |
| 8 |
+ |
#define _RAD_SOURCE_H_ |
| 9 |
+ |
#ifdef __cplusplus |
| 10 |
+ |
extern "C" { |
| 11 |
+ |
#endif |
| 12 |
|
|
| 8 |
– |
#include "copyright.h" |
| 9 |
– |
|
| 13 |
|
#define AIMREQT 100 /* required aim success/failure */ |
| 14 |
|
|
| 15 |
|
#define SDISTANT 01 /* source distant flag */ |
| 44 |
|
int sn; /* next source to aim for */ |
| 45 |
|
} sv; /* virtual source */ |
| 46 |
|
} sa; /* source aiming information */ |
| 47 |
< |
long ntests, nhits; /* shadow tests and hits */ |
| 47 |
> |
unsigned long |
| 48 |
> |
ntests, nhits; /* shadow tests and hits */ |
| 49 |
|
OBJREC *so; /* source destination object */ |
| 50 |
|
} SRCREC; /* light source */ |
| 51 |
|
|
| 116 |
|
#define getmaxdisk(c,o) (*sfun[(o)->otype].of->getdisk)(c,o) |
| 117 |
|
#define setsource(s,o) (*sfun[(o)->otype].of->setsrc)(s,o) |
| 118 |
|
|
| 115 |
– |
#ifdef NOPROTO |
| 116 |
– |
|
| 117 |
– |
extern void marksources(); |
| 118 |
– |
extern void freesources(); |
| 119 |
– |
extern int srcray(); |
| 120 |
– |
extern void srcvalue(); |
| 121 |
– |
extern int sourcehit(); |
| 122 |
– |
extern void direct(); |
| 123 |
– |
extern void srcscatter(); |
| 124 |
– |
extern int m_light(); |
| 125 |
– |
extern double nextssamp(); |
| 126 |
– |
extern int skipparts(); |
| 127 |
– |
extern void nopart(); |
| 128 |
– |
extern void cylpart(); |
| 129 |
– |
extern void flatpart(); |
| 130 |
– |
extern double scylform(); |
| 131 |
– |
extern void initstypes(); |
| 132 |
– |
extern int newsource(); |
| 133 |
– |
extern void setflatss(); |
| 134 |
– |
extern void fsetsrc(); |
| 135 |
– |
extern void ssetsrc(); |
| 136 |
– |
extern void sphsetsrc(); |
| 137 |
– |
extern void rsetsrc(); |
| 138 |
– |
extern void cylsetsrc(); |
| 139 |
– |
extern SPOT *makespot(); |
| 140 |
– |
extern int spotout(); |
| 141 |
– |
extern double fgetmaxdisk(); |
| 142 |
– |
extern double rgetmaxdisk(); |
| 143 |
– |
extern double fgetplaneq(); |
| 144 |
– |
extern double rgetplaneq(); |
| 145 |
– |
extern int commonspot(); |
| 146 |
– |
extern int commonbeam(); |
| 147 |
– |
extern int checkspot(); |
| 148 |
– |
extern double spotdisk(); |
| 149 |
– |
extern double beamdisk(); |
| 150 |
– |
extern double intercircle(); |
| 151 |
– |
extern void markvirtuals(); |
| 152 |
– |
extern void addvirtuals(); |
| 153 |
– |
extern void vproject(); |
| 154 |
– |
extern OBJREC *vsmaterial(); |
| 155 |
– |
extern int makevsrc(); |
| 156 |
– |
extern double getdisk(); |
| 157 |
– |
extern int vstestvis(); |
| 158 |
– |
extern void virtverb(); |
| 159 |
– |
|
| 160 |
– |
#else |
| 119 |
|
/* defined in source.c */ |
| 120 |
|
extern void marksources(void); |
| 121 |
|
extern void freesources(void); |
| 164 |
|
extern int vstestvis(int f, OBJREC *o, FVECT oc, double or2, int sn); |
| 165 |
|
extern void virtverb(int sn, FILE *fp); |
| 166 |
|
|
| 167 |
+ |
|
| 168 |
+ |
#ifdef __cplusplus |
| 169 |
+ |
} |
| 170 |
|
#endif |
| 171 |
+ |
#endif /* _RAD_SOURCE_H_ */ |
| 172 |
+ |
|