diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-08-11 11:49:35 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-08-11 11:49:35 +0400 |
commit | eb34e3ad7c367acc2bd06f52c3b815cdef7a21c3 (patch) | |
tree | 77eff7990517eabd24633949abca8626e97c8eee /source/blender/editors/mesh/mesh_ops.c | |
parent | 31421e07966205d22318cb8eb0204b053cb9db65 (diff) |
Brought Extrude all the way back. The contextual menu works,
as does only edges and individual faces extrude (individual vert
extrude already did).
Note that I need to port this, after we all figure out how to handle
operators with variable transform follow-ons.
I also implemented the merge->collapse function, which is currently
accessable under ctrl->v, Bmesh Test Operator. I still need to
implement the other merge modes, and properly hook everything into
the merge menu tool, which I plan on doing soon (tomorrow hopefully).
The cool thing about the collapse tool, is not only does it handle (all)
UV layers, it handles vcols as well. To do this, I had to add a few math
functions to the customdata API, which seem to be working well.
Diffstat (limited to 'source/blender/editors/mesh/mesh_ops.c')
-rw-r--r-- | source/blender/editors/mesh/mesh_ops.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index f3a504bb214..01cf15cb9f1 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -78,6 +78,7 @@ static int vertex_specials_invoke(bContext *C, wmOperator *op, wmEvent *event) uiItemO(layout, "Merge...", 0, "MESH_OT_merge"); uiItemO(layout, "Smooth", 0, "MESH_OT_vertices_smooth"); uiItemO(layout, "Select Vertex Path", 0, "MESH_OT_select_vertex_path"); + uiItemO(layout, "BMesh Test Operator", 0, "MESH_OT_bm_test"); //uiItemO(layout, "Blend From Shape", 0, "MESH_OT_blend_from_shape"); //uiItemO(layout, "Propagate to All Shapes", 0, "MESH_OT_shape_propagate_to_all"); @@ -231,7 +232,9 @@ static void MESH_OT_specials(wmOperatorType *ot) void ED_operatortypes_mesh(void) { wmOperatorType *ot; - + wmOperatorTypeMacro *otm; + static int constraint_axis[3] = {0, 0, 1}; + WM_operatortype_append(MESH_OT_select_all_toggle); WM_operatortype_append(MESH_OT_select_more); WM_operatortype_append(MESH_OT_select_less); @@ -317,7 +320,14 @@ void ED_operatortypes_mesh(void) WM_operatortype_append(MESH_OT_specials); WM_operatortype_append(MESH_OT_vert_connect); WM_operatortype_append(MESH_OT_edge_split); + + WM_operatortype_append(MESH_OT_extrude_region); + WM_operatortype_append(MESH_OT_extrude_verts_indiv); + WM_operatortype_append(MESH_OT_extrude_edges_indiv); + WM_operatortype_append(MESH_OT_extrude_faces_indiv); + WM_operatortype_append(MESH_OT_bm_test); + /* macros */ ot= WM_operatortype_append_macro("MESH_OT_duplicate_move", "Add Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "MESH_OT_duplicate"); @@ -329,7 +339,14 @@ void ED_operatortypes_mesh(void) /*ot= WM_operatortype_append_macro("MESH_OT_extrude_move", "Extrude", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "MESH_OT_extrude"); - WM_operatortype_macro_define(ot, "TFM_OT_translate");*/ + otm = WM_operatortype_macro_define(ot, "TFM_OT_translate"); + + RNA_enum_set(otm->ptr, "proportional", 0); + RNA_boolean_set(otm->ptr, "mirror", 0); + + RNA_enum_set(otm->ptr, "constraint_orientation", V3D_MANIP_NORMAL); + RNA_boolean_set_array(otm->ptr, "constraint_axis", constraint_axis);*/ + } /* note mesh keymap also for other space? */ |