diff options
author | Johnny Matthews <johnny.matthews@gmail.com> | 2005-08-08 00:46:26 +0400 |
---|---|---|
committer | Johnny Matthews <johnny.matthews@gmail.com> | 2005-08-08 00:46:26 +0400 |
commit | bfcc67267bfc06c2f3c33c92eefaa3d2e56c51cf (patch) | |
tree | 2157b107ba2d54afd075b15c56285add6af69b82 /source | |
parent | f333f124cab8c09a2339a31067d9864fabe1cc9a (diff) |
In CTRL-E menu "Edgeloop Delete" with a valid "inner" edgeloop selected, this function calls other tools to delete that edgeloop by doing the following
Edgeslide to one side 100%
CTRL + to select "more"
Remove Doubles
Leaves you with new faceloop selected.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/include/BIF_editmesh.h | 1 | ||||
-rw-r--r-- | source/blender/src/editmesh_mods.c | 6 | ||||
-rw-r--r-- | source/blender/src/editmesh_tools.c | 8 |
3 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/include/BIF_editmesh.h b/source/blender/include/BIF_editmesh.h index cd57f9eb4fe..bbf51433374 100644 --- a/source/blender/include/BIF_editmesh.h +++ b/source/blender/include/BIF_editmesh.h @@ -173,6 +173,7 @@ extern void fill_mesh(void); extern void bevel_menu(); void edge_rotate_selected(int dir); int EdgeSlide(short immediate, float imperc); +void EdgeLoopDelete(void); #endif diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index dcc43167369..ee3d6a476df 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -1783,7 +1783,7 @@ void editmesh_mark_seam(int clear) void Edge_Menu() { short ret; - ret= pupmenu("Edge Specials%t|Mark Seam %x1|Clear Seam %x2|Rotate Edge CW%x3|Rotate Edge CCW%x4|Loopcut%x6|Edge Slide%x5"); + ret= pupmenu("Edge Specials%t|Mark Seam %x1|Clear Seam %x2|Rotate Edge CW%x3|Rotate Edge CCW%x4|Loopcut%x6|Edge Slide%x5|EdgeLoop Delete%x7"); switch(ret) { @@ -1807,6 +1807,10 @@ void Edge_Menu() { CutEdgeloop(1); BIF_undo_push("Loopcut New"); break; + case 7: + EdgeLoopDelete(); + BIF_undo_push("Edgeloop Remove"); + break; } } diff --git a/source/blender/src/editmesh_tools.c b/source/blender/src/editmesh_tools.c index 4d77982b562..64f2e1345cf 100644 --- a/source/blender/src/editmesh_tools.c +++ b/source/blender/src/editmesh_tools.c @@ -4264,6 +4264,14 @@ static float Dist2s(short* d1,short* d2){ return sqrt(pow(d1[0]-d2[0],2)+pow(d1[1]-d2[1],2)); } +void EdgeLoopDelete(){ + EdgeSlide(1, 1); + select_more(); + removedoublesflag(1,0.001); + EM_select_flush(); + DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA); +} + int EdgeSlide(short immediate, float imperc) { EditMesh *em = G.editMesh; |