-------------------------------------------
Brain Pose (rotate, translate, scale)
-------------------------------------------

The quickest way to adjust the pose of the
displayed hemisphere is by direct manipulation
using Shift click-drag.  With Shift depressed:

  Rotate  =>  left-click-drag
  Translate  =>  middle-click-drag
  Scale  =>  right-click-drag (up/down)

One Button Mouse or Trackpad

  On Mac, to get a middle or right click out of a
  1-button mouse or a trackpad, open X11 ->
  Preferences -> Input (Tab), tick "Emulate 3
  button mouse", and use:

    opt-click    =>  gives middle-click
    cmd-click  =>  gives right-click

  Thus, for direct click-drag manipulation of a
  surface on a one-button Mac:

    rotate      =>  shift, then click-drag
    translate  =>  shift-opt, then click-drag
       [N.B.: req's order: 1=opt,2=click,3=shift]
    scale      =>  shift-cmd, then click-drag

For controlled rotations, translations, and
scaling, use the sliders and entries in the lower
left part of the tksurfer panel, or use keyboard
shortcuts (arrow keys, +/-)

  Rotate  =>  left/right/up/down arrows
  Rotate in plane  =>  Control-Shift-left/right
  Translate  =>  Shift-left/right/up/down arrows
  Scale  =>  plus/minus keys

If mouse focus is in the buttons window instead
of the display window, add cmd- (Mac) or alt-
(Linux) to avoid manipulating the current entry.

To get back to a lateral view, user RESTORE.

The "Save" and "Goto" buttons can be used to save
and restore any current view (arbitrary rotation,
translation, and scaling) of the current surface.


Really rotate/translate/scale

The ROTATE, TRANSLATE, and SCALE sliders merely
adjust the pose of the surface without changing
the saved coordinates of each vertex.  To
destructively change those coordinates for the
current surface so they can be saved as a new
surface, you can use the following C/tcl
functions from a tcl script:

  really_translate_brain <rh/lh> <ant/post> <sup/inf> [mm]
  really_scale_brain <rh/lh> <ant/post> <sup/inf> [frac,not%]
  really_rotate_brain_x <deg>    [N.B.: lh/rh axis]
  really_rotate_brain_y <deg>    [N.B.: ant/post axis]
  really_rotate_brain_z <deg>    [N.B.: sup/inf axis]
  really_center_brain

Any changes caused by these commands are
accumulated in an internal 4x4 transformation
matrix in tksurfer.  That matrix can be written
to or read from this file:

  $subject/tmp/really.mat

using the C/tcl functions:

  read_really_matrix     [also applies to surf vtxs!]
  write_really_matrix

N.B.: if the "really" functions are used, the
surface will no longer be aligned with the 3D
data from which it was reconstructed.
