Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Dobarro <pablodp606>2020-09-26 22:59:30 +0300
committerPablo Dobarro <pablodp606@gmail.com>2020-09-26 23:04:45 +0300
commit8c81b3fb8b9c857626c037fe0c95c5d48a3ca20f (patch)
tree8837430bbea204b3e22fbbe59f2e328f0fbe663a /release/scripts
parent4c74980e7bd19164a715ee5141d5364bbea242bf (diff)
Sculpt: Line gestures and Mask Line tool
This adds support for line gesture to SculptGestureContext and implements a Mask Line tool, which affects everything to the right of a plane defined by the straightline gesture. For this to work, a new WM_gesture_straightline_oneshot_modal is needed which only runs exec when the gesture is over. Added as experimental as it does not have icon. Reviewed By: Severin Differential Revision: https://developer.blender.org/D8722
Diffstat (limited to 'release/scripts')
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py12
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py24
2 files changed, 35 insertions, 1 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index fdd654009a7..f3e4c82090e 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -6388,6 +6388,17 @@ def km_3d_view_tool_sculpt_lasso_trim(params):
]},
)
+def km_3d_view_tool_sculpt_line_mask(params):
+ return (
+ "3D View Tool: Sculpt, Line Mask",
+ {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ {"items": [
+ ("paint.mask_line_gesture", {"type": params.tool_tweak, "value": 'ANY'},
+ {"properties": [("value", 1.0)]}),
+ ("paint.mask_line_gesture", {"type": params.tool_tweak, "value": 'ANY', "ctrl": True},
+ {"properties": [("value", 0.0)]}),
+ ]},
+ )
def km_3d_view_tool_sculpt_mesh_filter(params):
return (
@@ -6993,6 +7004,7 @@ def generate_keymaps(params=None):
km_3d_view_tool_sculpt_lasso_face_set(params),
km_3d_view_tool_sculpt_box_trim(params),
km_3d_view_tool_sculpt_lasso_trim(params),
+ km_3d_view_tool_sculpt_line_mask(params),
km_3d_view_tool_sculpt_mesh_filter(params),
km_3d_view_tool_sculpt_cloth_filter(params),
km_3d_view_tool_sculpt_color_filter(params),
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 75dfd60b1d4..3f7a3604741 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -1259,6 +1259,21 @@ class _defs_sculpt:
)
@ToolDef.from_fn
+ def mask_line():
+ def draw_settings(_context, layout, tool):
+ props = tool.operator_properties("paint.mask_line_gesture")
+ layout.prop(props, "use_front_faces_only", expand=False)
+
+ return dict(
+ idname="builtin.line_mask",
+ label="Line Mask",
+ icon="ops.sculpt.line_mask",
+ widget=None,
+ keymap=(),
+ draw_settings=draw_settings,
+ )
+
+ @ToolDef.from_fn
def face_set_box():
def draw_settings(_context, layout, tool):
props = tool.operator_properties("sculpt.face_set_box_gesture")
@@ -1273,6 +1288,7 @@ class _defs_sculpt:
draw_settings=draw_settings,
)
+
@ToolDef.from_fn
def face_set_lasso():
def draw_settings(_context, layout, tool):
@@ -1308,7 +1324,6 @@ class _defs_sculpt:
keymap=(),
)
-
@ToolDef.from_fn
def mesh_filter():
def draw_settings(_context, layout, tool):
@@ -2653,6 +2668,13 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
),
_defs_sculpt.hide_border,
lambda context: (
+ (_defs_sculpt.mask_line,)
+ if context is None or (
+ context.preferences.view.show_developer_ui and
+ context.preferences.experimental.use_tools_missing_icons)
+ else ()
+ ),
+ lambda context: (
(_defs_sculpt.face_set_box,)
if context is None or (
context.preferences.view.show_developer_ui and