Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-09-12 09:11:38 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-09-12 09:11:38 +0400
commit77e351300bffc52eb8ac3cc35a0bedb49efab9a4 (patch)
tree2e8fe737906df9560e45c8052ea6d99c1d4ebf5d /source
parentbd5fdf63cbe49d8adebb33bf007789d9335c22ab (diff)
code cleanup: replace BM_DISK_EDGE_LINK_GET define with inline function, that checks for the vertex not matching either of the edges verts.
Diffstat (limited to 'source')
-rw-r--r--source/blender/bmesh/intern/bmesh_private.h6
-rw-r--r--source/blender/bmesh/intern/bmesh_structure.c26
2 files changed, 19 insertions, 13 deletions
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;
}