[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56875] trunk/blender/source/blender/bmesh /operators/bmo_bridge.c: fix for error in bridge tool, using freed faces from bmo input.

Campbell Barton ideasman42 at gmail.com
Fri May 17 14:05:07 CEST 2013


Revision: 56875
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56875
Author:   campbellbarton
Date:     2013-05-17 12:05:07 +0000 (Fri, 17 May 2013)
Log Message:
-----------
fix for error in bridge tool, using freed faces from bmo input.

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

Modified: trunk/blender/source/blender/bmesh/operators/bmo_bridge.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bridge.c	2013-05-17 11:13:46 UTC (rev 56874)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bridge.c	2013-05-17 12:05:07 UTC (rev 56875)
@@ -325,8 +325,18 @@
 		BMOperator op_sub;
 		/* when we have to bridge betweeen different sized edge-loops,
 		 * be clever and post-process for best results */
-		BM_mesh_triangulate(bm, true, true, NULL, NULL);
 
+
+		/* triangulate inline */
+		BMO_op_initf(bm, &op_sub, 0,
+		             "triangulate faces=%hf",
+		             BM_ELEM_TAG, true);
+		BMO_op_exec(bm, &op_sub);
+		BMO_slot_buffer_flag_enable(bm, op_sub.slots_out, "faces.out", BM_FACE, FACE_OUT);
+		BMO_slot_buffer_hflag_enable(bm, op_sub.slots_out, "faces.out", BM_FACE, BM_ELEM_TAG, false);
+		BMO_op_finish(bm, &op_sub);
+
+
 		/* tag verts on each side so we can restrict rotation of edges to verts on the same side */
 		for (i = 0; i < 2; i++) {
 			LinkData *el;
@@ -335,12 +345,12 @@
 			}
 		}
 
+
 		BMO_op_initf(bm, &op_sub, 0,
 		             "beautify_fill faces=%hf edges=ae use_restrict_tag=%b",
 		             BM_ELEM_TAG, true);
 		BMO_op_exec(bm, &op_sub);
 		/* there may also be tagged faces that didnt rotate, mark input */
-		BMO_slot_buffer_flag_enable(bm, op_sub.slots_in, "faces", BM_FACE, FACE_OUT);
 		BMO_slot_buffer_flag_enable(bm, op_sub.slots_out, "geom.out", BM_FACE, FACE_OUT);
 		BMO_op_finish(bm, &op_sub);
 	}




More information about the Bf-blender-cvs mailing list