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/vtksurfaceviewer.tcl

    r4759 r4766  
    6262    public method scale {args}
    6363
    64     protected method Connect {}
    65     protected method CurrentDatasets {args}
    66     protected method Disconnect {}
    67     protected method DoResize {}
    68     protected method DoRotate {}
    69     protected method AdjustSetting {what {value ""}}
    70     protected method InitSettings { args  }
    71     protected method Pan {option x y}
    72     protected method Pick {x y}
    73     protected method Rebuild {}
    74     protected method ReceiveDataset { args }
    75     protected method ReceiveImage { args }
    76     protected method ReceiveLegend { colormap title vmin vmax size }
    77     protected method Rotate {option x y}
    78     protected method Zoom {option}
    79 
    8064    # The following methods are only used by this class.
     65    private method AdjustSetting {what {value ""}}
    8166    private method BuildAxisTab {}
    8267    private method BuildCameraTab {}
     
    8570    private method BuildSurfaceTab {}
    8671    private method Combo { option }
     72    private method Connect {}
     73    private method CurrentDatasets {args}
     74    private method Disconnect {}
     75    private method DoResize {}
     76    private method DoRotate {}
    8777    private method DrawLegend {}
    8878    private method EnterLegend { x y }
     
    9282    private method GetImage { args }
    9383    private method GetVtkData { args }
     84    private method InitSettings { args  }
    9485    private method IsValidObject { dataobj }
    9586    private method LeaveLegend {}
    9687    private method MotionLegend { x y }
     88    private method Pan {option x y}
    9789    private method PanCamera {}
     90    private method Pick {x y}
     91    private method QuaternionToView { q } {
     92        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
     93    }
     94    private method Rebuild {}
     95    private method ReceiveDataset { args }
     96    private method ReceiveImage { args }
     97    private method ReceiveLegend { colormap title vmin vmax size }
    9898    private method RequestLegend {}
     99    private method Rotate {option x y}
    99100    private method SetLegendTip { x y }
    100101    private method SetObjectStyle { dataobj comp }
     
    102103    private method SetOrientation { side }
    103104    private method UpdateContourList {}
     105    private method ViewToQuaternion {} {
     106        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
     107    }
     108    private method Zoom {option}
    104109
    105110    private variable _arcball ""
     
    187192    # Initialize the view to some default parameters.
    188193    array set _view {
    189         qw              0.853553
    190         qx              -0.353553
    191         qy              0.353553
    192         qz              0.146447
    193         zoom            1.0
    194         xpan            0
    195         ypan            0
    196         ortho           0
     194        -ortho           0
     195        -qw              0.853553
     196        -qx              -0.353553
     197        -qy              0.353553
     198        -qz              0.146447
     199        -xpan            0
     200        -ypan            0
     201        -zoom            1.0
    197202    }
    198203    set _arcball [blt::arcball create 100 100]
    199     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    200     $_arcball quaternion $q
     204    $_arcball quaternion [ViewToQuaternion]
    201205
    202206    array set _settings {
     
    320324        puts stderr errs=$errs
    321325    }
     326
    322327    # Legend
    323 
    324328    set _image(legend) [image create photo]
    325329    itk_component add legend {
     
    424428
    425429itcl::body Rappture::VtkSurfaceViewer::DoRotate {} {
    426     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    427     SendCmd "camera orient $q"
     430    SendCmd "camera orient [ViewToQuaternion]"
    428431    set _rotatePending 0
    429432}
     
    449452
    450453itcl::body Rappture::VtkSurfaceViewer::EventuallyRotate { q } {
    451     foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
     454    QuaternionToView $q
    452455    if { !$_rotatePending } {
    453456        set _rotatePending 1
     
    497500}
    498501
    499 
    500502# ----------------------------------------------------------------------
    501503# USAGE: delete ?<dataobj1> <dataobj2> ...?
     
    785787    array unset _data
    786788    array unset _colormaps
    787     array unset _seeds
    788789    array unset _dataset2style
    789790    array unset _obj2datasets
     
    808809        if 0 {
    809810            set f [open "last.ppm" "w"]
    810             puts $f $bytes
     811            fconfigure $f -encoding binary
     812            puts -nonewline $f $bytes
    811813            close $f
    812814        }
     
    898900        # Reset the camera and other view parameters
    899901        #
    900         set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    901         $_arcball quaternion $q
    902         if {$_view(ortho)} {
     902        $_arcball quaternion [ViewToQuaternion]
     903        if {$_view(-ortho)} {
    903904            SendCmd "camera mode ortho"
    904905        } else {
     
    944945                    SendCmd "clientinfo [list $info]"
    945946                }
    946                 append _outbuf "dataset add $tag data follows $length\n"
     947                SendCmd "dataset add $tag data follows $length"
    947948                append _outbuf $bytes
    948949                set _datasets($tag) 1
     
    10781079    switch -- $option {
    10791080        "in" {
    1080             set _view(zoom) [expr {$_view(zoom)*1.25}]
    1081             SendCmd "camera zoom $_view(zoom)"
     1081            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
     1082            SendCmd "camera zoom $_view(-zoom)"
    10821083        }
    10831084        "out" {
    1084             set _view(zoom) [expr {$_view(zoom)*0.8}]
    1085             SendCmd "camera zoom $_view(zoom)"
     1085            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
     1086            SendCmd "camera zoom $_view(-zoom)"
    10861087        }
    10871088        "reset" {
    10881089            array set _view {
    1089                 qw     0.853553
    1090                 qx     -0.353553
    1091                 qy     0.353553
    1092                 qz     0.146447
    1093                 zoom   1.0
    1094                 xpan   0
    1095                 ypan   0
     1090                -qw      0.853553
     1091                -qx      -0.353553
     1092                -qy      0.353553
     1093                -qz      0.146447
     1094                -xpan    0
     1095                -ypan    0
     1096                -zoom    1.0
    10961097            }
    10971098            if { $_first != "" } {
     
    11011102                }
    11021103            }
    1103             set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1104             $_arcball quaternion $q
     1104            $_arcball quaternion [ViewToQuaternion]
    11051105            DoRotate
    11061106            SendCmd "camera reset"
     
    11101110
    11111111itcl::body Rappture::VtkSurfaceViewer::PanCamera {} {
    1112     set x $_view(xpan)
    1113     set y $_view(ypan)
     1112    set x $_view(-xpan)
     1113    set y $_view(-ypan)
    11141114    SendCmd "camera pan $x $y"
    11151115}
    1116 
    11171116
    11181117# ----------------------------------------------------------------------
     
    11701169itcl::body Rappture::VtkSurfaceViewer::Pick {x y} {
    11711170    foreach tag [CurrentDatasets -visible] {
    1172         SendCmdNoSplash "dataset getscalar pixel $x $y $tag"
     1171        SendCmd "dataset getscalar pixel $x $y $tag"
    11731172    }
    11741173}
     
    11891188            set x [expr $x / double($w)]
    11901189            set y [expr $y / double($h)]
    1191             set _view(xpan) [expr $_view(xpan) + $x]
    1192             set _view(ypan) [expr $_view(ypan) + $y]
     1190            set _view(-xpan) [expr $_view(-xpan) + $x]
     1191            set _view(-ypan) [expr $_view(-ypan) + $y]
    11931192            PanCamera
    11941193            return
     
    12121211            set _click(x) $x
    12131212            set _click(y) $y
    1214             set _view(xpan) [expr $_view(xpan) - $dx]
    1215             set _view(ypan) [expr $_view(ypan) - $dy]
     1213            set _view(-xpan) [expr $_view(-xpan) - $dx]
     1214            set _view(-ypan) [expr $_view(-ypan) - $dy]
    12161215            PanCamera
    12171216        }
     
    17511750        label $inner.${tag}label -text $tag -font "Arial 9"
    17521751        entry $inner.${tag} -font "Arial 9"  -bg white \
    1753             -textvariable [itcl::scope _view($tag)]
     1752            -textvariable [itcl::scope _view(-$tag)]
    17541753        bind $inner.${tag} <Return> \
    1755             [itcl::code $this camera set ${tag}]
     1754            [itcl::code $this camera set -${tag}]
    17561755        bind $inner.${tag} <KP_Enter> \
    1757             [itcl::code $this camera set ${tag}]
     1756            [itcl::code $this camera set -${tag}]
    17581757        blt::table $inner \
    17591758            $row,0 $inner.${tag}label -anchor e -pady 2 \
     
    17641763    checkbutton $inner.ortho \
    17651764        -text "Orthographic Projection" \
    1766         -variable [itcl::scope _view(ortho)] \
    1767         -command [itcl::code $this camera set ortho] \
     1765        -variable [itcl::scope _view(-ortho)] \
     1766        -command [itcl::code $this camera set -ortho] \
    17681767        -font "Arial 9"
    17691768    blt::table $inner \
     
    17861785        }
    17871786        "set" {
    1788             set who [lindex $args 0]
    1789             set x $_view($who)
     1787            set what [lindex $args 0]
     1788            set x $_view($what)
    17901789            set code [catch { string is double $x } result]
    17911790            if { $code != 0 || !$result } {
    17921791                return
    17931792            }
    1794             switch -- $who {
    1795                 "ortho" {
    1796                     if {$_view(ortho)} {
     1793            switch -- $what {
     1794                "-ortho" {
     1795                    if {$_view($what)} {
    17971796                        SendCmd "camera mode ortho"
    17981797                    } else {
     
    18001799                    }
    18011800                }
    1802                 "xpan" - "ypan" {
     1801                "-xpan" - "-ypan" {
    18031802                    PanCamera
    18041803                }
    1805                 "qx" - "qy" - "qz" - "qw" {
    1806                     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     1804                "-qx" - "-qy" - "-qz" - "-qw" {
     1805                    set q [ViewToQuaternion]
    18071806                    $_arcball quaternion $q
    18081807                    EventuallyRotate $q
    18091808                }
    1810                 "zoom" {
    1811                     SendCmd "camera zoom $_view(zoom)"
     1809                "-zoom" {
     1810                    SendCmd "camera zoom $_view($what)"
    18121811                }
    18131812             }
     
    22712270        bottom "0.707107 0.707107 0 0"
    22722271    }
    2273     foreach name { qw qx qy qz } value $positions($side) {
     2272    foreach name { -qw -qx -qy -qz } value $positions($side) {
    22742273        set _view($name) $value
    22752274    }
    2276     set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     2275    set q [ViewToQuaternion]
    22772276    $_arcball quaternion $q
    22782277    SendCmd "camera orient $q"
    22792278    SendCmd "camera reset"
    2280     set _view(xpan) 0
    2281     set _view(ypan) 0
    2282     set _view(zoom) 1.0
     2279    set _view(-xpan) 0
     2280    set _view(-ypan) 0
     2281    set _view(-zoom) 1.0
    22832282}
    22842283
     
    22982297    blt::vector destroy $v
    22992298}
    2300 
Note: See TracChangeset for help on using the changeset viewer.