Index: branches/1.3/gui/scripts/flowvisviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/flowvisviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/flowvisviewer.tcl	(revision 4766)
@@ -43,9 +43,4 @@
     itk_option define -plotbackground plotBackground Background ""
     itk_option define -plotoutline plotOutline PlotOutline ""
-
-    private variable _volcomponents   ; # Array of components found 
-    private variable _componentsList   ; # Array of components found 
-    private method BuildVolumeComponents {}
-    private method GetDatasetsWithComponent { cname } 
 
     constructor { hostlist args } {
@@ -77,55 +72,60 @@
     public method updateTransferFunctions {}
 
-    protected method Connect {}
-    protected method CurrentVolumeIds {{what -all}}
-    protected method Disconnect {}
-    protected method Resize {}
-    protected method ResizeLegend {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args }
-    protected method Pan {option x y}
-    protected method Rebuild {}
-    protected method ReceiveData { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { tf vmin vmax size }
-    protected method Rotate {option x y}
-    protected method SendTransferFuncs {}
-    protected method Slice {option args}
-    protected method SlicerTip {axis}
-    protected method Zoom {option}
-
     # soon to be removed.
-    protected method Flow {option args}
-    protected method Play {}
-    protected method Pause {}
-
+    private method Flow {option args}
+    private method Play {}
+    private method Pause {}
 
     # The following methods are only used by this class.
-
+    private method AdjustSetting {what {value ""}}
     private method AddIsoMarker { x y }
     private method BuildCameraTab {}
     private method BuildCutplanesTab {}
     private method BuildViewTab {}
+    private method BuildVolumeComponents {}
     private method BuildVolumeTab {}
     private method ComputeTransferFunc { tf }
+    private method Connect {}
+    private method CurrentVolumeIds {{what -all}}
+    private method Disconnect {}
     private method EventuallyResize { w h } 
     private method EventuallyGoto { nSteps } 
     private method EventuallyResizeLegend { } 
     private method FlowCmd { dataobj comp nbytes extents }
+    private method GetDatasetsWithComponent { cname } 
+    private method GetFlowInfo { widget }
     private method GetMovie { widget width height }
     private method GetPngImage { widget width height }
+    private method InitSettings { args }
     private method NameTransferFunc { dataobj comp }
+    private method Pan {option x y}
     private method PanCamera {}
     private method ParseLevelsOption { tf levels }
     private method ParseMarkersOption { tf markers }
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveData { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { tf vmin vmax size }
+    private method Resize {}
+    private method ResizeLegend {}
+    private method Rotate {option x y}
+    private method SendTransferFuncs {}
+    private method SetOrientation { side }
+    private method Slice {option args}
+    private method SlicerTip {axis}
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
     private method WaitIcon { option widget }
+    private method Zoom {option}
+    private method arrows { tag name } 
+    private method box { tag name } 
+    private method millisecs2str { value } 
+    private method particles { tag name } 
     private method str2millisecs { value } 
-    private method millisecs2str { value } 
-    private method GetFlowInfo { widget }
-    private method particles { tag name } 
-    private method box { tag name } 
     private method streams { tag name } 
-    private method arrows { tag name } 
-    private method SetOrientation { side }
 
     private variable _arcball ""
@@ -149,4 +149,6 @@
     private variable _activeTf ""  ;# The currently active transfer function.
     private variable _first ""     ;# This is the topmost volume.
+    private variable _volcomponents   ; # Array of components found 
+    private variable _componentsList   ; # Array of components found 
     private variable _nextToken 0
     private variable _icon 0
@@ -218,15 +220,14 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw      0.853553
-        qx      -0.353553
-        qy      0.353553
-        qz      0.146447
-        zoom    1.0
-        xpan    0
-        ypan    0
+        -qw      0.853553
+        -qx      -0.353553
+        -qy      0.353553
+        -qz      0.146447
+        -xpan    0
+        -ypan    0
+        -zoom    1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     set _limits(v) [list 0.0 1.0]
@@ -234,11 +235,11 @@
 
     array set _settings [subst {
-        $this-qw                $_view(qw)
-        $this-qx                $_view(qx)
-        $this-qy                $_view(qy)
-        $this-qz                $_view(qz)
-        $this-zoom              $_view(zoom)    
-        $this-xpan              $_view(xpan)
-        $this-ypan              $_view(ypan)
+        $this-qw                $_view(-qw)
+        $this-qx                $_view(-qx)
+        $this-qy                $_view(-qy)
+        $this-qz                $_view(-qz)
+        $this-zoom              $_view(-zoom)    
+        $this-xpan              $_view(-xpan)
+        $this-ypan              $_view(-ypan)
         $this-arrows            0
         $this-currenttime       0
@@ -1191,18 +1192,18 @@
 
     }
-    set _settings($this-qw)    $_view(qw)
-    set _settings($this-qx)    $_view(qx)
-    set _settings($this-qy)    $_view(qy)
-    set _settings($this-qz)    $_view(qz)
-    set _settings($this-xpan)  $_view(xpan)
-    set _settings($this-ypan)  $_view(ypan)
-    set _settings($this-zoom)  $_view(zoom)
-
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set _settings($this-qw)    $_view(-qw)
+    set _settings($this-qx)    $_view(-qx)
+    set _settings($this-qy)    $_view(-qy)
+    set _settings($this-qz)    $_view(-qz)
+    set _settings($this-xpan)  $_view(-xpan)
+    set _settings($this-ypan)  $_view(-ypan)
+    set _settings($this-zoom)  $_view(-zoom)
+
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
     PanCamera
-    SendCmd "camera zoom $_view(zoom)"
+    SendCmd "camera zoom $_view(-zoom)"
 
     foreach dataobj [get] {
@@ -1284,22 +1285,22 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            set _settings($this-zoom) $_view(zoom)
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            set _settings($this-zoom) $_view(-zoom)
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            set _settings($this-zoom) $_view(zoom)
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            set _settings($this-zoom) $_view(-zoom)
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw      0.853553
-                qx      -0.353553
-                qy      0.353553
-                qz      0.146447
-                zoom    1.0
-                xpan   0
-                ypan   0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -zoom    1.0
+                -xpan    0
+                -ypan    0
             }
             if { $_first != "" } {
@@ -1309,15 +1310,15 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+            set q [ViewToQuaternion]
             $_arcball quaternion $q
             SendCmd "camera orient $q"
             SendCmd "camera reset"
-            set _settings($this-qw)    $_view(qw)
-            set _settings($this-qx)    $_view(qx)
-            set _settings($this-qy)    $_view(qy)
-            set _settings($this-qz)    $_view(qz)
-            set _settings($this-xpan)  $_view(xpan)
-            set _settings($this-ypan)  $_view(ypan)
-            set _settings($this-zoom)  $_view(zoom)
+            set _settings($this-qw)    $_view(-qw)
+            set _settings($this-qx)    $_view(-qx)
+            set _settings($this-qy)    $_view(-qy)
+            set _settings($this-qz)    $_view(-qz)
+            set _settings($this-xpan)  $_view(-xpan)
+            set _settings($this-ypan)  $_view(-ypan)
+            set _settings($this-zoom)  $_view(-zoom)
         }
     }
@@ -1325,6 +1326,6 @@
 
 itcl::body Rappture::FlowvisViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1364,9 +1365,9 @@
 
                 set q [$_arcball rotate $x $y $_click(x) $_click(y)]
-                foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
-                set _settings($this-qw) $_view(qw)
-                set _settings($this-qx) $_view(qx)
-                set _settings($this-qy) $_view(qy)
-                set _settings($this-qz) $_view(qz)
+                QuaternionToView $q
+                set _settings($this-qw) $_view(-qw)
+                set _settings($this-qx) $_view(-qx)
+                set _settings($this-qy) $_view(-qy)
+                set _settings($this-qz) $_view(-qz)
                 SendCmd "camera orient $q"
 
@@ -1401,9 +1402,9 @@
         set x [expr $x / double($w)]
         set y [expr $y / double($h)]
-        set _view(xpan) [expr $_view(xpan) + $x]
-        set _view(ypan) [expr $_view(ypan) + $y]
+        set _view(-xpan) [expr $_view(-xpan) + $x]
+        set _view(-ypan) [expr $_view(-ypan) + $y]
         PanCamera
-        set _settings($this-xpan) $_view(xpan)
-        set _settings($this-ypan) $_view(ypan)
+        set _settings($this-xpan) $_view(-xpan)
+        set _settings($this-ypan) $_view(-ypan)
         return
     }
@@ -1418,9 +1419,9 @@
         set _click(x) $x
         set _click(y) $y
-        set _view(xpan) [expr $_view(xpan) - $dx]
-        set _view(ypan) [expr $_view(ypan) - $dy]
+        set _view(-xpan) [expr $_view(-xpan) - $dx]
+        set _view(-ypan) [expr $_view(-ypan) - $dy]
         PanCamera
-        set _settings($this-xpan) $_view(xpan)
-        set _settings($this-ypan) $_view(ypan)
+        set _settings($this-xpan) $_view(-xpan)
+        set _settings($this-ypan) $_view(-ypan)
     }
     if { $option == "release" } {
@@ -2309,7 +2310,7 @@
             -textvariable [itcl::scope _settings($this-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -2513,25 +2514,25 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_settings($this-$who)
+            set what [lindex $args 0]
+            set x $_settings(${this}${what})
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
-                set _settings($this-$who) $_view($who)
+                set _settings(${this}${what}) $_view($what)
                 return
             }
-            switch -- $who {
-                "xpan" - "ypan" {
-                    set _view($who) $_settings($this-$who)
+            switch -- $what {
+                "-xpan" - "-ypan" {
+                    set _view($what) $_settings(${this}${what})
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set _view($who) $_settings($this-$who)
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set _view($what) $_settings(${this}${what})
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     SendCmd "camera orient $q"
                 }
-                "zoom" {
-                    set _view($who) $_settings($this-$who)
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    set _view($what) $_settings(${this}${what})
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -2911,17 +2912,17 @@
         bottom "0.707107 0.707107 0 0" 
     } 
-    foreach name { qw qx qy qz } value $positions($side) { 
+    foreach name { -qw -qx -qy -qz } value $positions($side) { 
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q" 
     SendCmd "camera reset"
-    set _view(xpan) 0.0
-    set _view(ypan) 0.0
-    set _view(zoom) 1.0
-    set _settings($this-xpan) $_view(xpan)
-    set _settings($this-ypan) $_view(ypan)
-    set _settings($this-zoom) $_view(zoom)
+    set _view(-xpan) 0.0
+    set _view(-ypan) 0.0
+    set _view(-zoom) 1.0
+    set _settings($this-xpan) $_view(-xpan)
+    set _settings($this-ypan) $_view(-ypan)
+    set _settings($this-zoom) $_view(-zoom)
 }
 
Index: branches/1.3/gui/scripts/nanovisviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/nanovisviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/nanovisviewer.tcl	(revision 4766)
@@ -113,4 +113,7 @@
     private method ParseLevelsOption { cname levels }
     private method ParseMarkersOption { cname markers }
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
     private method Rebuild {}
     private method ReceiveData { args }
@@ -127,8 +130,8 @@
     private method SwitchComponent { cname } 
     private method ToggleVolume { tag name }
-    private method Zoom {option}
     private method ViewToQuaternion {} { 
         return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
     }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -1126,5 +1129,5 @@
 
                 set q [$_arcball rotate $x $y $_click(x) $_click(y)]
-                foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+                QuaternionToView $q
                 set _settings(-qw) $_view(-qw)
                 set _settings(-qx) $_view(-qx)
Index: branches/1.3/gui/scripts/vtkglyphviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkglyphviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkglyphviewer.tcl	(revision 4766)
@@ -62,21 +62,6 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title vmin vmax size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -87,4 +72,9 @@
     private method DrawLegend {}
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method EnterLegend { x y } 
     private method EventuallyResize { w h } 
@@ -94,9 +84,20 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title vmin vmax size }
     private method RequestLegend {}
+    private method Rotate {option x y}
     private method SetLegendTip { x y }
     private method SetObjectStyle { dataobj comp } 
@@ -104,4 +105,8 @@
     private method SetCurrentColormap { color }
     private method SetOrientation { side }
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -202,16 +207,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw              0.853553
-        qx              -0.353553
-        qy              0.353553
-        qz              0.146447
-        zoom            1.0 
-        xpan            0
-        ypan            0
-        ortho           0
+        -ortho           0
+        -qw              0.853553
+        -qx              -0.353553
+        -qy              0.353553
+        -qz              0.146447
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     array set _settings [subst {
@@ -466,6 +470,5 @@
 
 itcl::body Rappture::VtkGlyphViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -491,5 +494,5 @@
 
 itcl::body Rappture::VtkGlyphViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -836,5 +839,4 @@
     array unset _data 
     array unset _colormaps 
-    array unset _seeds 
     array unset _dataset2style 
     array unset _obj2datasets 
@@ -947,7 +949,6 @@
         # Reset the camera and other view parameters
         #
-        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-        $_arcball quaternion $q
-        if {$_view(ortho)} {
+        $_arcball quaternion [ViewToQuaternion]
+        if {$_view(-ortho)} {
             SendCmd "camera mode ortho"
         } else {
@@ -1130,20 +1131,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw     0.853553
-                qx     -0.353553
-                qy     0.353553
-                qz     0.146447
-                zoom   1.0
-                xpan   0
-                ypan   0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1153,6 +1154,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             DoRotate
             SendCmd "camera reset"
@@ -1162,6 +1162,6 @@
 
 itcl::body Rappture::VtkGlyphViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1221,5 +1221,5 @@
 itcl::body Rappture::VtkGlyphViewer::Pick {x y} {
     foreach tag [CurrentDatasets -visible] {
-        SendCmdNoSplash "dataset getscalar pixel $x $y $tag"
+        SendCmd "dataset getscalar pixel $x $y $tag"
     } 
 }
@@ -1240,6 +1240,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1263,6 +1263,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1856,9 +1856,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -1869,6 +1869,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -2046,13 +2046,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -2060,14 +2060,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
              }
@@ -2551,13 +2551,13 @@
         bottom "0.707107 0.707107 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
-    } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    }
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
-}
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
+}
Index: branches/1.3/gui/scripts/vtkheightmapviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkheightmapviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkheightmapviewer.tcl	(revision 4766)
@@ -63,23 +63,6 @@
     public method scale {args}
 
-    protected method CameraReset {}
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method AdjustMode {}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title min max size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -87,24 +70,45 @@
     private method BuildContourTab {}
     private method BuildDownloadPopup { widget command } 
+    private method CameraReset {}
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method DrawLegend {}
     private method EnterLegend { x y } 
     private method EventuallyRequestLegend {} 
     private method EventuallyResize { w h } 
-    private method EventuallyRotate { q } 
+    private method EventuallyRotate { q }
+    private method GetHeightmapScale {} 
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title min max size }
     private method RequestLegend {}
+    private method ResetAxes {}
+    private method Rotate {option x y}
     private method SetCurrentColormap { color }
     private method SetLegendTip { x y }
     private method SetObjectStyle { dataobj comp } 
-    private method GetHeightmapScale {} 
-    private method ResetAxes {}
     private method SetOrientation { side }
     private method UpdateContourList {}
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -201,16 +205,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw	0.36
-        qx	0.25
-        qy	0.50
-        qz	0.70
-        zoom	1.0 
-        xpan	0
-        ypan	0
-        ortho	0
+        -ortho           0
+        -qw              0.36
+        -qx              0.25
+        -qy              0.50
+        -qz              0.70
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     array set _settings {
@@ -441,6 +444,5 @@
 
 itcl::body Rappture::VtkHeightmapViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -466,5 +468,5 @@
 
 itcl::body Rappture::VtkHeightmapViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -949,8 +951,7 @@
 
 	SendCmd "axis lrot z 90"
-	set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-	$_arcball quaternion $q 
+	$_arcball quaternion [ViewToQuaternion]
         if {$_settings(-isheightmap) } {
-            if { $_view(ortho)} {
+            if { $_view(-ortho)} {
                 SendCmd "camera mode ortho"
             } else {
@@ -995,5 +996,5 @@
                     lappend info "dataset_size"  $length
                     lappend info "dataset_tag"   $tag
-                    SendCmd [list "clientinfo" $info]
+                    SendCmd "clientinfo [list $info]"
                 }
                 SendCmd "dataset add $tag data follows $length"
@@ -1086,8 +1087,7 @@
 	#
 	ResetAxes
-	set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-	$_arcball quaternion $q 
+	$_arcball quaternion [ViewToQuaternion]
         if {$_settings(-isheightmap) } {
-            if { $_view(ortho)} {
+            if { $_view(-ortho)} {
                 SendCmd "camera mode ortho"
             } else {
@@ -1164,11 +1164,11 @@
 itcl::body Rappture::VtkHeightmapViewer::CameraReset {} {
     array set _view {
-        qw      0.36
-        qx      0.25
-        qy      0.50
-        qz      0.70
-        zoom    1.0
-        xpan    0
-        ypan    0 
+        -qw      0.36
+        -qx      0.25
+        -qy      0.50
+        -qz      0.70
+        -xpan    0
+        -ypan    0
+        -zoom    1.0
     }
     if { $_first != "" } {
@@ -1178,6 +1178,5 @@
         }
     }
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
     if {$_settings(-isheightmap) } {
         DoRotate
@@ -1197,16 +1196,16 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                zoom    1.0
-                xpan    0
-                ypan    0 
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             SendCmd "camera reset"
@@ -1216,6 +1215,6 @@
 
 itcl::body Rappture::VtkHeightmapViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1295,6 +1294,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1318,6 +1317,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1535,5 +1534,5 @@
 		$itk_component(scale_l) configure -state normal
 		$itk_component(outline) configure -state disabled
-                if {$_view(ortho)} {
+                if {$_view(-ortho)} {
                     SendCmd "camera mode ortho"
                 } else {
@@ -1558,5 +1557,5 @@
             ResetAxes
             if { $bool } {
-                set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                set q [ViewToQuaternion]
                 $_arcball quaternion $q
                 SendCmd "camera orient $q" 
@@ -1834,6 +1833,6 @@
         set rgb [Color2RGB $itk_option(-plotforeground)]
         if { !$_reset } {
+            SendCmd "axis color all $rgb"
             SendCmd "outline color $rgb"
-            SendCmd "axis color all $rgb"
         }
     }
@@ -2117,9 +2116,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -2130,6 +2129,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -2152,13 +2151,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -2166,14 +2165,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -2607,14 +2606,14 @@
         bottom "0 1 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
 }
 
Index: branches/1.3/gui/scripts/vtkimageviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkimageviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkimageviewer.tcl	(revision 4766)
@@ -63,22 +63,6 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method AdjustMode {}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title min max size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -87,4 +71,9 @@
     private method BuildDownloadPopup { widget command } 
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method DrawLegend {}
     private method EnterLegend { x y } 
@@ -94,13 +83,28 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title min max size }
     private method RequestLegend {}
+    private method Rotate {option x y}
     private method SetCurrentColormap { color }
     private method SetLegendTip { x y }
     private method SetObjectStyle { dataobj comp } 
     private method SetOrientation { side }
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -196,16 +200,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw	0.36
-        qx	0.25
-        qy	0.50
-        qz	0.70
-        zoom	1.0 
-        xpan	0
-        ypan	0
-        ortho	0
+        -ortho           0
+        -qw              0.36
+        -qx              0.25
+        -qy              0.50
+        -qz              0.70
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     array set _settings {
@@ -429,6 +432,5 @@
 
 itcl::body Rappture::VtkImageViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -454,5 +456,5 @@
 
 itcl::body Rappture::VtkImageViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -926,8 +928,7 @@
 
 	SendCmd "axis lrot z 90"
-	set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-	$_arcball quaternion $q 
+	$_arcball quaternion [ViewToQuaternion]
         if {$_settings(view3D) } {
-            if { $_view(ortho)} {
+            if { $_view(-ortho)} {
                 SendCmd "camera mode ortho"
             } else {
@@ -971,5 +972,5 @@
                     lappend info "dataset_size"  $length
                     lappend info "dataset_tag"   $tag
-                    SendCmd [list "clientinfo" $info]
+                    SendCmd "clientinfo [list $info]"
                 }
                 SendCmd "dataset add $tag data follows $length"
@@ -1044,8 +1045,7 @@
 	# Reset the camera and other view parameters
 	#
-	set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-	$_arcball quaternion $q 
+	$_arcball quaternion [ViewToQuaternion]
         if {$_settings(view3D) } {
-            if { $_view(ortho)} {
+            if { $_view(-ortho)} {
                 SendCmd "camera mode ortho"
             } else {
@@ -1130,20 +1130,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw      0.36
-                qx      0.25
-                qy      0.50
-                qz      0.70
-                zoom    1.0
-                xpan    0
-                ypan    0 
+                -qw      0.36
+                -qx      0.25
+                -qy      0.50
+                -qz      0.70
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1153,6 +1153,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             if {$_settings(view3D) } {
                 DoRotate
@@ -1164,6 +1163,6 @@
 
 itcl::body Rappture::VtkImageViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1243,6 +1242,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1266,6 +1265,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1427,5 +1426,5 @@
 		$itk_component(opacity) configure -state normal
 		$itk_component(opacity_l) configure -state normal
-                if {$_view(ortho)} {
+                if {$_view(-ortho)} {
                     SendCmd "camera mode ortho"
                 } else {
@@ -1442,5 +1441,5 @@
             }
             if { $bool } {
-                set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                set q [ViewToQuaternion]
                 $_arcball quaternion $q
                 SendCmd "camera orient $q" 
@@ -1887,9 +1886,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -1900,6 +1899,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -1922,13 +1921,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -1936,14 +1935,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -2323,13 +2322,13 @@
         bottom "0 1 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
-}
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
+}
Index: branches/1.3/gui/scripts/vtkisosurfaceviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkisosurfaceviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkisosurfaceviewer.tcl	(revision 4766)
@@ -95,4 +95,7 @@
     private method PanCamera {}
     private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
     private method Rebuild {}
     private method ReceiveDataset { args }
@@ -107,8 +110,8 @@
     private method SetOrientation { side }
     private method Slice {option args}
-    private method Zoom {option}
     private method ViewToQuaternion {} { 
         return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
     }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -464,4 +467,9 @@
     EnableWaitDialog 500
     Connect
+    # FIXME: Removing this update breaks wizard mode (see examples/3D)
+    # However, it also allows an error in the initialization order
+    # where FieldResult::add is called from ResultViewer before this
+    # constructor is completed.
+    #update
 }
 
@@ -523,5 +531,5 @@
 
 itcl::body Rappture::VtkIsosurfaceViewer::EventuallyRotate { q } {
-    foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -1151,11 +1159,11 @@
         "reset" {
             array set _view {
-                -qw     0.853553
-                -qx     -0.353553
-                -qy     0.353553
-                -qz     0.146447
-                -xpan   0
-                -ypan   0
-                -zoom   1.0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1233,5 +1241,5 @@
 itcl::body Rappture::VtkIsosurfaceViewer::Pick {x y} {
     foreach tag [CurrentDatasets -visible] {
-        SendCmdNoSplash "dataset getscalar pixel $x $y $tag"
+        SendCmd "dataset getscalar pixel $x $y $tag"
     } 
 }
@@ -2021,6 +2029,4 @@
 }
 
-
-
 #
 #  camera -- 
@@ -2055,5 +2061,5 @@
                 }
                 "-zoom" {
-                    SendCmd "camera zoom $_view(-zoom)"
+                    SendCmd "camera zoom $_view($what)"
                 }
              }
@@ -2566,5 +2572,5 @@
     foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
-    } 
+    }
     set q [ViewToQuaternion]
     $_arcball quaternion $q
Index: branches/1.3/gui/scripts/vtkmeshviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkmeshviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkmeshviewer.tcl	(revision 4766)
@@ -63,24 +63,15 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
     private method BuildDownloadPopup { widget command } 
     private method BuildPolydataTab {}
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method EventuallyResize { w h } 
     private method EventuallyRotate { q } 
@@ -88,9 +79,23 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method Rotate {option x y}
     private method SetObjectStyle { dataobj } 
     private method SetOrientation { side }
     private method SetPolydataOpacity {}
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -164,16 +169,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw              0.853553
-        qx              -0.353553
-        qy              0.353553
-        qz              0.146447
-        zoom            1.0 
-        xpan            0
-        ypan            0
-        ortho           0
+        -ortho           0
+        -qw              0.853553
+        -qx              -0.353553
+        -qy              0.353553
+        -qz              0.146447
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     set _limits(zmin) 0.0
@@ -291,6 +295,4 @@
     bind $itk_component(view) <ButtonRelease-1> \
         [itcl::code $this Rotate release %x %y]
-    bind $itk_component(view) <Configure> \
-        [itcl::code $this EventuallyResize %w %h]
 
     # Bindings for panning via mouse
@@ -370,6 +372,5 @@
 
 itcl::body Rappture::VtkMeshViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -386,5 +387,5 @@
 
 itcl::body Rappture::VtkMeshViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -855,5 +856,5 @@
                 lappend info "dataset_size"  $length
                 lappend info "dataset_tag"   $tag
-                SendCmd [list "clientinfo" $info]
+                SendCmd "clientinfo [list $info]"
             }
             SendCmd "dataset add $tag data follows $length"
@@ -893,8 +894,7 @@
         #SendCmd "axis lformat all %g"
 
-        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-        $_arcball quaternion $q 
+        $_arcball quaternion [ViewToQuaternion]
         SendCmd "camera reset"
-        if { $_view(ortho)} {
+        if { $_view(-ortho)} {
             SendCmd "camera mode ortho"
         } else {
@@ -971,20 +971,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw      0.853553
-                qx      -0.353553
-                qy      0.353553
-                qz      0.146447
-                zoom    1.0
-                xpan    0
-                ypan    0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -994,6 +994,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             DoRotate
             SendCmd "camera reset"
@@ -1003,6 +1002,6 @@
 
 itcl::body Rappture::VtkMeshViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1081,6 +1080,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1104,6 +1103,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1214,6 +1213,6 @@
 itcl::configbody Rappture::VtkMeshViewer::plotbackground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotbackground)] break
-        SendCmd "screen bgcolor $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotbackground)]
+        SendCmd "screen bgcolor $rgb"
     }
 }
@@ -1224,7 +1223,7 @@
 itcl::configbody Rappture::VtkMeshViewer::plotforeground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotforeground)] break
-        #fix this!
-        #SendCmd "color background $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotforeground)]
+        SendCmd "axis color all $rgb"
+        SendCmd "outline color $rgb"
     }
 }
@@ -1442,9 +1441,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -1455,6 +1454,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -1477,13 +1476,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -1491,14 +1490,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -1637,13 +1636,13 @@
         bottom "0.707107 0.707107 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
-}
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
+}
Index: branches/1.3/gui/scripts/vtkstreamlinesviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkstreamlinesviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkstreamlinesviewer.tcl	(revision 4766)
@@ -62,22 +62,6 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoReseed {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title vmin vmax size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -89,4 +73,10 @@
     private method DrawLegend {}
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoReseed {}
+    private method DoRotate {}
     private method EnterLegend { x y } 
     private method EventuallyResize { w h } 
@@ -96,9 +86,20 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title vmin vmax size }
     private method RequestLegend {}
+    private method Rotate {option x y}
     private method SetColormap { dataobj comp }
     private method ChangeColormap { dataobj comp color }
@@ -107,4 +108,8 @@
     private method Slice {option args} 
     private method SetOrientation { side }
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -210,16 +215,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw              0.853553
-        qx              -0.353553
-        qy              0.353553
-        qz              0.146447
-        zoom            1.0 
-        xpan            0
-        ypan            0
-        ortho           0
+        -ortho           0
+        -qw              0.853553
+        -qx              -0.353553
+        -qy              0.353553
+        -qz              0.146447
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     array set _settings [subst {
@@ -400,11 +404,5 @@
     bind $itk_component(view) <ButtonRelease-1> \
         [itcl::code $this Rotate release %x %y]
-    bind $itk_component(view) <Configure> \
-        [itcl::code $this EventuallyResize %w %h]
-
-    if 0 {
-    bind $itk_component(view) <Configure> \
-        [itcl::code $this EventuallyResize %w %h]
-    }
+
     # Bindings for panning via mouse
     bind $itk_component(view) <ButtonPress-2> \
@@ -481,6 +479,5 @@
 
 itcl::body Rappture::VtkStreamlinesViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -516,5 +513,5 @@
 
 itcl::body Rappture::VtkStreamlinesViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -1075,7 +1072,6 @@
 
 	# Reset the camera and other view parameters
-	set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-	$_arcball quaternion $q
-	if {$_view(ortho)} {
+	$_arcball quaternion [ViewToQuaternion]
+	if {$_view(-ortho)} {
 	    SendCmd "camera mode ortho"
 	} else {
@@ -1151,20 +1147,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw      0.853553
-                qx      -0.353553
-                qy      0.353553
-                qz      0.146447
-                zoom    1.0
-                xpan    0
-                ypan    0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1174,6 +1170,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             DoRotate
             SendCmd "camera reset"
@@ -1183,9 +1178,8 @@
 
 itcl::body Rappture::VtkStreamlinesViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
-
 
 # ----------------------------------------------------------------------
@@ -1262,6 +1256,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1285,6 +1279,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1609,6 +1603,6 @@
 itcl::configbody Rappture::VtkStreamlinesViewer::plotbackground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotbackground)] break
-        SendCmd "screen bgcolor $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotbackground)]
+        SendCmd "screen bgcolor $rgb"
     }
 }
@@ -1619,7 +1613,8 @@
 itcl::configbody Rappture::VtkStreamlinesViewer::plotforeground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotforeground)] break
-        #fix this!
-        #SendCmd "color background $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotforeground)]
+        SendCmd "axis color all $rgb"
+        SendCmd "outline color $rgb"
+        SendCmd "cutplane color $rgb"
     }
 }
@@ -1869,9 +1864,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -1882,6 +1877,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -2049,13 +2044,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -2063,14 +2058,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -2432,13 +2427,13 @@
         bottom "0.707107 0.707107 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q" 
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
-}
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
+}
Index: branches/1.3/gui/scripts/vtksurfaceviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtksurfaceviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtksurfaceviewer.tcl	(revision 4766)
@@ -62,21 +62,6 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title vmin vmax size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -85,4 +70,9 @@
     private method BuildSurfaceTab {}
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method DrawLegend {}
     private method EnterLegend { x y } 
