diff options
author | Martin Poirier <theeth@yahoo.com> | 2010-02-13 01:13:47 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2010-02-13 01:13:47 +0300 |
commit | 33b1cbf06d2c822c68676390b1775eb5d78de6e6 (patch) | |
tree | dd0d27d7a7cc42a9d102f5d5a575eb3e7a043d06 /source/blender/editors | |
parent | e77cf5e92eacc0f61a4ceab34dc7c556369bca87 (diff) |
Smart Extrude (hotkeys are tentative)
Ekey: Extrude Region
Based on selection totals:
Extrude region along normal if at least one face selected
Extrude vertex along normal if only one vertex selected (experimental)
Extrude edge on its plane if only one edge selected (experimental)
Extrude with no constraint axis otherwise
Shift-Ekey: Extrude Individual
Based on selection modes and selection totals
Individual Faces if face select and some faces are selected
Individual Edges if edge select and some edges are selected
Individual Vertice otherwise
Alt-Ekey: Extrude Menu (only shows valid options for selection mode and selection totals)
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/mesh/mesh_ops.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index 2788469a23e..87fe9948a37 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -172,7 +172,6 @@ void ED_operatormacros_mesh(void) { wmOperatorType *ot; wmOperatorTypeMacro *otmacro; - int constraint_axis[3] = {0, 0, 1}; ot= WM_operatortype_append_macro("MESH_OT_loopcut_slide", "Loop Cut and Slide", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "MESH_OT_loopcut"); @@ -193,8 +192,6 @@ void ED_operatormacros_mesh(void) RNA_enum_set(otmacro->ptr, "type", 1); otmacro= WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); RNA_enum_set(otmacro->ptr, "proportional", 0); - RNA_enum_set(otmacro->ptr, "constraint_orientation", V3D_MANIP_NORMAL); - RNA_boolean_set_array(otmacro->ptr, "constraint_axis", constraint_axis); ot= WM_operatortype_append_macro("MESH_OT_extrude_faces_move", "Extrude Individual Faces and Move", OPTYPE_UNDO|OPTYPE_REGISTER); otmacro= WM_operatortype_macro_define(ot, "MESH_OT_extrude"); @@ -264,7 +261,9 @@ void ED_keymap_mesh(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_CTRL, 0); RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "inside", 1); - WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_extrude", EKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_move", EKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_individual_move", EKEY, KM_PRESS, KM_SHIFT, 0); + WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_extrude", EKEY, KM_PRESS, KM_ALT, 0); WM_keymap_add_item(keymap, "MESH_OT_spin", RKEY, KM_PRESS, KM_ALT, 0); |