Ignore:
Timestamp:
Nov 23, 2014, 1:12:25 AM (10 years ago)
Author:
ldelgass
Message:

merge r4765 from trunk

Location:
branches/1.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/1.3

    • Property svn:mergeinfo changed
      /trunkmerged: 4765
  • branches/1.3/gui/scripts/vtkheightmapviewer.tcl

    r4759 r4766  
    6363    public method scale {args}
    6464
    65     protected method CameraReset {}
    66     protected method Connect {}
    67     protected method CurrentDatasets {args}
    68     protected method Disconnect {}
    69     protected method DoResize {}
    70     protected method DoRotate {}
    71     protected method AdjustSetting {what {value ""}}
    72     protected method AdjustMode {}
    73     protected method InitSettings { args  }
    74     protected method Pan {option x y}
    75     protected method Pick {x y}
    76     protected method Rebuild {}
    77     protected method ReceiveDataset { args }
    78     protected method ReceiveImage { args }
    79     protected method ReceiveLegend { colormap title min max size }
    80     protected method Rotate {option x y}
    81     protected method Zoom {option}
    82 
    8365    # The following methods are only used by this class.
     66    private method AdjustSetting {what {value ""}}
    8467    private method BuildAxisTab {}
    8568    private method BuildCameraTab {}
     
    8770    private method BuildContourTab {}
    8871    private method BuildDownloadPopup { widget command }
     72    private method CameraReset {}
    8973    private method Combo { option }
     74    private method Connect {}
     75    private method CurrentDatasets {args}
     76    private method Disconnect {}
     77    private method DoResize {}
     78    private method DoRotate {}
    9079    private method DrawLegend {}
    9180    private method EnterLegend { x y }
    9281    private method EventuallyRequestLegend {}
    9382    private method EventuallyResize { w h }
    94     private method EventuallyRotate { q }
     83    private method EventuallyRotate { q }
     84    private method GetHeightmapScale {}
    9585    private method GetImage { args }
    9686    private method GetVtkData { args }
     87    private method InitSettings { args  }
    9788    private method IsValidObject { dataobj }
    9889    private method LeaveLegend {}
    9990    private method MotionLegend { x y }
     91    private method Pan {option x y}
    10092    private method PanCamera {}
     93    private method Pick {x y}
     94    private method QuaternionToView { q } {
     95        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
     96    }
     97    private method Rebuild {}
     98    private method ReceiveDataset { args }
     99    private method ReceiveImage { args }
     100    private method ReceiveLegend { colormap title min max size }
    101101    private method RequestLegend {}
     102    private method ResetAxes {}
     103    private method Rotate {option x y}
    102104    private method SetCurrentColormap { color }
    103105    private method SetLegendTip { x y }
    104106    private method SetObjectStyle { dataobj comp }
    105     private method GetHeightmapScale {}
    106     private method ResetAxes {}
    107107    private method SetOrientation { side }
    108108    private method UpdateContourList {}
     109    private method ViewToQuaternion {} {
     110        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
     111    }
     112    private method Zoom {option}
    109113
    110114    private variable _arcball ""
     
    201205    # Initialize the view to some default parameters.
    202206    array set _view {
    203         qw      0.36
    204         qx      0.25
    205         qy      0.50
    206         qz      0.70
    207         zoom    1.0
    208         xpan    0
    209         ypan    0
    210         ortho   0
     207        -ortho           0
     208        -qw              0.36
     209        -qx              0.25
     210        -qy              0.50
     211        -qz              0.70
     212        -xpan            0
     213        -ypan            0
     214        -zoom            1.0
    211215    }
    212216    set _arcball [blt::arcball create 100 100]
    213     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    214     $_arcball quaternion $q
     217    $_arcball quaternion [ViewToQuaternion]
    215218
    216219    array set _settings {
     
    441444
    442445itcl::body Rappture::VtkHeightmapViewer::DoRotate {} {
    443     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    444     SendCmd "camera orient $q"
     446    SendCmd "camera orient [ViewToQuaternion]"
    445447    set _rotatePending 0
    446448}
     
    466468
    467469itcl::body Rappture::VtkHeightmapViewer::EventuallyRotate { q } {
    468     foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
     470    QuaternionToView $q
    469471    if { !$_rotatePending } {
    470472        set _rotatePending 1
     
    949951
    950952        SendCmd "axis lrot z 90"
    951         set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    952         $_arcball quaternion $q
     953        $_arcball quaternion [ViewToQuaternion]
    953954        if {$_settings(-isheightmap) } {
    954             if { $_view(ortho)} {
     955            if { $_view(-ortho)} {
    955956                SendCmd "camera mode ortho"
    956957            } else {
     
    995996                    lappend info "dataset_size"  $length
    996997                    lappend info "dataset_tag"   $tag
    997                     SendCmd [list "clientinfo" $info]
     998                    SendCmd "clientinfo [list $info]"
    998999                }
    9991000                SendCmd "dataset add $tag data follows $length"
     
    10861087        #
    10871088        ResetAxes
    1088         set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1089         $_arcball quaternion $q
     1089        $_arcball quaternion [ViewToQuaternion]
    10901090        if {$_settings(-isheightmap) } {
    1091             if { $_view(ortho)} {
     1091            if { $_view(-ortho)} {
    10921092                SendCmd "camera mode ortho"
    10931093            } else {
     
    11641164itcl::body Rappture::VtkHeightmapViewer::CameraReset {} {
    11651165    array set _view {
    1166         qw      0.36
    1167         qx      0.25
    1168         qy      0.50
    1169         qz      0.70
    1170         zoom    1.0
    1171         xpan    0
    1172         ypan    0
     1166        -qw      0.36
     1167        -qx      0.25
     1168        -qy      0.50
     1169        -qz      0.70
     1170        -xpan    0
     1171        -ypan    0
     1172        -zoom    1.0
    11731173    }
    11741174    if { $_first != "" } {
     
    11781178        }
    11791179    }
    1180     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1181     $_arcball quaternion $q
     1180    $_arcball quaternion [ViewToQuaternion]
    11821181    if {$_settings(-isheightmap) } {
    11831182        DoRotate
     
    11971196    switch -- $option {
    11981197        "in" {
    1199             set _view(zoom) [expr {$_view(zoom)*1.25}]
    1200             SendCmd "camera zoom $_view(zoom)"
     1198            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
     1199            SendCmd "camera zoom $_view(-zoom)"
    12011200        }
    12021201        "out" {
    1203             set _view(zoom) [expr {$_view(zoom)*0.8}]
    1204             SendCmd "camera zoom $_view(zoom)"
     1202            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
     1203            SendCmd "camera zoom $_view(-zoom)"
    12051204        }
    12061205        "reset" {
    12071206            array set _view {
    1208                 zoom    1.0
    1209                 xpan    0
    1210                 ypan    0
     1207                -xpan    0
     1208                -ypan    0
     1209                -zoom    1.0
    12111210            }
    12121211            SendCmd "camera reset"
     
    12161215
    12171216itcl::body Rappture::VtkHeightmapViewer::PanCamera {} {
    1218     set x $_view(xpan)
    1219     set y $_view(ypan)
     1217    set x $_view(-xpan)
     1218    set y $_view(-ypan)
    12201219    SendCmd "camera pan $x $y"
    12211220}
     
    12951294            set x [expr $x / double($w)]
    12961295            set y [expr $y / double($h)]
    1297             set _view(xpan) [expr $_view(xpan) + $x]
    1298             set _view(ypan) [expr $_view(ypan) + $y]
     1296            set _view(-xpan) [expr $_view(-xpan) + $x]
     1297            set _view(-ypan) [expr $_view(-ypan) + $y]
    12991298            PanCamera
    13001299            return
     
    13181317            set _click(x) $x
    13191318            set _click(y) $y
    1320             set _view(xpan) [expr $_view(xpan) - $dx]
    1321             set _view(ypan) [expr $_view(ypan) - $dy]
     1319            set _view(-xpan) [expr $_view(-xpan) - $dx]
     1320            set _view(-ypan) [expr $_view(-ypan) - $dy]
    13221321            PanCamera
    13231322        }
     
    15351534                $itk_component(scale_l) configure -state normal
    15361535                $itk_component(outline) configure -state disabled
    1537                 if {$_view(ortho)} {
     1536                if {$_view(-ortho)} {
    15381537                    SendCmd "camera mode ortho"
    15391538                } else {
     
    15581557            ResetAxes
    15591558            if { $bool } {
    1560                 set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     1559                set q [ViewToQuaternion]
    15611560                $_arcball quaternion $q
    15621561                SendCmd "camera orient $q"
     
    18341833        set rgb [Color2RGB $itk_option(-plotforeground)]
    18351834        if { !$_reset } {
     1835            SendCmd "axis color all $rgb"
    18361836            SendCmd "outline color $rgb"
    1837             SendCmd "axis color all $rgb"
    18381837        }
    18391838    }
     
    21172116        label $inner.${tag}label -text $tag -font "Arial 9"
    21182117        entry $inner.${tag} -font "Arial 9"  -bg white \
    2119             -textvariable [itcl::scope _view($tag)]
     2118            -textvariable [itcl::scope _view(-$tag)]
    21202119        bind $inner.${tag} <Return> \
    2121             [itcl::code $this camera set ${tag}]
     2120            [itcl::code $this camera set -${tag}]
    21222121        bind $inner.${tag} <KP_Enter> \
    2123             [itcl::code $this camera set ${tag}]
     2122            [itcl::code $this camera set -${tag}]
    21242123        blt::table $inner \
    21252124            $row,0 $inner.${tag}label -anchor e -pady 2 \
     
    21302129    checkbutton $inner.ortho \
    21312130        -text "Orthographic Projection" \
    2132         -variable [itcl::scope _view(ortho)] \
    2133         -command [itcl::code $this camera set ortho] \
     2131        -variable [itcl::scope _view(-ortho)] \
     2132        -command [itcl::code $this camera set -ortho] \
    21342133        -font "Arial 9"
    21352134    blt::table $inner \
     
    21522151        }
    21532152        "set" {
    2154             set who [lindex $args 0]
    2155             set x $_view($who)
     2153            set what [lindex $args 0]
     2154            set x $_view($what)
    21562155            set code [catch { string is double $x } result]
    21572156            if { $code != 0 || !$result } {
    21582157                return
    21592158            }
    2160             switch -- $who {
    2161                 "ortho" {
    2162                     if {$_view(ortho)} {
     2159            switch -- $what {
     2160                "-ortho" {
     2161                    if {$_view($what)} {
    21632162                        SendCmd "camera mode ortho"
    21642163                    } else {
     
    21662165                    }
    21672166                }
    2168                 "xpan" - "ypan" {
     2167                "-xpan" - "-ypan" {
    21692168                    PanCamera
    21702169                }
    2171                 "qx" - "qy" - "qz" - "qw" {
    2172                     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     2170                "-qx" - "-qy" - "-qz" - "-qw" {
     2171                    set q [ViewToQuaternion]
    21732172                    $_arcball quaternion $q
    21742173                    EventuallyRotate $q
    21752174                }
    2176                 "zoom" {
    2177                     SendCmd "camera zoom $_view(zoom)"
     2175                "-zoom" {
     2176                    SendCmd "camera zoom $_view($what)"
    21782177                }
    21792178            }
     
    26072606        bottom "0 1 0 0"
    26082607    }
    2609     foreach name { qw qx qy qz } value $positions($side) {
     2608    foreach name { -qw -qx -qy -qz } value $positions($side) {
    26102609        set _view($name) $value
    26112610    }
    2612     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     2611    set q [ViewToQuaternion]
    26132612    $_arcball quaternion $q
    26142613    SendCmd "camera orient $q"
    26152614    SendCmd "camera reset"
    2616     set _view(xpan) 0
    2617     set _view(ypan) 0
    2618     set _view(zoom) 1.0
     2615    set _view(-xpan) 0
     2616    set _view(-ypan) 0
     2617    set _view(-zoom) 1.0
    26192618}
    26202619
Note: See TracChangeset for help on using the changeset viewer.