| 30 |
|
|
| 31 |
|
#include "otypes.h" |
| 32 |
|
|
| 33 |
+ |
int dimlist[MAXDIM]; /* sampling dimensions */ |
| 34 |
+ |
int ndims = 0; /* number of sampling dimensions */ |
| 35 |
+ |
int samplendx = 0; /* index for this sample */ |
| 36 |
+ |
|
| 37 |
|
int imm_irrad = 0; /* compute immediate irradiance? */ |
| 38 |
|
|
| 39 |
|
int inform = 'a'; /* input format */ |
| 46 |
|
double dstrsrc = 0.0; /* square source distribution */ |
| 47 |
|
double shadthresh = .05; /* shadow threshold */ |
| 48 |
|
double shadcert = .5; /* shadow certainty */ |
| 49 |
+ |
int directrelay = 1; /* number of source relays */ |
| 50 |
+ |
int vspretest = 512; /* virtual source pretest density */ |
| 51 |
+ |
int directinvis = 0; /* sources invisible? */ |
| 52 |
+ |
double srcsizerat = .25; /* maximum ratio source size/dist. */ |
| 53 |
|
|
| 54 |
|
int maxdepth = 6; /* maximum recursion depth */ |
| 55 |
|
double minweight = 4e-3; /* minimum ray weight */ |
| 114 |
|
fflush(stdout); |
| 115 |
|
continue; |
| 116 |
|
} |
| 117 |
+ |
samplendx++; |
| 118 |
|
/* compute and print */ |
| 119 |
|
if (imm_irrad) |
| 120 |
|
irrad(orig, direc); |
| 236 |
|
int fmt; |
| 237 |
|
FILE *fp; |
| 238 |
|
{ |
| 239 |
+ |
extern char *fgetword(); |
| 240 |
+ |
extern double atof(); |
| 241 |
|
static float vf[3]; |
| 242 |
+ |
char buf[32]; |
| 243 |
+ |
register int i; |
| 244 |
|
|
| 245 |
|
switch (fmt) { |
| 246 |
|
case 'a': /* ascii */ |
| 247 |
< |
if (fscanf(fp, "%lf %lf %lf", vec, vec+1, vec+2) != 3) |
| 248 |
< |
return(-1); |
| 247 |
> |
for (i = 0; i < 3; i++) { |
| 248 |
> |
if (fgetword(buf, sizeof(buf), fp) == NULL || |
| 249 |
> |
!isflt(buf)) |
| 250 |
> |
return(-1); |
| 251 |
> |
vec[i] = atof(buf); |
| 252 |
> |
} |
| 253 |
|
break; |
| 254 |
|
case 'f': /* binary float */ |
| 255 |
|
if (fread((char *)vf, sizeof(float), 3, fp) != 3) |