@@ -92,9 +82,20 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title vmin vmax size }
     private method RequestLegend {}
+    private method Rotate {option x y}
     private method SetLegendTip { x y }
     private method SetObjectStyle { dataobj comp } 
@@ -102,4 +103,8 @@
     private method SetOrientation { side }
     private method UpdateContourList {}
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -187,16 +192,15 @@
     # Initialize the view to some default parameters.
     array set _view {
-        qw              0.853553
-        qx              -0.353553
-        qy              0.353553
-        qz              0.146447
-        zoom            1.0 
-        xpan            0
-        ypan            0
-        ortho           0
+        -ortho           0
+        -qw              0.853553
+        -qx              -0.353553
+        -qy              0.353553
+        -qz              0.146447
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     array set _settings {
@@ -320,6 +324,6 @@
         puts stderr errs=$errs
     }
+
     # Legend
-
     set _image(legend) [image create photo]
     itk_component add legend {
@@ -424,6 +428,5 @@
 
 itcl::body Rappture::VtkSurfaceViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -449,5 +452,5 @@
 
 itcl::body Rappture::VtkSurfaceViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -497,5 +500,4 @@
 }
 
-
 # ----------------------------------------------------------------------
 # USAGE: delete ?<dataobj1> <dataobj2> ...?
@@ -785,5 +787,4 @@
     array unset _data 
     array unset _colormaps 
-    array unset _seeds 
     array unset _dataset2style 
     array unset _obj2datasets 
@@ -808,5 +809,6 @@
         if 0 {
             set f [open "last.ppm" "w"] 
-            puts $f $bytes
+            fconfigure $f -encoding binary
+            puts -nonewline $f $bytes
             close $f
         }
@@ -898,7 +900,6 @@
         # Reset the camera and other view parameters
         #
-        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-        $_arcball quaternion $q
-        if {$_view(ortho)} {
+        $_arcball quaternion [ViewToQuaternion]
+        if {$_view(-ortho)} {
             SendCmd "camera mode ortho"
         } else {
@@ -944,5 +945,5 @@
                     SendCmd "clientinfo [list $info]"
                 }
-                append _outbuf "dataset add $tag data follows $length\n"
+                SendCmd "dataset add $tag data follows $length"
                 append _outbuf $bytes
                 set _datasets($tag) 1
@@ -1078,20 +1079,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw     0.853553
-                qx     -0.353553
-                qy     0.353553
-                qz     0.146447
-                zoom   1.0
-                xpan   0
-                ypan   0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1101,6 +1102,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             DoRotate
             SendCmd "camera reset"
@@ -1110,9 +1110,8 @@
 
 itcl::body Rappture::VtkSurfaceViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
-
 
 # ----------------------------------------------------------------------
@@ -1170,5 +1169,5 @@
 itcl::body Rappture::VtkSurfaceViewer::Pick {x y} {
     foreach tag [CurrentDatasets -visible] {
-        SendCmdNoSplash "dataset getscalar pixel $x $y $tag"
+        SendCmd "dataset getscalar pixel $x $y $tag"
     } 
 }
@@ -1189,6 +1188,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1212,6 +1211,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1751,9 +1750,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -1764,6 +1763,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -1786,13 +1785,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -1800,14 +1799,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
              }
@@ -2271,14 +2270,14 @@
         bottom "0.707107 0.707107 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
 }
 
