| 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 */ |