V3 beta Mar-17-2013 available now

 From:  Michael Gibson
5774.50 
Finally got some notes gathered up for the new multitouch view navigation stuff:



Multitouch view navigation - use multitouch gestures (pinch or drag fingers) to do zoom/pan/rotate view manipulations. This works on Mac OSX 10.7 or 10.8 using a trackpad or on Windows 8 using a touch screen. There's a demo video here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5731.1

The supported gestures are:

   Pan by 2 fingers dragging left/right/up/down

   Zoom by pinching index finger and thumb together or apart.

   Rotate left/right/up/down in the 3D view by dragging 3 fingers.

   2 finger double tap for view reset (zoom to selected objects or zoom to all if done a second time).

   Twist thumb and index fingers for 2D ortho view spin or 3D view tilt if those are enabled under settings.


Zooming in and out with multitouch can be easier to control in the 3D view if you have a parallel view projection rather than perspective. You can set a parallel projection under Options > View > "3D view projection". To set the default projection on startup, save a 3DM file with a parallel projection set and then put that 3DM file as the startup template under Options > General > Template file.

On OSX, 3 finger dragging for rotation in the 3D view will not work if any 3 finger swiping is already being used for OSX system functions. Check under System Preferences > Trackpad > More Gestures. If "Swipe between full-screen apps" or "Mission Control" are set to use 3 finger swiping, change them to use 4 finger swiping instead, then MoI will be able to receive the 3 finger dragging events.

There are some options available for changing multitouch behavior under Options > Rotate/Pan/Zoom options > MultiTouch options (in lower-right area):

   Reverse rotation checkbox - when enabled the 3D view rotation directions will be reversed.

   Rotate ortho views checkbox - when enabled thumb/index spin will spin the 2D ortho (top/front/right) views.

   Swap 3D rotate and pan checkbox - when enabled 2 finger dragging in the 3D view will do rotation and 3 fingers will do panning instead.

   Allow 3D rotation tilt - when enabled thumb/index spin will tilt the 3D view left or right.

   Rotation speed, Pan speed, and Zoom speed - a scale factor can be entered in here to adjust the speed of these movements, for example putting in 0.5 will make that operation half speed, putting in 2 will double the speed.


There are also a few additional settings available in moi.ini under the [MultiTouch] section:

[MultiTouch]
SingleFingerRotation=n
TiltSpeed=1.0
TiltCenterMode=0

SingleFingerRotation can be set to =y on Windows to make just one finger dragging do 3D view rotation instead of 3 finger dragging. This will prevent things like window selection from happening with touch so you should probably only try this if you also have a mouse or pen to use for selection.

TiltSpeed can be set to a scale factor to speed up or slow down thumb/index finger spin action in 3D views.

TiltCenterMode can be set to 0, 1, or 2 and controls how the center point works for 3D view tilting.
   With TiltCenterMode = 0 the current centroid of the touch points is used for the tilt center. With this one the tilt center moves right along with your fingers.
   With TiltCenterMode = 1 it will use the centroid between the 2 fingers just at the initial start of the 2 finger gesture, it won't update as you move your finger around, only when you start a new gesture.
   With TiltCenterMode = 2 it will use the center of the viewport as the tilt center, it won’t make any difference where on the screen you are at as far as tilting goes.


Thanks to William Knop for implementing OSX touch event handling code, and Isaiah Coberly for testing the Windows version.


- Michael