ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/do_options.tcl
Revision: 2.10
Committed: Tue May 26 12:39:25 2015 UTC (8 years, 11 months ago) by greg
Content type: application/x-tcl
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad5R0, rad5R1, rad5R3, HEAD
Changes since 2.9: +92 -26 lines
Log Message:
Added photon map support to trad

File Contents

# User Rev Content
1 greg 2.10 # RCSid: $Id: do_options.tcl,v 2.9 2014/08/01 02:18:42 greg Exp $
2 greg 2.1 #
3     # Options screen for trad
4     #
5    
6     proc amb_delete {} { # delete ambient file
7     global radvar curmess
8 greg 2.6 if {"$radvar(AMBFILE)" == {} || ! [file isfile $radvar(AMBFILE)]} {
9 greg 2.1 set curmess {No ambient file.}
10     return
11     }
12     set hl [string length [exec getinfo < $radvar(AMBFILE)]]
13     set fl [file size $radvar(AMBFILE)]
14 greg 2.9 set nv [expr ($fl - $hl - 2) / 67]
15 greg 2.10 if {$nv > 1000 && [tk_dialog .dlg {Verification} \
16 greg 2.1 "Really delete ambient file $radvar(AMBFILE)\
17 greg 2.3 with $nv indirect irradiance values?" \
18 greg 2.5 questhead 0 {Delete} {Cancel}]} {
19 greg 2.1 return 0
20     }
21     if [catch {exec rm $radvar(AMBFILE) < /dev/null} curmess] {return 0}
22     set curmess {Ambient file deleted.}
23     return 1
24     }
25    
26 greg 2.10 proc pgm_delete {} { # delete global photon map file
27     global radvar curmess
28     set pm [lindex $radvar(PGMAP) 0]
29     if {"$pm" == {} || ! [file isfile $pm]} {
30     set curmess {No global photon file.}
31     return
32     }
33     set hd [exec getinfo < $pm]
34     set nv [lindex $hd [expr [lsearch $hd photons] - 1]]
35     if {$nv > 10000 && [tk_dialog .dlg {Verification} \
36     "Really delete global photon map $pm\
37     with $nv photons?" \
38     questhead 0 {Delete} {Cancel}]} {
39     return 0
40     }
41     if [catch {exec rm $pm < /dev/null} curmess] {return 0}
42     set curmess {Global photon file deleted.}
43     return 1
44     }
45    
46     proc pcm_delete {} { # delete caustic photon map file
47     global radvar curmess
48     set pm [lindex $radvar(PCMAP) 0]
49     if {"$pm" == {} || ! [file isfile $pm]} {
50     set curmess {No caustic photon file.}
51     return
52     }
53     set hd [exec getinfo < $pm]
54     set nv [lindex $hd [expr [lsearch $hd photons] - 1]]
55     if {$nv > 10000 && [tk_dialog .dlg {Verification} \
56     "Really delete caustic photon map $pm\
57     with $nv photons?" \
58     questhead 0 {Delete} {Cancel}]} {
59     return 0
60     }
61     if [catch {exec rm $pm < /dev/null} curmess] {return 0}
62     set curmess {Caustic photon file deleted.}
63     return 1
64     }
65    
66 greg 2.1 proc copyopts rf { # copy option settings from another RIF
67 greg 2.10 load_vars [file tail $rf] {QUALITY PENUMBRAS AMBFILE PGMAP PCMAP OPTFILE REPORT \
68     oconv mkillum mkpmap render pfilt}
69 greg 2.1 }
70    
71     proc do_options w { # Set up options screen
72     global radvar rifname
73     if {"$w" == "done"} {
74     return
75     }
76     frame $w
77     # Quality
78     label $w.qual -text Quality:
79 greg 2.10 place $w.qual -relx .0714 -rely .0510
80 greg 2.1 radiobutton $w.quaH -text High -anchor w -relief flat \
81     -variable radvar(QUALITY) -value High
82 greg 2.10 place $w.quaH -relx .2857 -rely .0510
83 greg 2.1 radiobutton $w.quaM -text Medium -anchor w -relief flat \
84     -variable radvar(QUALITY) -value Medium
85 greg 2.10 place $w.quaM -relx .5357 -rely .0510
86 greg 2.1 radiobutton $w.quaL -text Low -anchor w -relief flat \
87     -variable radvar(QUALITY) -value Low
88 greg 2.10 place $w.quaL -relx .7857 -rely .0510
89 greg 2.1 helplink "$w.quaH $w.quaM $w.quaL" trad options quality
90     # Penumbras
91     label $w.penl -text Penumbras:
92 greg 2.10 place $w.penl -relx .0714 -rely .1485
93 greg 2.1 radiobutton $w.penT -text On -anchor w -relief flat \
94     -variable radvar(PENUMBRAS) -value True
95 greg 2.10 place $w.penT -relx .2857 -rely .1485
96 greg 2.1 radiobutton $w.penF -text Off -anchor w -relief flat \
97     -variable radvar(PENUMBRAS) -value False
98 greg 2.10 place $w.penF -relx .5357 -rely .1485
99 greg 2.1 helplink "$w.penT $w.penF" trad options penumbras
100 greg 2.10 # Global photon map
101     label $w.pgml -text Pgmap:
102     place $w.pgml -relx .0714 -rely .2460
103     entry $w.pgme -textvariable radvar(PGMAP) -relief sunken
104     place $w.pgme -relwidth .5714 -relheight .0610 -relx .2857 -rely .2460
105     helplink $w.pgme trad options pgmap
106     button $w.pgmd -text Delete -relief raised -command pgm_delete
107     place $w.pgmd -relwidth .1071 -relheight .0610 -relx .98 -rely .2460 \
108     -anchor ne
109     helplink $w.pgmd trad options pgmdelete
110     # Caustic photon map
111     label $w.pcml -text Pcmap:
112     place $w.pcml -relx .0714 -rely .3341
113     entry $w.pcme -textvariable radvar(PCMAP) -relief sunken
114     place $w.pcme -relwidth .5714 -relheight .0610 -relx .2857 -rely .3341
115     helplink $w.pcme trad options pcmap
116     button $w.pcmd -text Delete -relief raised -command pcm_delete
117     place $w.pcmd -relwidth .1071 -relheight .0610 -relx .98 -rely .3341 \
118     -anchor ne
119     helplink $w.pcmd trad options pcmdelete
120 greg 2.1 # Ambfile
121     label $w.ambl -text Ambfile:
122 greg 2.10 place $w.ambl -relx .0714 -rely .4222
123 greg 2.1 entry $w.ambe -textvariable radvar(AMBFILE) -relief sunken
124 greg 2.10 place $w.ambe -relwidth .5714 -relheight .0610 -relx .2857 -rely .4222
125 greg 2.1 helplink $w.ambe trad options ambfile
126     button $w.ambd -text Delete -relief raised -command amb_delete
127 greg 2.10 place $w.ambd -relwidth .1071 -relheight .0610 -relx .98 -rely .4222 \
128 greg 2.1 -anchor ne
129     helplink $w.ambd trad options ambdelete
130     # Optfile
131     label $w.optl -text Optfile:
132 greg 2.10 place $w.optl -relx .0714 -rely .5103
133 greg 2.1 entry $w.opte -textvariable radvar(OPTFILE) -relief sunken
134 greg 2.10 place $w.opte -relwidth .5714 -relheight .0610 -relx .2857 -rely .5103
135 greg 2.1 helplink $w.opte trad options optfile
136     # Report
137     label $w.repl -text Report:
138 greg 2.10 place $w.repl -relx .0714 -rely .5984
139 greg 2.1 entry $w.repe -textvariable radvar(REPORT) -relief sunken
140 greg 2.10 place $w.repe -relwidth .5714 -relheight .0610 -relx .2857 -rely .5984
141 greg 2.1 helplink $w.repe trad options report
142     # Oconv options
143     label $w.ocol -text "oconv opts:"
144 greg 2.10 place $w.ocol -relx .0714 -rely .6863
145 greg 2.1 entry $w.ocoe -textvariable radvar(oconv) -relief sunken
146 greg 2.10 place $w.ocoe -relwidth .5714 -relheight .0600 -relx .2857 -rely .6863
147 greg 2.1 helplink $w.ocoe trad options oconv
148     # Mkillum options
149     label $w.mkil -text "mkillum opts:"
150 greg 2.10 place $w.mkil -relx .0714 -rely .7473
151 greg 2.1 entry $w.mkie -textvariable radvar(mkillum) -relief sunken
152 greg 2.10 place $w.mkie -relwidth .5714 -relheight .0600 -relx .2857 -rely .7473
153 greg 2.1 helplink $w.mkie trad options mkillum
154 greg 2.10 # Mkpmap options
155     label $w.mkpl -text "mkpmap opts:"
156     place $w.mkpl -relx .0714 -rely .8083
157     entry $w.mkpe -textvariable radvar(mkpmap) -relief sunken
158     place $w.mkpe -relwidth .5714 -relheight .0600 -relx .2857 -rely .8083
159     helplink $w.mkpe trad options mkpmap
160 greg 2.1 # Render options
161     label $w.renl -text "render opts:"
162 greg 2.10 place $w.renl -relx .0714 -rely .8693
163 greg 2.1 entry $w.rene -textvariable radvar(render) -relief sunken
164 greg 2.10 place $w.rene -relwidth .5714 -relheight .0600 -relx .2857 -rely .8693
165 greg 2.1 helplink $w.rene trad options render
166     # Pfilt options
167     label $w.pfil -text "pfilt opts:"
168 greg 2.10 place $w.pfil -relx .0714 -rely .9339
169 greg 2.1 entry $w.pfie -textvariable radvar(pfilt) -relief sunken
170 greg 2.10 place $w.pfie -relwidth .5714 -relheight .0600 -relx .2857 -rely .9339
171 greg 2.1 helplink $w.pfie trad options pfilt
172     # Revert and Copy buttons
173     button $w.revert -text Revert -relief raised \
174     -command "copyopts $rifname"
175     place $w.revert -relwidth .1071 -relheight .0610 -relx .98 -rely .98 \
176     -anchor se
177     helplink $w.revert trad options revert
178 greg 2.2 button $w.copy -text Copy -relief raised -command {getfile -grab \
179 greg 2.7 -send copyopts -view view_txt -glob $myglob(rif)}
180 greg 2.1 place $w.copy -relwidth .1071 -relheight .0610 -relx .98 -rely .90 \
181     -anchor se
182     helplink $w.copy trad options copy
183     # Set focus
184     focus $w.ambe
185     bind $w.ambe <Return> "focus $w.opte"
186     bind $w.opte <Return> "focus $w.repe"
187     bind $w.repe <Return> "focus $w.ocoe"
188     bind $w.ocoe <Return> "focus $w.mkie"
189     bind $w.mkie <Return> "focus $w.rene"
190     bind $w.rene <Return> "focus $w.pfie"
191     bind $w.pfie <Return> {}
192     }