diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-12-18 02:03:50 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-12-18 02:08:23 +0300 |
commit | 879c9665985b36c93f21a49663df033a010d2829 (patch) | |
tree | 9ae83125c3e325f7197f8be50149a79b637a6a23 /source/blender/makesdna/DNA_scene_types.h | |
parent | 779e2522982f37b1ddbb559cbeaaa78ef9a95fc5 (diff) |
Transform: option to use incremental snapping
This resolves this issue where users would enable a snapping mode
besides incremental (vertex for eg), then notice strange behavior w/
rotate and scale.
While this ability can be useful, it's quite an obscure use case.
Now changing snap-modes keeps rotate and scale using incremental snap,
with the option for these modes to be affected by other snapping modes.
D4022 by @kioku w/ own minor edits.
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 43f236cde1e..8be63add398 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1330,7 +1330,8 @@ typedef struct ToolSettings { float select_thresh; /* Auto-Keying Mode */ - short autokey_mode, autokey_flag; /* defines in DNA_userdef_types.h */ + short autokey_flag; /* defines in DNA_userdef_types.h */ + char autokey_mode; char keyframe_type; /* keyframe type (see DNA_curve_types.h) */ /* Multires */ @@ -1350,13 +1351,15 @@ typedef struct ToolSettings { char snap_uv_mode; char snap_flag; char snap_target; - short proportional, prop_mode; + char snap_force_increment_flag; + + + char proportional, prop_mode; char proportional_objects; /* proportional edit, object mode */ char proportional_mask; /* proportional edit, mask editing */ char proportional_action; /* proportional edit, action editor */ char proportional_fcurve; /* proportional edit, graph editor */ char lock_markers; /* lock marker editing */ - char pad4[5]; char auto_normalize; /*auto normalizing mode in wpaint*/ char multipaint; /* paint multiple bones in wpaint */ @@ -1364,7 +1367,7 @@ typedef struct ToolSettings { char vgroupsubset; /* subset selection filter in wpaint */ /* UV painting */ - char _pad2[2]; + char _pad2[1]; char use_uv_sculpt; char uv_sculpt_settings; char uv_sculpt_tool; @@ -1907,6 +1910,13 @@ enum { #define SCE_SNAP_MODE_NODE_X (1 << 6) #define SCE_SNAP_MODE_NODE_Y (1 << 7) +/** #ToolSettings.snap_force_increment_flag */ +enum { + SCE_SNAP_FORCE_INCREMENT_TRANSLATE = (1 << 0), + SCE_SNAP_FORCE_INCREMENT_ROTATE = (1 << 1), + SCE_SNAP_FORCE_INCREMENT_SCALE = (1 << 2), +}; + /* ToolSettings.selectmode */ #define SCE_SELECT_VERTEX (1 << 0) /* for mesh */ #define SCE_SELECT_EDGE (1 << 1) |