Changeset 3485


Ignore:
Timestamp:
Mar 11, 2013 5:56:08 PM (8 years ago)
Author:
ldelgass
Message:

Remove euler angle support from nanovis clients, also prep. camera resets
(currently commented out).

Location:
trunk/gui/scripts
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/scripts/flowvisviewer.tcl

    r3478 r3485  
    125125
    126126    private variable _arcball ""
    127     private variable _useArcball 1
    128127    private variable _dlist ""     ;# list of data objects
    129128    private variable _allDataObjs
     
    224223        qy      0.353553
    225224        qz      0.146447
    226         theta   45
    227         phi     45
    228         psi     0
    229225        zoom    1.0
    230226        pan-x   0
     
    244240        $this-qy                $_view(qy)
    245241        $this-qz                $_view(qz)
    246         $this-theta             $_view(theta)
    247         $this-phi               $_view(phi)
    248         $this-psi               $_view(psi)
    249242        $this-zoom              $_view(zoom)   
    250243        $this-pan-x             $_view(pan-x)
     
    956949            array set _view $location
    957950        }
    958         set _settings($this-theta) $_view(theta)
    959         set _settings($this-phi)   $_view(phi)
    960         set _settings($this-psi)   $_view(psi)
     951        set _settings($this-qw)    $_view(qw)
     952        set _settings($this-qx)    $_view(qx)
     953        set _settings($this-qy)    $_view(qy)
     954        set _settings($this-qz)    $_view(qz)
    961955        set _settings($this-pan-x) $_view(pan-x)
    962956        set _settings($this-pan-y) $_view(pan-y)
    963957        set _settings($this-zoom)  $_view(zoom)
    964         set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    965         SendCmd "camera angle $xyz"
     958        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     959        $_arcball quaternion $q
     960        SendCmd "camera orient $q"
     961        #SendCmd "camera reset"
    966962        PanCamera
    967963        SendCmd "camera zoom $_view(zoom)"
     
    12541250    set _settings($this-qy)    $_view(qy)
    12551251    set _settings($this-qz)    $_view(qz)
    1256     set _settings($this-theta) $_view(theta)
    1257     set _settings($this-phi)   $_view(phi)
    1258     set _settings($this-psi)   $_view(psi)
    12591252    set _settings($this-pan-x) $_view(pan-x)
    12601253    set _settings($this-pan-y) $_view(pan-y)
    12611254    set _settings($this-zoom)  $_view(zoom)
    12621255
    1263     if {$_useArcball} {
    1264         set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1265         $_arcball quaternion $q
    1266         SendCmd "camera orient $q"
    1267     } else {
    1268         set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    1269         SendCmd "camera angle $xyz"
    1270     }
     1256    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     1257    $_arcball quaternion $q
     1258    SendCmd "camera orient $q"
     1259    #SendCmd "camera reset"
    12711260    PanCamera
    12721261    SendCmd "camera zoom $_view(zoom)"
     
    13521341            set _view(zoom) [expr {$_view(zoom)*1.25}]
    13531342            set _settings($this-zoom) $_view(zoom)
     1343            SendCmd "camera zoom $_view(zoom)"
    13541344        }
    13551345        "out" {
    13561346            set _view(zoom) [expr {$_view(zoom)*0.8}]
    13571347            set _settings($this-zoom) $_view(zoom)
     1348            SendCmd "camera zoom $_view(zoom)"
    13581349        }
    13591350        "reset" {
     
    13631354                qy      0.353553
    13641355                qz      0.146447
    1365                 theta   45
    1366                 phi     45
    1367                 psi     0
    13681356                zoom    1.0
    13691357                pan-x   0
     
    13761364                }
    13771365            }
    1378             if {$_useArcball} {
    1379                 set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1380                 $_arcball quaternion $q
    1381                 SendCmd "camera orient $q"
    1382             } else {
    1383                 set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    1384                 SendCmd "camera angle $xyz"
    1385             }
    1386             PanCamera
     1366            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     1367            $_arcball quaternion $q
     1368            SendCmd "camera orient $q"
     1369            #SendCmd "camera reset"
     1370            SendCmd "camera zoom $_view(zoom)"
    13871371            set _settings($this-qw)    $_view(qw)
    13881372            set _settings($this-qx)    $_view(qx)
    13891373            set _settings($this-qy)    $_view(qy)
    13901374            set _settings($this-qz)    $_view(qz)
    1391             set _settings($this-theta) $_view(theta)
    1392             set _settings($this-phi)   $_view(phi)
    1393             set _settings($this-psi)   $_view(psi)
    13941375            set _settings($this-pan-x) $_view(pan-x)
    13951376            set _settings($this-pan-y) $_view(pan-y)
     
    13971378        }
    13981379    }
    1399     SendCmd "camera zoom $_view(zoom)"
    14001380}
    14011381
     
    14221402            set _click(x) $x
    14231403            set _click(y) $y
    1424             set _click(theta) $_view(theta)
    1425             set _click(phi) $_view(phi)
    14261404        }
    14271405        drag {
     
    14431421                }
    14441422
    1445                 if {$_useArcball} {
    1446                     set q [$_arcball rotate $x $y $_click(x) $_click(y)]
    1447                     foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
    1448                     set _settings($this-qw) $_view(qw)
    1449                     set _settings($this-qx) $_view(qx)
    1450                     set _settings($this-qy) $_view(qy)
    1451                     set _settings($this-qz) $_view(qz)
    1452                     SendCmd "camera orient $q"
    1453                 } else {
    1454                     #
    1455                     # Rotate the camera in 3D
    1456                     #
    1457                     if {$_view(psi) > 90 || $_view(psi) < -90} {
    1458                         # when psi is flipped around, theta moves backwards
    1459                         set dy [expr {-$dy}]
    1460                     }
    1461                     set theta [expr {$_view(theta) - $dy*180}]
    1462                     while {$theta < 0} { set theta [expr {$theta+180}] }
    1463                     while {$theta > 180} { set theta [expr {$theta-180}] }
    1464 
    1465                     if {abs($theta) >= 30 && abs($theta) <= 160} {
    1466                         set phi [expr {$_view(phi) - $dx*360}]
    1467                         while {$phi < 0} { set phi [expr {$phi+360}] }
    1468                         while {$phi > 360} { set phi [expr {$phi-360}] }
    1469                         set psi $_view(psi)
    1470                     } else {
    1471                         set phi $_view(phi)
    1472                         set psi [expr {$_view(psi) - $dx*360}]
    1473                         while {$psi < -180} { set psi [expr {$psi+360}] }
    1474                         while {$psi > 180} { set psi [expr {$psi-360}] }
    1475                     }
    1476 
    1477                     set _view(theta)        $theta
    1478                     set _view(phi)          $phi
    1479                     set _view(psi)          $psi
    1480                     set xyz [Euler2XYZ $theta $phi $psi]
    1481                     set _settings($this-theta) $_view(theta)
    1482                     set _settings($this-phi)   $_view(phi)
    1483                     set _settings($this-psi)   $_view(psi)
    1484                     SendCmd "camera angle $xyz"
    1485                 }
     1423                set q [$_arcball rotate $x $y $_click(x) $_click(y)]
     1424                foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
     1425                set _settings($this-qw) $_view(qw)
     1426                set _settings($this-qx) $_view(qx)
     1427                set _settings($this-qy) $_view(qy)
     1428                set _settings($this-qz) $_view(qz)
     1429                SendCmd "camera orient $q"
    14861430
    14871431                set _click(x) $x
     
    24432387    $inner configure -borderwidth 4
    24442388
    2445     if {$_useArcball} {
    2446         set labels { qw qx qy qz pan-x pan-y zoom }
    2447     } else {
    2448         set labels { phi theta psi pan-x pan-y zoom }
    2449     }
     2389    set labels { qw qx qy qz pan-x pan-y zoom }
    24502390    set row 0
    24512391    foreach tag $labels {
     
    26692609                    set _view($who) $_settings($this-$who)
    26702610                    PanCamera
    2671                 }
    2672                 "phi" - "theta" - "psi" {
    2673                     set _view($who) $_settings($this-$who)
    2674                     set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    2675                     SendCmd "camera angle $xyz"
    2676                     if {$_useArcball} {
    2677                         $_arcball euler [list [expr {-[lindex $xyz 2]}] [expr {-[lindex $xyz 1]}] [expr {-[lindex $xyz 0]}]]
    2678                         set q [$_arcball quaternion]
    2679                         foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
    2680                         set _settings($this-qw) $_view(qw)
    2681                         set _settings($this-qx) $_view(qx)
    2682                         set _settings($this-qy) $_view(qy)
    2683                         set _settings($this-qz) $_view(qz)
    2684                     }
    26852611                }
    26862612                "qx" - "qy" - "qz" - "qw" {
  • trunk/gui/scripts/nanovisviewer.tcl

    r3478 r3485  
    1717package require BLT
    1818package require Img
    19                                        
     19
    2020#
    2121# FIXME:
     
    121121
    122122    private variable _arcball ""
    123     private variable _useArcball 1
    124123
    125124    private variable _dlist ""     ;# list of data objects
     
    200199        qy      0.353553
    201200        qz      0.146447
    202         theta   45
    203         phi     45
    204         psi     0
    205201        zoom    1.0
    206202        pan-x   0
     
    220216        $this-qy                $_view(qy)
    221217        $this-qz                $_view(qz)
    222         $this-theta             $_view(theta)
    223         $this-phi               $_view(phi)
    224         $this-psi               $_view(psi)
    225218        $this-zoom              $_view(zoom)   
    226219        $this-pan-x             $_view(pan-x)
     
    913906        set _settings($this-qy)    $_view(qy)
    914907        set _settings($this-qz)    $_view(qz)
    915         set _settings($this-theta) $_view(theta)
    916         set _settings($this-phi)   $_view(phi)
    917         set _settings($this-psi)   $_view(psi)
    918908        set _settings($this-pan-x) $_view(pan-x)
    919909        set _settings($this-pan-y) $_view(pan-y)
    920910        set _settings($this-zoom)  $_view(zoom)
    921911
    922         if {$_useArcball} {
    923             set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    924             $_arcball quaternion $q
    925             SendCmd "camera orient $q"
    926         } else {
    927             set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    928             SendCmd "camera angle $xyz"
    929         }
    930 
     912        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     913        $_arcball quaternion $q
     914        SendCmd "camera orient $q"
     915        #SendCmd "camera reset"
    931916        PanCamera
    932917        SendCmd "camera zoom $_view(zoom)"
     
    1012997            set _view(zoom) [expr {$_view(zoom)*1.25}]
    1013998            set _settings($this-zoom) $_view(zoom)
     999            SendCmd "camera zoom $_view(zoom)"
    10141000        }
    10151001        "out" {
    10161002            set _view(zoom) [expr {$_view(zoom)*0.8}]
    10171003            set _settings($this-zoom) $_view(zoom)
     1004            SendCmd "camera zoom $_view(zoom)"
    10181005        }
    10191006        "reset" {
     
    10231010                qy      0.353553
    10241011                qz      0.146447
    1025                 theta   45
    1026                 phi     45
    1027                 psi     0
    10281012                zoom    1.0
    10291013                pan-x   0
     
    10361020                }
    10371021            }
    1038             if {$_useArcball} {
    1039                 set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
    1040                 $_arcball quaternion $q
    1041                 SendCmd "camera orient $q"
    1042             } else {
    1043                 set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    1044                 SendCmd "camera angle $xyz"
    1045             }
    1046 
    1047             PanCamera
     1022            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
     1023            $_arcball quaternion $q
     1024            SendCmd "camera orient $q"
     1025            #SendCmd "camera reset"
     1026            SendCmd "camera zoom $_view(zoom)"
    10481027            set _settings($this-qw)    $_view(qw)
    10491028            set _settings($this-qx)    $_view(qx)
    10501029            set _settings($this-qy)    $_view(qy)
    10511030            set _settings($this-qz)    $_view(qz)
    1052             set _settings($this-theta) $_view(theta)
    1053             set _settings($this-phi)   $_view(phi)
    1054             set _settings($this-psi)   $_view(psi)
    10551031            set _settings($this-pan-x) $_view(pan-x)
    10561032            set _settings($this-pan-y) $_view(pan-y)
     
    10581034        }
    10591035    }
    1060     SendCmd "camera zoom $_view(zoom)"
    10611036}
    10621037
     
    10841059            set _click(x) $x
    10851060            set _click(y) $y
    1086             set _click(theta) $_view(theta)
    1087             set _click(phi) $_view(phi)
    10881061        }
    10891062        drag {
     
    11051078                }
    11061079
    1107                 if {$_useArcball} {
    1108                     set q [$_arcball rotate $x $y $_click(x) $_click(y)]
    1109                     foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
    1110                     set _settings($this-qw) $_view(qw)
    1111                     set _settings($this-qx) $_view(qx)
    1112                     set _settings($this-qy) $_view(qy)
    1113                     set _settings($this-qz) $_view(qz)
    1114                     SendCmd "camera orient $q"
    1115                 } else {
    1116                     #
    1117                     # Rotate the camera in 3D
    1118                     #
    1119                     if {$_view(psi) > 90 || $_view(psi) < -90} {
    1120                         # when psi is flipped around, theta moves backwards
    1121                         set dy [expr {-$dy}]
    1122                     }
    1123                     set theta [expr {$_view(theta) - $dy*180}]
    1124                     while {$theta < 0} { set theta [expr {$theta+180}] }
    1125                     while {$theta > 180} { set theta [expr {$theta-180}] }
    1126 
    1127                     if {abs($theta) >= 30 && abs($theta) <= 160} {
    1128                         set phi [expr {$_view(phi) - $dx*360}]
    1129                         while {$phi < 0} { set phi [expr {$phi+360}] }
    1130                         while {$phi > 360} { set phi [expr {$phi-360}] }
    1131                         set psi $_view(psi)
    1132                     } else {
    1133                         set phi $_view(phi)
    1134                         set psi [expr {$_view(psi) - $dx*360}]
    1135                         while {$psi < -180} { set psi [expr {$psi+360}] }
    1136                         while {$psi > 180} { set psi [expr {$psi-360}] }
    1137                     }
    1138 
    1139                     set _view(theta)        $theta
    1140                     set _view(phi)          $phi
    1141                     set _view(psi)          $psi
    1142                     set xyz [Euler2XYZ $theta $phi $psi]
    1143                     set _settings($this-theta) $_view(theta)
    1144                     set _settings($this-phi)   $_view(phi)
    1145                     set _settings($this-psi)   $_view(psi)
    1146                     SendCmd "camera angle $xyz"
    1147                 }
     1080                set q [$_arcball rotate $x $y $_click(x) $_click(y)]
     1081                foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
     1082                set _settings($this-qw) $_view(qw)
     1083                set _settings($this-qx) $_view(qx)
     1084                set _settings($this-qy) $_view(qy)
     1085                set _settings($this-qz) $_view(qz)
     1086                SendCmd "camera orient $q"
    11481087
    11491088                set _click(x) $x
     
    19531892    $inner configure -borderwidth 4
    19541893
    1955     if {$_useArcball} {
    1956         set labels { qw qx qy qz pan-x pan-y zoom }
    1957     } else {
    1958         set labels { phi theta psi pan-x pan-y zoom }
    1959     }
     1894    set labels { qw qx qy qz pan-x pan-y zoom }
    19601895    set row 0
    19611896    foreach tag $labels {
     
    19741909    }
    19751910
    1976     itk_component add orientation {
    1977         Rappture::Combobox $inner.orientation -width 10 -editable no
    1978     }
    1979     $inner.orientation choices insert end \
    1980         "front"    "0 90 0" \
    1981         "back"   "180 90 0" \
    1982         "top"     "0 0 0"  \
    1983         "bottom"     "0 180 0"  \
    1984         "left"     "270 90 0 "  \
    1985         "right"     "90 90 0"  \
    1986         "default"  "45 45 0"
    1987     $itk_component(orientation) value "default"
    1988     bind $inner.orientation <<Value>> [itcl::code $this SetOrientation]
    1989 
    19901911    blt::table configure $inner c0 c1 -resize none
    19911912    blt::table configure $inner c2 -resize expand
    19921913    blt::table configure $inner r$row -resize expand
    19931914}
    1994 
    19951915
    19961916# ----------------------------------------------------------------------
     
    20601980}
    20611981
    2062 
    20631982#  camera --
    20641983#
     
    20801999                    set _view($who) $_settings($this-$who)
    20812000                    PanCamera
    2082                 }
    2083                 "phi" - "theta" - "psi" {
    2084                     set _view($who) $_settings($this-$who)
    2085                     set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    2086                     SendCmd "camera angle $xyz"
    2087                     if {$_useArcball} {
    2088                         $_arcball euler [list [expr {-[lindex $xyz 2]}] [expr {-[lindex $xyz 1]}] [expr {-[lindex $xyz 0]}]]
    2089                         set q [$_arcball quaternion]
    2090                         foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
    2091                         set _settings($this-qw) $_view(qw)
    2092                         set _settings($this-qx) $_view(qx)
    2093                         set _settings($this-qy) $_view(qy)
    2094                         set _settings($this-qz) $_view(qz)
    2095                     }
    20962001                }
    20972002                "qx" - "qy" - "qz" - "qw" {
     
    21672072    SendCmd "volume statue $bool $name"
    21682073}
    2169 
    2170 
    2171 itcl::body Rappture::NanovisViewer::SetOrientation {} {
    2172     set angles [$itk_component(orientation) value]
    2173     foreach name { theta phi psi } angle $angles {
    2174         set _view($name) $angle
    2175     }
    2176     set xyz [Euler2XYZ $_view(theta) $_view(phi) $_view(psi)]
    2177     SendCmd "camera angle $xyz"
    2178 }
    2179 
Note: See TracChangeset for help on using the changeset viewer.