Blender V4.3
bmesh_structure_inline.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
14 BLI_INLINE BMDiskLink *bmesh_disk_edge_link_from_vert(const BMEdge *e, const BMVert *v)
15{
17 return (BMDiskLink *)&(&e->v1_disk_link)[v == e->v2];
18}
19
29{
30 if (v == e->v1) {
31 return e->v1_disk_link.next;
32 }
33 if (v == e->v2) {
34 return e->v2_disk_link.next;
35 }
36 return NULL;
37}
38
41{
42 if (v == e->v1) {
43 return e->v1_disk_link.prev;
44 }
45 if (v == e->v2) {
46 return e->v2_disk_link.prev;
47 }
48 return NULL;
49}
50
52 const BMVert *v)
53{
54 return BM_DISK_EDGE_NEXT(e, v);
55}
56
58 const BMVert *v)
59{
60 return BM_DISK_EDGE_PREV(e, v);
61}
#define BLI_assert(a)
Definition BLI_assert.h:50
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
#define BLI_INLINE
#define BM_DISK_EDGE_NEXT(e, v)
#define BM_DISK_EDGE_PREV(e, v)
BLI_INLINE bool BM_vert_in_edge(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
BLI_INLINE BMEdge * bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE BMEdge * bmesh_disk_edge_next_safe(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE BMEdge * bmesh_disk_edge_prev_safe(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE BMEdge * bmesh_disk_edge_next(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
ATTR_WARN_UNUSED_RESULT const BMVert * v
#define NULL