| 9 |  | my $windoz = ($^O eq "MSWin32" or $^O eq "MSWin64"); | 
| 10 |  | use File::Temp qw/ :mktemp  /; | 
| 11 |  | sub userror { | 
| 12 | < | print STDERR "Usage: genBSDF [-n Nproc][-c Nsamp][-W][-t{3|4} Nlog2][-r \"ropts\"][-s \"x=string;y=string\"][-dim xmin xmax ymin ymax zmin zmax][{+|-}C][{+|-}f][{+|-}b][{+|-}mgf][{+|-}geom units] [input ..]\n"; | 
| 12 | > | print STDERR "Usage: genBSDF [-n Nproc][-c Nsamp][-W][-t{3|4} Nlog2][-r \"ropts\"][-s \"x=string;y=string\"][-dim xmin xmax ymin ymax zmin zmax][{+|-}C][{+|-}a][{+|-}f][{+|-}b][{+|-}mgf][{+|-}geom units] [input ..]\n"; | 
| 13 |  | exit 1; | 
| 14 |  | } | 
| 15 |  | my ($td,$radscn,$mgfscn,$octree,$fsender,$bsender,$receivers,$facedat,$behinddat,$rmtmp); | 
| 88 |  | my $wrapper = "wrapBSDF"; | 
| 89 |  | my $tensortree = 0; | 
| 90 |  | my $ttlog2 = 4; | 
| 91 | + | my $dorecip = 1; | 
| 92 |  | my $nsamp = 2000; | 
| 93 |  | my $mgfin = 0; | 
| 94 |  | my $geout = 1; | 
| 116 |  | shift @ARGV; | 
| 117 |  | } elsif ("$ARGV[0]" =~ /^[-+]C/) { | 
| 118 |  | $docolor = ("$ARGV[0]" =~ /^\+/); | 
| 119 | + | } elsif $("$ARGV[0" =~ /^[-+]a/) { | 
| 120 | + | $dorecip = ("$ARGV[0]" =~ /^\+/); | 
| 121 |  | } elsif ("$ARGV[0]" =~ /^[-+]f/) { | 
| 122 |  | $doforw = ("$ARGV[0]" =~ /^\+/); | 
| 123 |  | } elsif ("$ARGV[0]" =~ /^[-+]b/) { | 
| 427 |  | } | 
| 428 |  | } | 
| 429 |  | if ($pctcull >= 0) { | 
| 430 | < | my $avg = ( "$typ" =~ /^r[fb]/ ) ? " -a" : ""; | 
| 430 | > | my $avg = ( $dorecip && "$typ" =~ /^r[fb]/ ) ? " -a" : ""; | 
| 431 |  | my $pcull = ("$spec" eq "Visible") ? $pctcull : | 
| 432 |  | (100 - (100-$pctcull)*.25) ; | 
| 433 |  | if ($windoz) { |