Changeset 1463 for trunk/gui/scripts/unirect2d.tcl
- Timestamp:
- May 19, 2009, 6:47:11 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/unirect2d.tcl
r1373 r1463 27 27 public method values {} 28 28 public method hints {{keyword ""}} 29 30 private variable _xmax 0 31 private variable _xmin 0 32 private variable _xnum 0 33 private variable _ymax 0 34 private variable _ymin 0 35 private variable _ynum 0 29 public method components {} { 30 return $_components; 31 } 32 private method GetString { obj path varName } 33 private method GetValue { obj path varName } 34 private method GetSize { obj path varName } 35 36 private variable _axisOrder "x y" 37 private variable _xMax 0 38 private variable _xMin 0 39 private variable _xNum 0 40 private variable _yMax 0 41 private variable _yMin 0 42 private variable _yNum 0 43 private variable _components 1 36 44 private variable _values ""; # BLT vector containing the z-values 37 45 private variable _hints … … 47 55 set path [$field get $cname.mesh] 48 56 49 set mobj [$xmlobj element -as object $path] 50 set _xmin [$mobj get "xaxis.min"] 51 set _xmax [$mobj get "xaxis.max"] 52 set _xnum [$mobj get "xaxis.numpoints"] 53 set _ymin [$mobj get "yaxis.min"] 54 set _ymax [$mobj get "yaxis.max"] 55 set _ynum [$mobj get "yaxis.numpoints"] 57 set m [$xmlobj element -as object $path] 58 GetSize $m "components" _components 59 GetValue $m "xaxis.min" _xMin 60 GetValue $m "xaxis.max" _xMax 61 GetSize $m "xaxis.numpoints" _xNum 62 GetValue $m "yaxis.min" _yMin 63 GetValue $m "yaxis.max" _yMax 64 GetSize $m "yaxis.numpoints" _yNum 56 65 57 66 foreach {key path} { … … 74 83 ymax yaxis.max 75 84 } { 76 set str [$m objget $path]85 set str [$m get $path] 77 86 if {"" != $str} { 78 87 set _hints($key) $str 79 88 } 80 89 } 81 foreach {key} { extents axisorder } {90 foreach {key} { components axisorder } { 82 91 set str [$field get $cname.$key] 83 92 if {"" != $str} { … … 85 94 } 86 95 } 87 itcl::delete object $m obj96 itcl::delete object $m 88 97 89 98 set _values [blt::vector create \#auto] … … 112 121 itcl::body Rappture::Unirect2d::blob {} { 113 122 set data "unirect2d" 114 lappend data "xmin" $_xmin "xmax" $_xmax "xnum" $_xnum 115 lappend data "ymin" $_ymin "ymax" $_ymax "ynum" $_ynum 116 lappend data "xmin" $_xmin "ymin" $_ymin "xmax" $_xmax "ymax" $_ymax 117 foreach key { axisorder extents xunits yunits units } { 123 lappend data "xmin" $_xMin "xmax" $_xMax "xnum" $_xNum 124 lappend data "ymin" $_yMin "ymax" $_yMax "ynum" $_yNum 125 lappend data "xmin" $_xMin "ymin" $_yMin "xmax" $_xMax "ymax" $_yMax 126 lappend data "components" $_components 127 foreach key { axisorder xunits yunits units } { 118 128 set hint [hints $key] 119 129 if { $hint != "" } { … … 124 134 lappend data "values" [$_values range 0 end] 125 135 } 126 return [Rappture::encoding::encode -as zb64 $data]136 return [Rappture::encoding::encode -as zb64 "$data"] 127 137 } 128 138 … … 134 144 # ---------------------------------------------------------------------- 135 145 itcl::body Rappture::Unirect2d::mesh {} { 136 set dx [expr {($_x max - $_xmin) / double($_xnum)}]137 set dy [expr {($_y max - $_ymin) / double($_ynum)}]138 for { set i 0 } { $i < $_x num } { incr i } {139 set x [expr {$_x min + (double($i) * $dx)}]140 for { set j 0 } { $j < $_y num } { incr j } {141 set y [expr {$_y min + (double($i) * $dy)}]146 set dx [expr {($_xMax - $_xMin) / double($_xNum)}] 147 set dy [expr {($_yMax - $_yMin) / double($_yNum)}] 148 for { set i 0 } { $i < $_xNum } { incr i } { 149 set x [expr {$_xMin + (double($i) * $dx)}] 150 for { set j 0 } { $j < $_yNum } { incr j } { 151 set y [expr {$_yMin + (double($i) * $dy)}] 142 152 lappend data $x $y 143 153 } … … 170 180 switch -- $which { 171 181 x - xlin - xlog { 172 set min $_x min173 set max $_x max182 set min $_xMin 183 set max $_xMax 174 184 set axis "xaxis" 175 185 } 176 186 y - ylin - ylog { 177 set min $_y min178 set max $_y max187 set min $_yMin 188 set max $_yMax 179 189 set axis "yaxis" 180 190 } … … 241 251 return [array get _hints] 242 252 } 253 254 255 itcl::body Rappture::Unirect2d::GetSize { obj path varName } { 256 set string [$obj get $path] 257 if { [scan $string "%d" value] != 1 || $value < 0 } { 258 puts stderr "can't get size \"$string\" of \"$path\"" 259 return 260 } 261 upvar $varName size 262 set size $value 263 } 264 265 itcl::body Rappture::Unirect2d::GetValue { obj path varName } { 266 set string [$obj get $path] 267 if { [scan $string "%g" value] != 1 } { 268 return 269 } 270 upvar $varName number 271 set number $value 272 } 273 274 itcl::body Rappture::Unirect2d::GetString { obj path varName } { 275 set string [$obj get $path] 276 if { $string == "" } { 277 puts stderr "can't get string \"$string\" of \"$path\"" 278 return 279 } 280 upvar $varName str 281 set str $string 282 }
Note: See TracChangeset
for help on using the changeset viewer.