@@ -2298,3 +2297,2 @@
     blt::vector destroy $v
 }
-
Index: branches/1.3/gui/scripts/vtkviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkviewer.tcl	(revision 4766)
@@ -63,21 +63,6 @@
     public method scale {args}
 
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title vmin vmax size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -89,4 +74,9 @@
     private method BuildPolydataTab {}
     private method ChangeColormap { dataobj comp color }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method DrawLegend {}
     private method EnterLegend { x y } 
@@ -101,9 +91,20 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
     private method MotionLegend { x y } 
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title vmin vmax size }
     private method RequestLegend {}
+    private method Rotate {option x y}
     private method SetAtomScale {}
     private method SetBondScale {}
@@ -118,4 +119,8 @@
     private method SetPolydataOpacity {}
     private method Slice {option args} 
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -220,22 +225,21 @@
     # Populate parser with commands handle incoming requests
     #
-    $_parser alias image    [itcl::code $this ReceiveImage]
-    $_parser alias dataset  [itcl::code $this ReceiveDataset]
-    $_parser alias legend   [itcl::code $this ReceiveLegend]
+    $_parser alias image [itcl::code $this ReceiveImage]
+    $_parser alias dataset [itcl::code $this ReceiveDataset]
+    $_parser alias legend [itcl::code $this ReceiveLegend]
 
     # Initialize the view to some default parameters.
     array set _view {
-        qw              0.853553
-        qx              -0.353553
-        qy              0.353553
-        qz              0.146447
-        zoom            1.0 
-        xpan            0
-        ypan            0
-        ortho           0
+        -ortho           0
+        -qw              0.853553
+        -qx              -0.353553
+        -qy              0.353553
+        -qz              0.146447
+        -xpan            0
+        -ypan            0
+        -zoom            1.0
     }
     set _arcball [blt::arcball create 100 100]
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    $_arcball quaternion $q
+    $_arcball quaternion [ViewToQuaternion]
 
     set _limits(zmin) 0.0
