Blender  V3.3
bmesh_structure_inline.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
9 #pragma once
10 
12  BLI_INLINE BMDiskLink *bmesh_disk_edge_link_from_vert(const BMEdge *e, const BMVert *v)
13 {
15  return (BMDiskLink *)&(&e->v1_disk_link)[v == e->v2];
16 }
17 
27 {
28  if (v == e->v1) {
29  return e->v1_disk_link.next;
30  }
31  if (v == e->v2) {
32  return e->v2_disk_link.next;
33  }
34  return NULL;
35 }
36 
39 {
40  if (v == e->v1) {
41  return e->v1_disk_link.prev;
42  }
43  if (v == e->v2) {
44  return e->v2_disk_link.prev;
45  }
46  return NULL;
47 }
48 
50  const BMVert *v)
51 {
52  return BM_DISK_EDGE_NEXT(e, v);
53 }
54 
56  const BMVert *v)
57 {
58  return BM_DISK_EDGE_PREV(e, v);
59 }
#define BLI_assert(a)
Definition: BLI_assert.h:46
#define ATTR_WARN_UNUSED_RESULT
#define BLI_INLINE
#define BM_DISK_EDGE_NEXT(e, v)
Definition: bmesh_class.h:625
#define BM_DISK_EDGE_PREV(e, v)
Definition: bmesh_class.h:630
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_next(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(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()
ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1, 2) BLI_INLINE BMDiskLink *bmesh_disk_edge_link_from_vert(const BMEdge *e
ATTR_WARN_UNUSED_RESULT const BMVert * v