Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJohnny Matthews <johnny.matthews@gmail.com>2005-08-08 00:46:26 +0400
committerJohnny Matthews <johnny.matthews@gmail.com>2005-08-08 00:46:26 +0400
commitbfcc67267bfc06c2f3c33c92eefaa3d2e56c51cf (patch)
tree2157b107ba2d54afd075b15c56285add6af69b82 /source
parentf333f124cab8c09a2339a31067d9864fabe1cc9a (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.h1
-rw-r--r--source/blender/src/editmesh_mods.c6
-rw-r--r--source/blender/src/editmesh_tools.c8
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;