[Bf-blender-cvs] [8b1b320] master: BMesh: utility function to split off wire edges
Campbell Barton
noreply at git.blender.org
Wed Dec 16 19:26:58 CET 2015
Commit: 8b1b320c9fa6e27fd33746ada6da183ad2b88c9d
Author: Campbell Barton
Date: Thu Dec 17 05:02:14 2015 +1100
Branches: master
https://developer.blender.org/rB8b1b320c9fa6e27fd33746ada6da183ad2b88c9d
BMesh: utility function to split off wire edges
===================================================================
M source/blender/bmesh/intern/bmesh_core.c
M source/blender/bmesh/intern/bmesh_core.h
===================================================================
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index 7130d45..f459cc7 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -2499,6 +2499,30 @@ void BM_vert_separate_hflag(
}
}
+void BM_vert_separate_wire_hflag(
+ BMesh *UNUSED(bm), BMVert *v_dst, BMVert *v_src,
+ const char hflag)
+{
+ LinkNode *edges_hflag = NULL;
+ BMEdge *e_iter, *e_first;
+
+ e_iter = e_first = v_src->e;
+ do {
+ if (BM_elem_flag_test(e_iter, hflag)) {
+ if (BM_edge_is_wire(e_iter)) {
+ BLI_linklist_prepend_alloca(&edges_hflag, e_iter);
+ }
+ }
+ } while ((e_iter = BM_DISK_EDGE_NEXT(e_iter, v_src)) != e_first);
+
+ if (edges_hflag) {
+ do {
+ e_iter = edges_hflag->link;
+ bmesh_disk_vert_replace(e_iter, v_dst, v_src);
+ } while ((edges_hflag = edges_hflag->next));
+ }
+}
+
/** \} */
diff --git a/source/blender/bmesh/intern/bmesh_core.h b/source/blender/bmesh/intern/bmesh_core.h
index 08f916f..808967a 100644
--- a/source/blender/bmesh/intern/bmesh_core.h
+++ b/source/blender/bmesh/intern/bmesh_core.h
@@ -84,6 +84,9 @@ void BM_vert_separate(
void BM_vert_separate_hflag(
BMesh *bm, BMVert *v, const char hflag, const bool copy_select,
BMVert ***r_vout, int *r_vout_len);
+void BM_vert_separate_wire_hflag(
+ BMesh *bm, BMVert *v_dst, BMVert *v_src,
+ const char hflag);
/* EULER API - For modifying structure */
BMFace *bmesh_sfme(
More information about the Bf-blender-cvs
mailing list