Page MenuHome

ndof-free-invert_v3.diff

File Metadata

Author
Rainer Wahler (quakeman)
Created
Nov 13 2013, 3:15 PM

ndof-free-invert_v3.diff

Index: release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- release/scripts/startup/bl_ui/space_userpref.py (Revision 40157)
+++ release/scripts/startup/bl_ui/space_userpref.py (Arbeitskopie)
@@ -775,10 +775,9 @@
layout.label(text="orbit options")
if input_prefs.view_rotate_method == 'TRACKBALL':
layout.prop(input_prefs, "ndof_roll_invert_axis")
- layout.prop(input_prefs, "ndof_tilt_invert_axis")
- layout.prop(input_prefs, "ndof_rotate_invert_axis")
- else:
- layout.prop(input_prefs, "ndof_orbit_invert_axes")
+ layout.prop(input_prefs, "ndof_tilt_invert_axis")
+ layout.prop(input_prefs, "ndof_rotate_invert_axis")
+ layout.prop(input_prefs, "ndof_zoom_invert")
layout.separator()
layout.label(text="pan options")
@@ -787,6 +786,10 @@
layout.prop(input_prefs, "ndof_panz_invert_axis")
layout.separator()
+ layout.label(text="zoom options")
+ layout.prop(input_prefs, "ndof_zoom_updown")
+
+ layout.separator()
layout.label(text="fly options")
layout.prop(input_prefs, "ndof_fly_helicopter", icon='NDOF_FLY')
layout.prop(input_prefs, "ndof_lock_horizon", icon='NDOF_DOM')
Index: source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- source/blender/editors/space_view3d/view3d_edit.c (Revision 40157)
+++ source/blender/editors/space_view3d/view3d_edit.c (Arbeitskopie)
@@ -1020,21 +1020,17 @@
rv3d->view = RV3D_VIEW_USER;
if (U.flag & USER_TRACKBALL) {
- const int invert_roll = U.ndof_flag & NDOF_ROLL_INVERT_AXIS;
- const int invert_tilt = U.ndof_flag & NDOF_TILT_INVERT_AXIS;
- const int invert_rot = U.ndof_flag & NDOF_ROTATE_INVERT_AXIS;
-
float rot[4];
float axis[3];
float angle = rot_sensitivity * ndof_to_axis_angle(ndof, axis);
- if (invert_roll)
+ if (U.ndof_flag & NDOF_ROLL_INVERT_AXIS)
axis[2] = -axis[2];
- if (invert_tilt)
+ if (U.ndof_flag & NDOF_TILT_INVERT_AXIS)
axis[0] = -axis[0];
- if (invert_rot)
+ if (U.ndof_flag & NDOF_ROTATE_INVERT_AXIS)
axis[1] = -axis[1];
// transform rotation axis from view to world coordinates
@@ -1050,8 +1046,6 @@
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
} else {
/* turntable view code by John Aughey, adapted for 3D mouse by [mce] */
- const int invert = U.ndof_flag & NDOF_ORBIT_INVERT_AXES;
-
float angle, rot[4];
float xvec[3] = {1,0,0};
@@ -1060,7 +1054,7 @@
/* Perform the up/down rotation */
angle = rot_sensitivity * dt * ndof->rvec[0];
- if (invert)
+ if (U.ndof_flag & NDOF_TILT_INVERT_AXIS)
angle = -angle;
rot[0] = cos(angle);
mul_v3_v3fl(rot+1, xvec, sin(angle));
@@ -1068,7 +1062,7 @@
/* Perform the orbital rotation */
angle = rot_sensitivity * dt * ndof->rvec[1];
- if (invert)
+ if (U.ndof_flag & NDOF_ROTATE_INVERT_AXIS)
angle = -angle;
// update the onscreen doo-dad
@@ -1153,23 +1147,19 @@
const float vertical_sensitivity = 0.4f;
const float lateral_sensitivity = 0.6f;
- const int invert_panx = U.ndof_flag & NDOF_PANX_INVERT_AXIS;
- const int invert_pany = U.ndof_flag & NDOF_PANY_INVERT_AXIS;
- const int invert_panz = U.ndof_flag & NDOF_PANZ_INVERT_AXIS;
-
float pan_vec[3];
- if (invert_panx)
+ if (U.ndof_flag & NDOF_PANX_INVERT_AXIS)
pan_vec[0] = -lateral_sensitivity * ndof->tvec[0];
else
pan_vec[0] = lateral_sensitivity * ndof->tvec[0];
- if (invert_panz)
+ if (U.ndof_flag & NDOF_PANZ_INVERT_AXIS)
pan_vec[1] = -vertical_sensitivity * ndof->tvec[1];
else
pan_vec[1] = vertical_sensitivity * ndof->tvec[1];
- if (invert_pany)
+ if (U.ndof_flag & NDOF_PANY_INVERT_AXIS)
pan_vec[2] = -forward_sensitivity * ndof->tvec[2];
else
pan_vec[2] = forward_sensitivity * ndof->tvec[2];
Index: source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- source/blender/makesdna/DNA_userdef_types.h (Revision 40157)
+++ source/blender/makesdna/DNA_userdef_types.h (Arbeitskopie)
@@ -603,7 +603,6 @@
*/
/* actually... users probably don't care about what the mode
is called, just that it feels right */
-#define NDOF_ORBIT_INVERT_AXES (1 << 6)
/* zoom is up/down if this flag is set (otherwise forward/backward) */
#define NDOF_ZOOM_UPDOWN (1 << 7)
#define NDOF_ZOOM_INVERT (1 << 8)
Index: source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- source/blender/makesrna/intern/rna_userdef.c (Revision 40157)
+++ source/blender/makesrna/intern/rna_userdef.c (Arbeitskopie)
@@ -2787,12 +2787,6 @@
RNA_def_property_ui_text(prop, "Show Navigation Guide", "Display the center and axis during rotation");
/* TODO: update description when fly-mode visuals are in place ("projected position in fly mode")*/
- /* 3D view: orbit */
- prop= RNA_def_property(srna, "ndof_orbit_invert_axes", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ORBIT_INVERT_AXES);
- RNA_def_property_ui_text(prop, "Invert Axes", "Toggle between moving the viewpoint or moving the scene being viewed");
- /* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' */
-
/* 3D view: roll */
prop= RNA_def_property(srna, "ndof_roll_invert_axis", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ROLL_INVERT_AXIS);

Event Timeline