@@ -358,10 +362,13 @@
     Rappture::Tooltip::for $itk_component(zoomout) "Zoom out"
 
-    BuildAxisTab
-    #BuildCutawayTab
-    BuildCameraTab
+    if { [catch {
+        BuildAxisTab
+        #BuildCutawayTab
+        BuildCameraTab
+    } errs] != 0 } {
+        puts stderr errs=$errs
+    }
 
     # Legend
-
     set _image(legend) [image create photo]
     itk_component add legend {
@@ -389,6 +396,4 @@
     bind $itk_component(view) <ButtonRelease-1> \
         [itcl::code $this Rotate release %x %y]
-    bind $itk_component(view) <Configure> \
-        [itcl::code $this EventuallyResize %w %h]
 
     # Bindings for panning via mouse
@@ -468,6 +473,5 @@
 
 itcl::body Rappture::VtkViewer::DoRotate {} {
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-    SendCmd "camera orient $q" 
+    SendCmd "camera orient [ViewToQuaternion]" 
     set _rotatePending 0
 }
@@ -484,5 +488,5 @@
 
 itcl::body Rappture::VtkViewer::EventuallyRotate { q } {
-    foreach { _view(qw) _view(qx) _view(qy) _view(qz) } $q break
+    QuaternionToView $q
     if { !$_rotatePending } {
         set _rotatePending 1
@@ -920,4 +924,5 @@
 
     # disconnected -- no more data sitting on server
+    set _outbuf ""
     array unset _datasets 
     array unset _data 
@@ -1068,5 +1073,5 @@
                     lappend info "dataset_size"  $length
                     lappend info "dataset_tag"   $tag
-                    SendCmd [list "clientinfo" $info]
+                    SendCmd "clientinfo [list $info]"
                 }
                 SendCmd "dataset add $tag data follows $length"
@@ -1123,8 +1128,7 @@
         }
 
-        set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-        $_arcball quaternion $q 
+        $_arcball quaternion [ViewToQuaternion]
         SendCmd "camera reset"
-        if { $_view(ortho)} {
+        if { $_view(-ortho)} {
             SendCmd "camera mode ortho"
         } else {
@@ -1207,20 +1211,20 @@
     switch -- $option {
         "in" {
-            set _view(zoom) [expr {$_view(zoom)*1.25}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*1.25}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "out" {
-            set _view(zoom) [expr {$_view(zoom)*0.8}]
-            SendCmd "camera zoom $_view(zoom)"
+            set _view(-zoom) [expr {$_view(-zoom)*0.8}]
+            SendCmd "camera zoom $_view(-zoom)"
         }
         "reset" {
             array set _view {
-                qw      0.853553
-                qx      -0.353553
-                qy      0.353553
-                qz      0.146447
-                zoom    1.0
-                xpan    0
-                ypan    0
+                -qw      0.853553
+                -qx      -0.353553
+                -qy      0.353553
+                -qz      0.146447
+                -xpan    0
+                -ypan    0
+                -zoom    1.0
             }
             if { $_first != "" } {
@@ -1230,6 +1234,5 @@
                 }
             }
-            set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
-            $_arcball quaternion $q
+            $_arcball quaternion [ViewToQuaternion]
             DoRotate
             SendCmd "camera reset"
@@ -1239,6 +1242,6 @@
 
 itcl::body Rappture::VtkViewer::PanCamera {} {
-    set x $_view(xpan)
-    set y $_view(ypan)
+    set x $_view(-xpan)
+    set y $_view(-ypan)
     SendCmd "camera pan $x $y"
 }
@@ -1317,6 +1320,6 @@
             set x [expr $x / double($w)]
             set y [expr $y / double($h)]
-            set _view(xpan) [expr $_view(xpan) + $x]
-            set _view(ypan) [expr $_view(ypan) + $y]
+            set _view(-xpan) [expr $_view(-xpan) + $x]
+            set _view(-ypan) [expr $_view(-ypan) + $y]
             PanCamera
             return
@@ -1340,6 +1343,6 @@
             set _click(x) $x
             set _click(y) $y
-            set _view(xpan) [expr $_view(xpan) - $dx]
-            set _view(ypan) [expr $_view(ypan) - $dy]
+            set _view(-xpan) [expr $_view(-xpan) - $dx]
+            set _view(-ypan) [expr $_view(-ypan) - $dy]
             PanCamera
         }
@@ -1876,6 +1879,6 @@
 itcl::configbody Rappture::VtkViewer::plotbackground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotbackground)] break
-        SendCmd "screen bgcolor $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotbackground)]
+        SendCmd "screen bgcolor $rgb"
     }
 }
