Tool System: add shear tool to non-mesh edit-modes

This commit is contained in:
William Reynish
2020-01-29 10:25:09 +11:00
committed by Campbell Barton
parent b2034c6ba2
commit f9e1e088a4
2 changed files with 44 additions and 36 deletions

View File

@@ -5280,6 +5280,26 @@ def km_3d_view_tool_scale(params):
)
def km_3d_view_tool_shear(params):
return (
"3D View Tool: Shear",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
("transform.shear",
{"type": params.tool_tweak, "value": 'NORTH'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
("transform.shear",
{"type": params.tool_tweak, "value": 'SOUTH'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
# Use as fallback to catch diagonals too.
("transform.shear",
{"type": params.tool_tweak, "value": 'ANY'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'X')]}),
]},
)
def km_3d_view_tool_measure(params):
return (
"3D View Tool: Measure",
@@ -5595,26 +5615,6 @@ def km_3d_view_tool_edit_mesh_push_pull(params):
)
def km_3d_view_tool_edit_mesh_shear(params):
return (
"3D View Tool: Edit Mesh, Shear",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
("transform.shear",
{"type": params.tool_tweak, "value": 'NORTH'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
("transform.shear",
{"type": params.tool_tweak, "value": 'SOUTH'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
# Use as fallback to catch diagonals too.
("transform.shear",
{"type": params.tool_tweak, "value": 'ANY'},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'X')]}),
]},
)
def km_3d_view_tool_edit_mesh_to_sphere(params):
return (
"3D View Tool: Edit Mesh, To Sphere",
@@ -6194,6 +6194,7 @@ def generate_keymaps(params=None):
km_3d_view_tool_move(params),
km_3d_view_tool_rotate(params),
km_3d_view_tool_scale(params),
km_3d_view_tool_shear(params),
km_3d_view_tool_measure(params),
km_3d_view_tool_pose_breakdowner(params),
km_3d_view_tool_pose_push(params),
@@ -6223,7 +6224,6 @@ def generate_keymaps(params=None):
km_3d_view_tool_edit_mesh_vertex_slide(params),
km_3d_view_tool_edit_mesh_shrink_fatten(params),
km_3d_view_tool_edit_mesh_push_pull(params),
km_3d_view_tool_edit_mesh_shear(params),
km_3d_view_tool_edit_mesh_to_sphere(params),
km_3d_view_tool_edit_mesh_rip_region(params),
km_3d_view_tool_edit_mesh_rip_edge(params),

View File

@@ -291,6 +291,20 @@ class _defs_transform:
draw_settings=draw_settings,
)
@ToolDef.from_fn
def shear():
def draw_settings(context, layout, _tool):
# props = tool.operator_properties("transform.shear")
_template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 2)
return dict(
idname="builtin.shear",
label="Shear",
icon="ops.transform.shear",
widget="VIEW3D_GGT_xform_shear",
keymap="3D View Tool: Shear",
draw_settings=draw_settings,
)
@ToolDef.from_fn
def transform():
def draw_settings(context, layout, tool):
@@ -762,20 +776,6 @@ class _defs_edit_mesh:
draw_settings=draw_settings,
)
@ToolDef.from_fn
def shear():
def draw_settings(context, layout, _tool):
# props = tool.operator_properties("transform.shear")
_template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 2)
return dict(
idname="builtin.shear",
label="Shear",
icon="ops.transform.shear",
widget="VIEW3D_GGT_xform_shear",
keymap=(),
draw_settings=draw_settings,
)
@ToolDef.from_fn
def tosphere():
return dict(
@@ -1960,6 +1960,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_edit_armature.extrude,
_defs_edit_armature.extrude_cursor,
),
_defs_transform.shear,
],
'EDIT_MESH': [
*_tools_default,
@@ -1998,7 +1999,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_edit_mesh.push_pull,
),
(
_defs_edit_mesh.shear,
_defs_transform.shear,
_defs_edit_mesh.tosphere,
),
(
@@ -2018,16 +2019,23 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_edit_curve.curve_radius,
_defs_edit_curve.tilt,
None,
_defs_transform.shear,
_defs_edit_curve.curve_vertex_randomize,
],
'EDIT_SURFACE': [
*_tools_default,
None,
_defs_transform.shear,
],
'EDIT_METABALL': [
*_tools_default,
None,
_defs_transform.shear,
],
'EDIT_LATTICE': [
*_tools_default,
None,
_defs_transform.shear,
],
'EDIT_TEXT': [
_defs_view3d_generic.cursor,