[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30588] trunk/blender/source/blender/ editors/mesh/editmesh_tools.c: Fix #20084: merging triangles with different normals into a quad

Brecht Van Lommel brecht at blender.org
Wed Jul 21 17:23:50 CEST 2010


Revision: 30588
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30588
Author:   blendix
Date:     2010-07-21 17:23:49 +0200 (Wed, 21 Jul 2010)

Log Message:
-----------
Fix #20084: merging triangles with different normals into a quad
would create a hole, just crappy editmesh code, no need to merge
to bmesh.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2010-07-21 15:22:11 UTC (rev 30587)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2010-07-21 15:23:49 UTC (rev 30588)
@@ -3094,21 +3094,21 @@
 
 	if VTEST(efa1, 1, efa) {
 		*v3= efa1->v1;
-		*v4= efa1->v2;
+		*v4= (efa1->v2 == *v2)? efa1->v3: efa1->v2;
 		vindex[2]= 0;
-		vindex[3]= 1;
+		vindex[3]= (efa1->v2 == *v2)? 2: 1;
 	}
 	else if VTEST(efa1, 2, efa) {
 		*v3= efa1->v2;
-		*v4= efa1->v3;
+		*v4= (efa1->v3 == *v2)? efa1->v1: efa1->v3;
 		vindex[2]= 1;
-		vindex[3]= 2;
+		vindex[3]= (efa1->v3 == *v2)? 0: 2;
 	}
 	else if VTEST(efa1, 3, efa) {
 		*v3= efa1->v3;
-		*v4= efa1->v1;
+		*v4= (efa1->v1 == *v2)? efa1->v2: efa1->v1;
 		vindex[2]= 2;
-		vindex[3]= 0;
+		vindex[3]= (efa1->v1 == *v2)? 1: 0;
 	}
 	else
 		*v3= *v4= NULL;





More information about the Bf-blender-cvs mailing list