[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36141] branches/bmesh/blender/source/ blender: =bmesh= fixed some minor bugs with bevel/knife creating duplicate/ overlapping faces

Joseph Eagar joeedh at gmail.com
Wed Apr 13 05:56:15 CEST 2011


Revision: 36141
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36141
Author:   joeedh
Date:     2011-04-13 03:56:14 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
=bmesh= fixed some minor bugs with bevel/knife creating duplicate/overlapping faces

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
    branches/bmesh/blender/source/blender/editors/mesh/knifetool.c

Modified: branches/bmesh/blender/source/blender/bmesh/operators/bevel.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bevel.c	2011-04-13 02:47:52 UTC (rev 36140)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bevel.c	2011-04-13 03:56:14 UTC (rev 36141)
@@ -614,6 +614,9 @@
 		if (BLI_array_count(edges) >= 3) {
 			BMFace *f;
 			
+			if (BM_Face_Exists(bm, verts, BLI_array_count(verts), &f))
+				continue;
+			
 			f = BM_Make_Ngon(bm, lastv, vstart, edges, BLI_array_count(edges), 0);
 			if (!f) {
 				printf("eek! in bevel vert fill!\n");

Modified: branches/bmesh/blender/source/blender/editors/mesh/knifetool.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/knifetool.c	2011-04-13 02:47:52 UTC (rev 36140)
+++ branches/bmesh/blender/source/blender/editors/mesh/knifetool.c	2011-04-13 03:56:14 UTC (rev 36141)
@@ -622,7 +622,7 @@
 		glLineWidth(1.0);
 	} else if (kcd->curvert) {
 		glColor3f(0.8, 0.2, 0.1);
-		glPointSize(9);
+		glPointSize(11);
 		
 		glBegin(GL_POINTS);
 		glVertex3fv(kcd->vertco);
@@ -631,7 +631,7 @@
 	
 	if (kcd->curbmface) {		
 		glColor3f(0.1, 0.8, 0.05);
-		glPointSize(7);
+		glPointSize(9);
 		
 		glBegin(GL_POINTS);
 		glVertex3fv(kcd->vertco);
@@ -647,7 +647,7 @@
 		
 		/*draw any snapped verts first*/
 		glColor4f(0.8, 0.2, 0.1, 0.4);
-		glPointSize(9);
+		glPointSize(11);
 		glBegin(GL_POINTS);
 		lh = kcd->linehits;
 		for (i=0; i<kcd->totlinehit; i++, lh++) {
@@ -671,7 +671,7 @@
 		
 		/*now draw the rest*/
 		glColor4f(0.1, 0.8, 0.05, 0.4);
-		glPointSize(5);
+		glPointSize(7);
 		glBegin(GL_POINTS);
 		lh = kcd->linehits;
 		for (i=0; i<kcd->totlinehit; i++, lh++) {
@@ -707,7 +707,7 @@
 		BLI_mempool_iter iter;
 		KnifeVert *kfv;
 		
-		glPointSize(4.0);
+		glPointSize(5.0);
 				
 		glBegin(GL_POINTS);
 		BLI_mempool_iternew(kcd->kverts, &iter);
@@ -1501,10 +1501,13 @@
 			BMVert *v1=efa->v3->tmp.p, *v2=efa->v2->tmp.p, *v3=efa->v1->tmp.p;
 			BMFace *f2;
 			BMLoop *l;
+			BMVert *verts[3] = {v1, v2, v3};
 			
 			if (v1 == v2 || v2 == v3 || v1 == v3)
+				continue;	
+			if (BM_Face_Exists(bm, verts, 3, &f2))
 				continue;
-			
+		
 			f2 = BM_Make_QuadTri(bm, v1, v2, v3, NULL, NULL, 0);
 			BMO_SetFlag(bm, f2, FACE_NEW);
 			




More information about the Bf-blender-cvs mailing list