@@ -1886,7 +1889,7 @@
 itcl::configbody Rappture::VtkViewer::plotforeground {
     if { [isconnected] } {
-        foreach {r g b} [Color2RGB $itk_option(-plotforeground)] break
-        #fix this!
-        #SendCmd "color background $r $g $b"
+        set rgb [Color2RGB $itk_option(-plotforeground)]
+        SendCmd "axis color all $rgb"
+        SendCmd "outline color $rgb"
     }
 }
@@ -2223,9 +2226,9 @@
         label $inner.${tag}label -text $tag -font "Arial 9"
         entry $inner.${tag} -font "Arial 9"  -bg white \
-            -textvariable [itcl::scope _view($tag)]
+            -textvariable [itcl::scope _view(-$tag)]
         bind $inner.${tag} <Return> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         bind $inner.${tag} <KP_Enter> \
-            [itcl::code $this camera set ${tag}]
+            [itcl::code $this camera set -${tag}]
         blt::table $inner \
             $row,0 $inner.${tag}label -anchor e -pady 2 \
@@ -2236,6 +2239,6 @@
     checkbutton $inner.ortho \
         -text "Orthographic Projection" \
-        -variable [itcl::scope _view(ortho)] \
-        -command [itcl::code $this camera set ortho] \
+        -variable [itcl::scope _view(-ortho)] \
+        -command [itcl::code $this camera set -ortho] \
         -font "Arial 9"
     blt::table $inner \
