diff options
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_structure_inline.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_structure_inline.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_structure_inline.h b/source/blender/bmesh/intern/bmesh_structure_inline.h index c29acaa724c..5b7e890f5ea 100644 --- a/source/blender/bmesh/intern/bmesh_structure_inline.h +++ b/source/blender/bmesh/intern/bmesh_structure_inline.h @@ -27,6 +27,12 @@ #ifndef __BMESH_STRUCTURE_INLINE_H__ #define __BMESH_STRUCTURE_INLINE_H__ +BLI_INLINE BMDiskLink *bmesh_disk_edge_link_from_vert(const BMEdge *e, const BMVert *v) +{ + BLI_assert(BM_vert_in_edge(e, v)); + return (BMDiskLink *)&(&e->v1_disk_link)[v == e->v2]; +} + /** * \brief Next Disk Edge * @@ -34,7 +40,7 @@ * * \return Pointer to the next edge in the disk cycle for the vertex v. */ -BLI_INLINE BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v) +BLI_INLINE BMEdge *bmesh_disk_edge_next_safe(const BMEdge *e, const BMVert *v) { if (v == e->v1) return e->v1_disk_link.next; @@ -43,7 +49,7 @@ BLI_INLINE BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v) return NULL; } -BLI_INLINE BMEdge *bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v) +BLI_INLINE BMEdge *bmesh_disk_edge_prev_safe(const BMEdge *e, const BMVert *v) { if (v == e->v1) return e->v1_disk_link.prev; @@ -52,4 +58,14 @@ BLI_INLINE BMEdge *bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v) return NULL; } +BLI_INLINE BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v) +{ + return BM_DISK_EDGE_NEXT(e, v); +} + +BLI_INLINE BMEdge *bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v) +{ + return BM_DISK_EDGE_PREV(e, v); +} + #endif /* __BMESH_STRUCTURE_INLINE_H__ */ |