--- ray/src/util/glare.csh 1991/04/24 18:27:08 1.1 +++ ray/src/util/glare.csh 2003/02/22 02:07:30 2.4 @@ -1,5 +1,5 @@ #!/bin/csh -f -# SCCSid "$SunId$ LBL" +# RCSid: $Id: glare.csh,v 2.4 2003/02/22 02:07:30 greg Exp $ # # Interactive program for calculating glare values # @@ -7,10 +7,15 @@ set fgargs=(-v) set nofile="none" set octree=$nofile set picture=$nofile +set glarefile=$nofile if ($#argv >= 1) then set glarefile=$argv[1] -else - set glarefile=$nofile + if ($#argv >= 2) then + set picture=$argv[2] + if ($#argv >= 3) then + set octree=$argv[3] + endif + endif endif set rtargs= set view= @@ -53,20 +58,32 @@ If the viewpoint is not the same as the picture, an er If no view is specified, the view parameters are taken from the picture, so the view specification is optional unless you are starting from an octree. + _EOF_ - readvar picture - readvar octree + if ( $picture == $nofile ) then + readvar picture + endif + if ( $octree == $nofile ) then + readvar octree + endif readvar view if ( $picture == $nofile && $octree == $nofile ) then echo "You must specify a picture or an octree" exit 1 endif + if ( $picture == $nofile && "$view" == "" ) then + echo "You must give a view if there is no picture" + exit 1 + endif if ( $picture != $nofile ) then if ( ! -r $picture ) then echo "Cannot read $picture" exit 1 endif - set fgargs=($fgargs -p $picture -vf $picture) + set fgargs=($fgargs -p $picture) + if ( "$view" != "" ) then + set view=(-vf $picture $view) + endif endif set fgargs=($fgargs $view) if ( $octree != $nofile ) then @@ -80,6 +97,10 @@ With an octree, you should give the same options for - so forth as are used to render the scene. Please enter them below. _EOF_ + if ($picture != $nofile) then + echo "These are the parameters from the picture:" + getinfo $picture + endif readvar rtargs set fgargs=($fgargs $rtargs $octree) endif @@ -90,9 +111,9 @@ _EOF_ if ("$<" =~ [yY]) then set fgargs=(-r 400 $fgargs) else - set fgargs=(-r 200 $fgargs) + set fgargs=(-r 250 $fgargs) endif - echo -n "Are these sources very bright? " + echo -n "Are these sources relatively bright? " if ("$<" =~ [nN]*) then set fgargs=(-c $fgargs) endif @@ -126,19 +147,20 @@ _EOF_ echo "Starting calculation..." echo findglare $fgargs findglare $fgargs > $glarefile + if ($status) then + echo "Uh-oh. Something went wrong with findglare\!" + rm $glarefile + exit 1 + endif endif if ($?DISPLAY && $picture != $nofile) then echo "" echo "Displaying glare sources in '$picture'..." xglaresrc $picture $glarefile - if ($status) then - x11image =+0+0 -g 2.6 $picture & - sleep 40 - xglaresrc $picture $glarefile - endif endif -set ndxnam=("Guth Visual Comfort Probability" "Guth Disability Glare Ratio") -set ndxcom=(guth_vcp guth_dgr) +set ndxnam=("Guth Visual Comfort Probability" "Guth Disability Glare Ratio" "CIE Glare Index" "BRS Glare Index" "Unified Glare Rating" "Daylight Glare Index") +set ndxcom=("glarendx -t guth_vcp" "glarendx -t guth_dgr" "glarendx -t cie_cgi" "glarendx -t brs_gi" "glarendx -t ugr" "glarendx -t dgi") +set bcdlvl=(50 124 18.5 18.5 18.5 21.7) while ( 1 ) echo "" echo " 0. Quit" @@ -172,10 +194,19 @@ while ( 1 ) else if ($octree != $nofile) then set subtitle="$subtitle $octree" endif + if ( "$subtitle" == "" ) then + set subtitle="`getinfo < $glarefile | grep findglare`" + endif cat <<_EOF_ > $plotfile +include=line.plt include=polar.plt title="$ndxnam[$choice]" subtitle="$subtitle" +Bdata= + 0 $bcdlvl[$choice] + 360 $bcdlvl[$choice] +; +Blabel="BCD level" Adata= _EOF_ getinfo - < $gndxfile >> $plotfile