@@ -2547,13 +2550,13 @@
         }
         "set" {
-            set who [lindex $args 0]
-            set x $_view($who)
+            set what [lindex $args 0]
+            set x $_view($what)
             set code [catch { string is double $x } result]
             if { $code != 0 || !$result } {
                 return
             }
-            switch -- $who {
-                "ortho" {
-                    if {$_view(ortho)} {
+            switch -- $what {
+                "-ortho" {
+                    if {$_view($what)} {
                         SendCmd "camera mode ortho"
                     } else {
@@ -2561,14 +2564,14 @@
                     }
                 }
-                "xpan" - "ypan" {
+                "-xpan" - "-ypan" {
                     PanCamera
                 }
-                "qx" - "qy" - "qz" - "qw" {
-                    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+                "-qx" - "-qy" - "-qz" - "-qw" {
+                    set q [ViewToQuaternion]
                     $_arcball quaternion $q
                     EventuallyRotate $q
                 }
-                "zoom" {
-                    SendCmd "camera zoom $_view(zoom)"
+                "-zoom" {
+                    SendCmd "camera zoom $_view($what)"
                 }
             }
@@ -3040,14 +3043,14 @@
         bottom "0.707107 0.707107 0 0"
     }
-    foreach name { qw qx qy qz } value $positions($side) {
+    foreach name { -qw -qx -qy -qz } value $positions($side) {
         set _view($name) $value
     } 
-    set q [list $_view(qw) $_view(qx) $_view(qy) $_view(qz)]
+    set q [ViewToQuaternion]
     $_arcball quaternion $q
     SendCmd "camera orient $q"
     SendCmd "camera reset"
-    set _view(xpan) 0
-    set _view(ypan) 0
-    set _view(zoom) 1.0
+    set _view(-xpan) 0
+    set _view(-ypan) 0
+    set _view(-zoom) 1.0
 }
 
Index: branches/1.3/gui/scripts/vtkvolumeviewer.tcl
===================================================================
--- branches/1.3/gui/scripts/vtkvolumeviewer.tcl	(revision 4762)
+++ branches/1.3/gui/scripts/vtkvolumeviewer.tcl	(revision 4766)
@@ -62,29 +62,6 @@
     public method scale {args}
 
-    private method SetOrientation { side }
-    private method ViewToQuaternion {} { 
-        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
-    }
-    private method QuaternionToView { q } { 
-        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
-    }
-
-    protected method Connect {}
-    protected method CurrentDatasets {args}
-    protected method Disconnect {}
-    protected method DoResize {}
-    protected method DoRotate {}
-    protected method AdjustSetting {what {value ""}}
-    protected method InitSettings { args  }
-    protected method Pan {option x y}
-    protected method Pick {x y}
-    protected method Rebuild {}
-    protected method ReceiveDataset { args }
-    protected method ReceiveImage { args }
-    protected method ReceiveLegend { colormap title vmin vmax size }
-    protected method Rotate {option x y}
-    protected method Zoom {option}
-
     # The following methods are only used by this class.
+    private method AdjustSetting {what {value ""}}
     private method BuildAxisTab {}
     private method BuildCameraTab {}
@@ -95,5 +72,11 @@
     private method BuildVolumeTab {}
     private method DrawLegend {}
+    private method ChangeColormap { dataobj comp color }
     private method Combo { option }
+    private method Connect {}
+    private method CurrentDatasets {args}
+    private method Disconnect {}
+    private method DoResize {}
+    private method DoRotate {}
     private method EnterLegend { x y } 
     private method EventuallyResize { w h } 
@@ -103,14 +86,29 @@
     private method GetImage { args } 
     private method GetVtkData { args } 
+    private method InitSettings { args  }
     private method IsValidObject { dataobj } 
     private method LeaveLegend {}
-    private method MotionLegend { x y } 
+    private method MotionLegend { x y }
+    private method Pan {option x y}
     private method PanCamera {}
+    private method Pick {x y}
+    private method QuaternionToView { q } { 
+        foreach { _view(-qw) _view(-qx) _view(-qy) _view(-qz) } $q break
+    }
+    private method Rebuild {}
+    private method ReceiveDataset { args }
+    private method ReceiveImage { args }
+    private method ReceiveLegend { colormap title vmin vmax size }
     private method RequestLegend {}
     private method SetColormap { dataobj comp }
-    private method ChangeColormap { dataobj comp color }
+    private method Rotate {option x y}
     private method SetLegendTip { x y }
     private method SetObjectStyle { dataobj comp } 
+    private method SetOrientation { side }
     private method Slice {option args} 
+    private method ViewToQuaternion {} { 
+        return [list $_view(-qw) $_view(-qx) $_view(-qy) $_view(-qz)]
+    }
+    private method Zoom {option}
 
     private variable _arcball ""
@@ -206,12 +204,12 @@
     # Initialize the view to some default parameters.
     array set _view {
+        -ortho           0
         -qw              0.853553
         -qx              -0.353553
         -qy              0.353553
         -qz              0.146447
-        -zoom            1.0 
         -xpan            0
         -ypan            0
-        -ortho           0
+        -zoom            1.0 
     }
     set _arcball [blt::arcball create 100 100]
@@ -377,6 +375,4 @@
     bind $itk_component(view) <ButtonRelease-1> \
         [itcl::code $this Rotate release %x %y]
-    bind $itk_component(view) <Configure> \
-        [itcl::code $this EventuallyResize %w %h]
 
     # Bindings for panning via mouse
@@ -986,7 +982,7 @@
                     lappend info "dataset_size"  $length
                     lappend info "dataset_tag"   $tag
-                    SendCmd [list "clientinfo" $info]
-                }
-                append _outbuf "dataset add $tag data follows $length\n"
+                    SendCmd "clientinfo [list $info]"
+                }
+                SendCmd "dataset add $tag data follows $length"
                 append _outbuf $bytes
                 set _datasets($tag) 1
@@ -1135,7 +1131,7 @@
                 -qy      0.353553
                 -qz      0.146447
+                -xpan    0
+                -ypan    0
                 -zoom    1.0
-                -xpan   0
-                -ypan   0
             }
             if { $_first != "" } {
@@ -1157,5 +1153,4 @@
     SendCmd "camera pan $x $y"
 }
-
 
 # ----------------------------------------------------------------------
