In CTRL-E menu "Edgeloop Delete" with a valid "inner" edgeloop selected, this functio...
authorJohnny Matthews <johnny.matthews@gmail.com>
Sun, 7 Aug 2005 20:46:26 +0000 (20:46 +0000)
committerJohnny Matthews <johnny.matthews@gmail.com>
Sun, 7 Aug 2005 20:46:26 +0000 (20:46 +0000)
Edgeslide to one side 100%
CTRL +  to select "more"
Remove Doubles

Leaves you with new faceloop selected.

source/blender/include/BIF_editmesh.h
source/blender/src/editmesh_mods.c
source/blender/src/editmesh_tools.c

index cd57f9eb4fe05c7efa0d745837dc642d75775c6a..bbf5143337470ec81bc54eabef42eda94f5df9a8 100644 (file)
@@ -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
 
index dcc43167369b0a1dd8d8ca08fbcc3804823c6a64..ee3d6a476dfa7d17b04319ad2455e61ad8d5dff4 100644 (file)
@@ -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;
        }
 }
 
index 4d77982b5621bb4bf508bbfa980677a4f1537beb..64f2e1345cf112372e13314ec24cb221d1d95aa7 100644 (file)
@@ -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;