13 |
|
#include <ctype.h> |
14 |
|
#include <math.h> |
15 |
|
#include "rtio.h" |
16 |
– |
#include "platform.h" |
16 |
|
#include "bsdfrep.h" |
18 |
– |
/* global argv[0] */ |
19 |
– |
char *progname; |
17 |
|
|
18 |
|
typedef struct { |
19 |
|
const char *fname; /* input file path */ |
226 |
|
main(int argc, char *argv[]) |
227 |
|
{ |
228 |
|
extern int nprocs; |
229 |
< |
int auto_grazing = 0; |
229 |
> |
static char gval_buf[16]; |
230 |
> |
char * auto_grazing = NULL; |
231 |
|
const char *symmetry = "0"; |
232 |
|
int ninpfiles, totinc; |
233 |
|
int a, i; |
234 |
< |
|
235 |
< |
progname = argv[0]; /* get options */ |
234 |
> |
/* set global progname */ |
235 |
> |
fixargv0(argv[0]); |
236 |
> |
/* get options */ |
237 |
|
for (a = 1; a < argc && argv[a][0] == '-'; a++) |
238 |
|
switch (argv[a][1]) { |
239 |
|
case 't': |
247 |
|
break; |
248 |
|
case 'g': |
249 |
|
if (toupper(argv[a+1][0]) == 'A') |
250 |
< |
auto_grazing = 1; |
250 |
> |
auto_grazing = argv[a+1] = gval_buf; |
251 |
|
else |
252 |
|
lim_graze = atof(argv[a+1]); |
253 |
|
++a; |
271 |
|
if (auto_grazing && fabs(inpfile[i].theta - 90.) < lim_graze) |
272 |
|
lim_graze = fabs(inpfile[i].theta - 90.); |
273 |
|
} |
274 |
+ |
if (auto_grazing) |
275 |
+ |
sprintf(auto_grazing, "%.2f", lim_graze); |
276 |
|
for (i = ninpfiles; i < totinc; i++) { /* copy for "up" symmetry */ |
277 |
|
inpfile[i] = inpfile[i-ninpfiles]; |
278 |
|
inpfile[i].phi += 180.; /* invert duplicate data */ |