[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60525] trunk/blender/source/blender/bmesh /operators/bmo_join_triangles.c: overlapping faces made join-triangles fail , check for this case and silently ignore them.

Campbell Barton ideasman42 at gmail.com
Thu Oct 3 12:29:54 CEST 2013


Revision: 60525
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60525
Author:   campbellbarton
Date:     2013-10-03 10:29:53 +0000 (Thu, 03 Oct 2013)
Log Message:
-----------
overlapping faces made join-triangles fail, check for this case and silently ignore them.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/operators/bmo_join_triangles.c

Modified: trunk/blender/source/blender/bmesh/operators/bmo_join_triangles.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_join_triangles.c	2013-10-03 08:02:32 UTC (rev 60524)
+++ trunk/blender/source/blender/bmesh/operators/bmo_join_triangles.c	2013-10-03 10:29:53 UTC (rev 60525)
@@ -326,7 +326,11 @@
 			    (BMO_elem_flag_test(bm, l_a->next->e, EDGE_MARK) == false) &&
 			    (BMO_elem_flag_test(bm, l_a->prev->e, EDGE_MARK) == false) &&
 			    (BMO_elem_flag_test(bm, l_b->next->e, EDGE_MARK) == false) &&
-			    (BMO_elem_flag_test(bm, l_b->prev->e, EDGE_MARK) == false))
+			    (BMO_elem_flag_test(bm, l_b->prev->e, EDGE_MARK) == false) &&
+			    /* check for faces that use same verts, this is supported but raises an error
+			     * and cancels the operation when performed from editmode, since this is only
+			     * two triangles we only need to compare a single vertex */
+			    (LIKELY(l_a->prev->v != l_b->prev->v)))
 			{
 				BMFace *f_new;
 				f_new = BM_faces_join_pair(bm, f_a, f_b, e, true);




More information about the Bf-blender-cvs mailing list