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:
Campbell Barton
2015-04-30 01:45:20 +10:00
parent 7aab5c6ca9
commit 67fcb04bbf
3 changed files with 13 additions and 13 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}
/**

View File

@@ -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();