[Bf-blender-cvs] [650c54d] bmesh-boolean-experiment: Don't tag in BM_face_split_edgenet_connect_islands

Campbell Barton noreply at git.blender.org
Thu Dec 10 11:17:54 CET 2015


Commit: 650c54d71848303657ec43642efb5ebc8ca592b8
Author: Campbell Barton
Date:   Thu Dec 10 21:04:42 2015 +1100
Branches: bmesh-boolean-experiment
https://developer.blender.org/rB650c54d71848303657ec43642efb5ebc8ca592b8

Don't tag in BM_face_split_edgenet_connect_islands

This is only needed for intersect logic.

===================================================================

M	source/blender/bmesh/intern/bmesh_polygon_edgenet.c
M	source/blender/bmesh/tools/bmesh_intersect.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_polygon_edgenet.c b/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
index 38127fb..d172944 100644
--- a/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
+++ b/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
@@ -1207,7 +1207,6 @@ bool BM_face_split_edgenet_connect_islands(
 				BMVert *v_end = vert_arr[index_other];
 
 				edge_net_new[edge_net_new_index] = BM_edge_create(bm, v_origin, v_end, NULL, 0);
-				BM_elem_flag_enable(edge_net_new[edge_net_new_index], BM_ELEM_TAG);
 				edge_net_new_index++;
 				args.edge_arr_new_len++;
 			}
@@ -1220,7 +1219,6 @@ bool BM_face_split_edgenet_connect_islands(
 				BMVert *v_end = vert_arr[index_other];
 
 				edge_net_new[edge_net_new_index] = BM_edge_create(bm, v_origin, v_end, NULL, 0);
-				BM_elem_flag_enable(edge_net_new[edge_net_new_index], BM_ELEM_TAG);
 				edge_net_new_index++;
 				args.edge_arr_new_len++;
 
diff --git a/source/blender/bmesh/tools/bmesh_intersect.c b/source/blender/bmesh/tools/bmesh_intersect.c
index 6930c48..2f18d1d 100644
--- a/source/blender/bmesh/tools/bmesh_intersect.c
+++ b/source/blender/bmesh/tools/bmesh_intersect.c
@@ -283,6 +283,11 @@ static void face_edges_split(
 		        mem_arena_edgenet,
 		        &edge_arr_holes, &edge_arr_holes_len))
 		{
+			/* newly created wire edges need to be tagged */
+			for (i = edge_arr_len; i < edge_arr_holes_len; i++) {
+				BM_elem_flag_enable(edge_arr_holes[i], BM_ELEM_TAG);
+			}
+
 			edge_arr_len = edge_arr_holes_len;
 			edge_arr = edge_arr_holes;  /* owned by the arena */
 		}




More information about the Bf-blender-cvs mailing list