- Timestamp:
- Jan 31, 2013 9:13:15 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Rappture 1.2/gui/scripts/field.tcl
r3271 r3272 334 334 # ---------------------------------------------------------------------- 335 335 itcl::body Rappture::Field::limits {which} { 336 337 336 set min "" 338 337 set max "" 339 338 blt::vector tmp zero 339 340 340 foreach cname [array names _comp2dims] { 341 341 switch -- $_comp2dims($cname) { 342 342 1D { 343 343 switch -- $which { 344 x - xlin { set pos 0; set log 0; set axis xaxis } 345 xlog { set pos 0; set log 1; set axis xaxis } 346 y - ylin - v - vlin { set pos 1; set log 0; set axis yaxis } 347 ylog - vlog { set pos 1; set log 1; set axis yaxis } 344 x - xlin { 345 set pos 0; set log 0; set axis x 346 } 347 xlog { 348 set pos 0; set log 1; set axis x 349 } 350 y - ylin - v - vlin { 351 set pos 1; set log 0; set axis y 352 } 353 ylog - vlog { 354 set pos 1; set log 1; set axis y 355 } 348 356 default { 349 357 error "bad option \"$which\": should be x, xlin, xlog, y, ylin, ylog, v, vlin, vlog" … … 361 369 tmp expr {abs(tmp)} ;# get the abs value 362 370 tmp expr {tmp + zero*max(tmp)} ;# replace 0's with abs max 363 set vmin [blt::vector expr min(tmp)]364 set vmax [blt::vector expr max(tmp)]371 set axisMin [blt::vector expr min(tmp)] 372 set axisMax [blt::vector expr max(tmp)] 365 373 } else { 366 set vmin $vec(min)367 set vmax $vec(max)374 set axisMin $vec(min) 375 set axisMax $vec(max) 368 376 } 369 377 370 378 if {"" == $min} { 371 set min $ vmin372 } elseif {$ vmin < $min} {373 set min $ vmin379 set min $axisMin 380 } elseif {$axisMin < $min} { 381 set min $axisMin 374 382 } 375 383 if {"" == $max} { 376 set max $ vmax377 } elseif {$ vmax > $max} {378 set max $ vmax384 set max $axisMax 385 } elseif {$axisMax > $max} { 386 set max $axisMax 379 387 } 380 388 } … … 382 390 if {[info exists _comp2unirect2d($cname)]} { 383 391 set limits [$_comp2unirect2d($cname) limits $which] 384 foreach { vmin vmax} $limits break385 set axis v axis392 foreach {axisMin axisMax} $limits break 393 set axis v 386 394 } elseif {[info exists _comp2unirect3d($cname)]} { 387 395 set limits [$_comp2unirect3d($cname) limits $which] 388 foreach { vmin vmax} $limits break389 set axis v axis396 foreach {axisMin axisMax} $limits break 397 set axis v 390 398 } elseif {[info exists _comp2vtk($cname)]} { 391 399 foreach {xv yv} $_comp2vtk($cname) break 392 400 switch -- $which { 393 401 x - xlin - xlog { 394 foreach { vmin vmax} [$xv limits x] break395 set axis x axis402 foreach {axisMin axisMax} [$xv limits x] break 403 set axis x 396 404 } 397 405 y - ylin - ylog { 398 foreach { vmin vmax} [$xv limits y] break399 set axis y axis406 foreach {axisMin axisMax} [$xv limits y] break 407 set axis y 400 408 } 401 409 z - zlin - zlog { 402 foreach { vmin vmax} [$xv limits z] break403 set axis z axis410 foreach {axisMin axisMax} [$xv limits z] break 411 set axis z 404 412 } 405 413 v - vlin - vlog { 406 414 catch {unset style} 407 415 array set style $_comp2style($cname) 408 if {[info exists style(-min)] && [info exists style(-max)]} { 416 if {[info exists style(-min)] && 417 [info exists style(-max)]} { 409 418 # This component has its own hard-coded 410 419 # min/max range. Ignore it for overall limits. 411 set vmin $min412 set vmax $max420 set axisMin $min 421 set axisMax $max 413 422 } else { 414 foreach { vmin vmax} [$yv GetRange] break423 foreach {axisMin axisMax} [$yv GetRange] break 415 424 } 416 set axis v axis425 set axis v 417 426 } 418 427 default { … … 424 433 switch -- $which { 425 434 x - xlin - xlog { 426 set axis x axis427 foreach { vmin vmax} [$mesh limits x] break435 set axis x 436 foreach {axisMin axisMax} [$mesh limits x] break 428 437 } 429 438 y - ylin - ylog { 430 foreach { vmin vmax} [$mesh limits y] break431 set axis y axis439 foreach {axisMin axisMax} [$mesh limits y] break 440 set axis y 432 441 } 433 442 z - zlin - zlog { 434 foreach { vmin vmax} [$mesh limits z] break435 set axis z axis443 foreach {axisMin axisMax} [$mesh limits z] break 444 set axis z 436 445 } 437 446 v - vlin - vlog { 438 set vmin [$vector min]439 set vmax [$vector max]440 set axis v axis447 set axisMin [$vector min] 448 set axisMax [$vector max] 449 set axis v 441 450 } 442 451 } … … 445 454 switch -- $which { 446 455 x - xlin - xlog { 447 set axis x axis448 set vmax $limits(xmax)449 set vmin $limits(xmin)456 set axis x 457 set axisMax $limits(xmax) 458 set axisMin $limits(xmin) 450 459 } 451 460 y - ylin - ylog { 452 set axis y axis453 set vmax $limits(ymax)454 set vmin $limits(ymin)461 set axis y 462 set axisMax $limits(ymax) 463 set axisMin $limits(ymin) 455 464 } 456 465 z - zlin - zlog { 457 set axis y axis458 set vmax $limits(zmax)459 set vmin $limits(zmin)466 set axis y 467 set axisMax $limits(zmax) 468 set axisMin $limits(zmin) 460 469 } 461 470 v - vlin - vlog { 462 set axis v axis463 set vmax $limits(vmax)464 set vmin $limits(vmin)471 set axis v 472 set axisMax $limits(vmax) 473 set axisMin $limits(vmin) 465 474 } 466 475 } 467 476 } else { 468 set vmin 0 ;# HACK ALERT! must be OpenDX data469 set vmax 1470 set axis v axis477 set axisMin 0 ;# HACK ALERT! must be OpenDX data 478 set axisMax 1 479 set axis v 471 480 } 472 481 } 473 482 } 474 if { "" == $min || $ vmin < $min } {475 set min $ vmin476 } 477 if { "" == $max || $ vmax > $max } {478 set max $ vmax483 if { "" == $min || $axisMin < $min } { 484 set min $axisMin 485 } 486 if { "" == $max || $axisMax > $max } { 487 set max $axisMax 479 488 } 480 489 } 481 490 blt::vector destroy tmp zero 482 set val [$_field get $axis.min]491 set val [$_field get "${axis}axis.min"] 483 492 if {"" != $val && "" != $min} { 484 493 if {$val > $min} { … … 488 497 } 489 498 490 set val [$_field get $axis.max]499 set val [$_field get "${axis}axis.max"] 491 500 if {"" != $val && "" != $max} { 492 501 if {$val < $max} {
Note: See TracChangeset
for help on using the changeset viewer.