From 77e351300bffc52eb8ac3cc35a0bedb49efab9a4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Sep 2012 05:11:38 +0000 Subject: code cleanup: replace BM_DISK_EDGE_LINK_GET define with inline function, that checks for the vertex not matching either of the edges verts. --- source/blender/bmesh/intern/bmesh_private.h | 6 ------ source/blender/bmesh/intern/bmesh_structure.c | 26 +++++++++++++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) (limited to 'source') diff --git a/source/blender/bmesh/intern/bmesh_private.h b/source/blender/bmesh/intern/bmesh_private.h index 73370de8cee..b3fe3676ab8 100644 --- a/source/blender/bmesh/intern/bmesh_private.h +++ b/source/blender/bmesh/intern/bmesh_private.h @@ -53,12 +53,6 @@ int bmesh_elem_check(void *element, const char htype); } (void)0 #endif -#define BM_DISK_EDGE_LINK_GET(e, v) ( \ - ((v) == ((BMEdge *)(e))->v1) ? \ - &((e)->v1_disk_link) : \ - &((e)->v2_disk_link) \ - ) - int bmesh_radial_length(BMLoop *l); int bmesh_disk_count(BMVert *v); diff --git a/source/blender/bmesh/intern/bmesh_structure.c b/source/blender/bmesh/intern/bmesh_structure.c index 2ff9e707b59..b58e61a3066 100644 --- a/source/blender/bmesh/intern/bmesh_structure.c +++ b/source/blender/bmesh/intern/bmesh_structure.c @@ -153,10 +153,22 @@ int bmesh_edge_swapverts(BMEdge *e, BMVert *orig, BMVert *newv) * advantage is that no intrinsic properties of the data structures are dependent upon the * cycle order and all non-manifold conditions are represented trivially. */ + +BLI_INLINE BMDiskLink *bmesh_disk_edge_link_from_vert(BMEdge *e, BMVert *v) +{ + if (v == e->v1) { + return &e->v1_disk_link; + } + else { + BLI_assert(v == e->v2); + return &e->v2_disk_link; + } +} + int bmesh_disk_edge_append(BMEdge *e, BMVert *v) { if (!v->e) { - BMDiskLink *dl1 = BM_DISK_EDGE_LINK_GET(e, v); + BMDiskLink *dl1 = bmesh_disk_edge_link_from_vert(e, v); v->e = e; dl1->next = dl1->prev = e; @@ -164,9 +176,9 @@ int bmesh_disk_edge_append(BMEdge *e, BMVert *v) else { BMDiskLink *dl1, *dl2, *dl3; - dl1 = BM_DISK_EDGE_LINK_GET(e, v); - dl2 = BM_DISK_EDGE_LINK_GET(v->e, v); - dl3 = dl2->prev ? BM_DISK_EDGE_LINK_GET(dl2->prev, v) : NULL; + dl1 = bmesh_disk_edge_link_from_vert(e, v); + dl2 = bmesh_disk_edge_link_from_vert(v->e, v); + dl3 = dl2->prev ? bmesh_disk_edge_link_from_vert(dl2->prev, v) : NULL; dl1->next = v->e; dl1->prev = dl2->prev; @@ -183,14 +195,14 @@ void bmesh_disk_edge_remove(BMEdge *e, BMVert *v) { BMDiskLink *dl1, *dl2; - dl1 = BM_DISK_EDGE_LINK_GET(e, v); + dl1 = bmesh_disk_edge_link_from_vert(e, v); if (dl1->prev) { - dl2 = BM_DISK_EDGE_LINK_GET(dl1->prev, v); + dl2 = bmesh_disk_edge_link_from_vert(dl1->prev, v); dl2->next = dl1->next; } if (dl1->next) { - dl2 = BM_DISK_EDGE_LINK_GET(dl1->next, v); + dl2 = bmesh_disk_edge_link_from_vert(dl1->next, v); dl2->prev = dl1->prev; } -- cgit v1.2.3