[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