Blender Git Loki
Git Commits -> Revision 800c6db
Revision 800c6db by Martin Poirier (master) August 30, 2007, 22:02 (GMT) |
Some cleanup of the ndof functions: Moving filterNDOFvalues and getndof to editscreen.c/BIF_mywindow.h (this might not be the best spot but it matches table/mouse functions) Adding missing function definition in include files and fix declaration mixup (void functions used as int, short pointer used as float pointer) New NDofInput model for transform (reusable externally in the future): Handles ndof events, accumulates values and enables remapping and rescaling values to fit any axis combinaison into a float[3] (this could be extended in the future, also, it doesn't support out of order axis right now). Compatible with "gears" (Ctrl key) New transform context for pure NDof input transform (entered when using Transform mode on the device). In this mode, transform "transactions" are automatically confirmed when the device returns to its rest position Rotation on Z triggers a rotation (axis is perpendicular to the screen as usual, constraints works as expected) Rotation on X/Y triggers trackball rotation Translation on X/Y/Z triggers translation (doesn't support constraints correctly). The device can also be used during a "normal" transform operation. In this case, there is no auto confirm but button 1 (right) can be used to confirm while button 2 is used to clear the NDof input (back to mouse input). NDof support was added to translation, rotation and trackball (as previously mentionned) but also to Tilt (same as rotation) and Push/Pull (move device along Z axis). This is a bit preliminary work, so everyone should feel free to comment and send suggestions. NOTE: this commit also merges revision 11523 from the trunk |
Commit Details:
Full Hash: 800c6db46fd3d45c1ef16f1ba5f2ce4ab0fd9307
SVN Revision: 11900
Parent Commit: 7f6bb8d
Lines Changed: +494, -232
1 Added Path:
/source/blender/src/transform_ndofinput.c (+156, -0) (View)
10 Modified Paths:
/source/blender/include/BIF_mywindow.h (+3, -0) (Diff)
/source/blender/include/BIF_transform.h (+5, -0) (Diff)
/source/blender/include/transform.h (+53, -18) (Diff)
/source/blender/src/editscreen.c (+15, -2) (Diff)
/source/blender/src/space.c (+2, -2) (Diff)
/source/blender/src/transform.c (+258, -143) (Diff)
/source/blender/src/transform_conversions.c (+1, -1) (Diff)
/source/blender/src/transform_generics.c (+0, -32) (Diff)
/source/blender/src/view.c (+0, -34) (Diff)
/source/blender/src/winlay.h (+1, -0) (Diff)
/source/blender/include/BIF_transform.h (+5, -0) (Diff)
/source/blender/include/transform.h (+53, -18) (Diff)
/source/blender/src/editscreen.c (+15, -2) (Diff)
/source/blender/src/space.c (+2, -2) (Diff)
/source/blender/src/transform.c (+258, -143) (Diff)
/source/blender/src/transform_conversions.c (+1, -1) (Diff)
/source/blender/src/transform_generics.c (+0, -32) (Diff)
/source/blender/src/view.c (+0, -34) (Diff)
/source/blender/src/winlay.h (+1, -0) (Diff)