BMesh: minor change to swap-vert api
- assert if the verts not in the edge (all callers assume success) - rename to bmesh_disk_vert_swap - swap src/dst arg order.
This commit is contained in:
@@ -1512,7 +1512,7 @@ BMVert *bmesh_semv(BMesh *bm, BMVert *tv, BMEdge *e, BMEdge **r_e)
|
||||
bmesh_disk_edge_remove(e, tv);
|
||||
|
||||
/* swap out tv for v_new in e */
|
||||
bmesh_edge_swapverts(e, tv, v_new);
|
||||
bmesh_disk_vert_swap(e, v_new, tv);
|
||||
|
||||
/* add e to v_new's disk cycle */
|
||||
bmesh_disk_edge_append(e, v_new);
|
||||
@@ -1729,7 +1729,7 @@ BMEdge *bmesh_jekv(
|
||||
/* remove e_old from v_kill's disk cycle */
|
||||
bmesh_disk_edge_remove(e_old, v_kill);
|
||||
/* relink e_old->v_kill to be e_old->tv */
|
||||
bmesh_edge_swapverts(e_old, v_kill, tv);
|
||||
bmesh_disk_vert_swap(e_old, tv, v_kill);
|
||||
/* append e_old to tv's disk cycle */
|
||||
bmesh_disk_edge_append(e_old, tv);
|
||||
/* remove e_kill from tv's disk cycle */
|
||||
@@ -2066,7 +2066,7 @@ bool BM_vert_splice(BMesh *bm, BMVert *v, BMVert *v_target)
|
||||
|
||||
/* disk */
|
||||
bmesh_disk_edge_remove(e, v);
|
||||
bmesh_edge_swapverts(e, v, v_target);
|
||||
bmesh_disk_vert_swap(e, v_target, v);
|
||||
bmesh_disk_edge_append(e, v_target);
|
||||
BLI_assert(e->v1 != e->v2);
|
||||
}
|
||||
@@ -2188,7 +2188,7 @@ void bmesh_vert_separate(
|
||||
/* swap out edges */
|
||||
BLI_assert(e->v1 == v || e->v2 == v);
|
||||
bmesh_disk_edge_remove(e, v);
|
||||
bmesh_edge_swapverts(e, v, v_new);
|
||||
bmesh_disk_vert_swap(e, v_new, v);
|
||||
bmesh_disk_edge_append(e, v_new);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,19 +40,19 @@
|
||||
* MISC utility functions.
|
||||
*/
|
||||
|
||||
bool bmesh_edge_swapverts(BMEdge *e, BMVert *v_orig, BMVert *v_new)
|
||||
void bmesh_disk_vert_swap(BMEdge *e, BMVert *v_dst, BMVert *v_src)
|
||||
{
|
||||
if (e->v1 == v_orig) {
|
||||
e->v1 = v_new;
|
||||
if (e->v1 == v_src) {
|
||||
e->v1 = v_dst;
|
||||
e->v1_disk_link.next = e->v1_disk_link.prev = NULL;
|
||||
return true;
|
||||
}
|
||||
else if (e->v2 == v_orig) {
|
||||
e->v2 = v_new;
|
||||
else if (e->v2 == v_src) {
|
||||
e->v2 = v_dst;
|
||||
e->v2_disk_link.next = e->v2_disk_link.prev = NULL;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
else {
|
||||
BLI_assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -70,7 +70,7 @@ BMLoop *bmesh_radial_faceloop_find_vert(const BMFace *f, const BMVert *v) ATTR_W
|
||||
bool bmesh_radial_validate(int radlen, BMLoop *l) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
|
||||
|
||||
/* EDGE UTILITIES */
|
||||
bool bmesh_edge_swapverts(BMEdge *e, BMVert *v_orig, BMVert *v_new) ATTR_NONNULL();
|
||||
void bmesh_disk_vert_swap(BMEdge *e, BMVert *v_dst, BMVert *v_src) ATTR_NONNULL();
|
||||
BMEdge *bmesh_disk_edge_exists(const BMVert *v1, const BMVert *v2) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
|
||||
bool bmesh_disk_validate(int len, BMEdge *e, BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user