Blender
V4.3
source
blender
bmesh
intern
bmesh_walkers_private.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
5
#pragma once
6
12
13
extern
BMWalker
*
bm_walker_types
[];
14
extern
const
int
bm_totwalkers
;
15
16
/* Pointer hiding */
17
typedef
struct
BMwGenericWalker
{
18
Link
link
;
19
int
depth
;
20
}
BMwGenericWalker
;
21
22
typedef
struct
BMwShellWalker
{
23
BMwGenericWalker
header
;
24
BMEdge
*
curedge
;
25
}
BMwShellWalker
;
26
27
typedef
struct
BMwLoopShellWalker
{
28
BMwGenericWalker
header
;
29
BMLoop
*
curloop
;
30
}
BMwLoopShellWalker
;
31
32
typedef
struct
BMwLoopShellWireWalker
{
33
BMwGenericWalker
header
;
34
BMElem
*
curelem
;
35
}
BMwLoopShellWireWalker
;
36
37
typedef
struct
BMwIslandboundWalker
{
38
BMwGenericWalker
header
;
39
BMLoop
*
base
;
40
BMVert
*
lastv
;
41
BMLoop
*
curloop
;
42
}
BMwIslandboundWalker
;
43
44
typedef
struct
BMwIslandWalker
{
45
BMwGenericWalker
header
;
46
BMFace
*
cur
;
47
}
BMwIslandWalker
;
48
49
typedef
struct
BMwEdgeLoopWalker
{
50
BMwGenericWalker
header
;
51
BMEdge
*
cur
, *
start
;
52
BMVert
*
lastv
, *
startv
;
53
BMFace
*
f_hub
;
54
bool
is_boundary
;
/* boundary looping changes behavior */
55
bool
is_single
;
/* single means the edge verts are only connected to 1 face */
56
}
BMwEdgeLoopWalker
;
57
58
typedef
struct
BMwFaceLoopWalker
{
59
BMwGenericWalker
header
;
60
BMLoop
*
l
;
61
bool
no_calc
;
62
}
BMwFaceLoopWalker
;
63
64
typedef
struct
BMwEdgeringWalker
{
65
BMwGenericWalker
header
;
66
BMLoop
*
l
;
67
BMEdge
*
wireedge
;
68
}
BMwEdgeringWalker
;
69
70
typedef
struct
BMwEdgeboundaryWalker
{
71
BMwGenericWalker
header
;
72
BMEdge
*
e
;
73
}
BMwEdgeboundaryWalker
;
74
75
typedef
struct
BMwNonManifoldEdgeLoopWalker
{
76
BMwGenericWalker
header
;
77
BMEdge
*
start
, *
cur
;
78
BMVert
*
startv
, *
lastv
;
79
int
face_count
;
/* face count around the edge. */
80
}
BMwNonManifoldEdgeLoopWalker
;
81
82
typedef
struct
BMwUVEdgeWalker
{
83
BMwGenericWalker
header
;
84
BMLoop
*
l
;
85
}
BMwUVEdgeWalker
;
86
87
typedef
struct
BMwConnectedVertexWalker
{
88
BMwGenericWalker
header
;
89
BMVert
*
curvert
;
90
}
BMwConnectedVertexWalker
;
bm_totwalkers
const int bm_totwalkers
Definition
bmesh_walkers_impl.cc:1883
bm_walker_types
BMWalker * bm_walker_types[]
Definition
bmesh_walkers_impl.cc:1866
BMEdge
Definition
bmesh_class.hh:112
BMElem
Definition
bmesh_class.hh:244
BMFace
Definition
bmesh_class.hh:256
BMLoop
Definition
bmesh_class.hh:146
BMVert
Definition
bmesh_class.hh:86
BMWalker
Definition
bmesh_walkers.hh:26
BMwConnectedVertexWalker
Definition
bmesh_walkers_private.hh:87
BMwConnectedVertexWalker::curvert
BMVert * curvert
Definition
bmesh_walkers_private.hh:89
BMwConnectedVertexWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:88
BMwEdgeLoopWalker
Definition
bmesh_walkers_private.hh:49
BMwEdgeLoopWalker::is_single
bool is_single
Definition
bmesh_walkers_private.hh:55
BMwEdgeLoopWalker::f_hub
BMFace * f_hub
Definition
bmesh_walkers_private.hh:53
BMwEdgeLoopWalker::cur
BMEdge * cur
Definition
bmesh_walkers_private.hh:51
BMwEdgeLoopWalker::lastv
BMVert * lastv
Definition
bmesh_walkers_private.hh:52
BMwEdgeLoopWalker::is_boundary
bool is_boundary
Definition
bmesh_walkers_private.hh:54
BMwEdgeLoopWalker::start
BMEdge * start
Definition
bmesh_walkers_private.hh:51
BMwEdgeLoopWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:50
BMwEdgeLoopWalker::startv
BMVert * startv
Definition
bmesh_walkers_private.hh:52
BMwEdgeboundaryWalker
Definition
bmesh_walkers_private.hh:70
BMwEdgeboundaryWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:71
BMwEdgeboundaryWalker::e
BMEdge * e
Definition
bmesh_walkers_private.hh:72
BMwEdgeringWalker
Definition
bmesh_walkers_private.hh:64
BMwEdgeringWalker::wireedge
BMEdge * wireedge
Definition
bmesh_walkers_private.hh:67
BMwEdgeringWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:65
BMwEdgeringWalker::l
BMLoop * l
Definition
bmesh_walkers_private.hh:66
BMwFaceLoopWalker
Definition
bmesh_walkers_private.hh:58
BMwFaceLoopWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:59
BMwFaceLoopWalker::l
BMLoop * l
Definition
bmesh_walkers_private.hh:60
BMwFaceLoopWalker::no_calc
bool no_calc
Definition
bmesh_walkers_private.hh:61
BMwGenericWalker
Definition
bmesh_walkers_private.hh:17
BMwGenericWalker::link
Link link
Definition
bmesh_walkers_private.hh:18
BMwGenericWalker::depth
int depth
Definition
bmesh_walkers_private.hh:19
BMwIslandWalker
Definition
bmesh_walkers_private.hh:44
BMwIslandWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:45
BMwIslandWalker::cur
BMFace * cur
Definition
bmesh_walkers_private.hh:46
BMwIslandboundWalker
Definition
bmesh_walkers_private.hh:37
BMwIslandboundWalker::lastv
BMVert * lastv
Definition
bmesh_walkers_private.hh:40
BMwIslandboundWalker::curloop
BMLoop * curloop
Definition
bmesh_walkers_private.hh:41
BMwIslandboundWalker::base
BMLoop * base
Definition
bmesh_walkers_private.hh:39
BMwIslandboundWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:38
BMwLoopShellWalker
Definition
bmesh_walkers_private.hh:27
BMwLoopShellWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:28
BMwLoopShellWalker::curloop
BMLoop * curloop
Definition
bmesh_walkers_private.hh:29
BMwLoopShellWireWalker
Definition
bmesh_walkers_private.hh:32
BMwLoopShellWireWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:33
BMwLoopShellWireWalker::curelem
BMElem * curelem
Definition
bmesh_walkers_private.hh:34
BMwNonManifoldEdgeLoopWalker
Definition
bmesh_walkers_private.hh:75
BMwNonManifoldEdgeLoopWalker::startv
BMVert * startv
Definition
bmesh_walkers_private.hh:78
BMwNonManifoldEdgeLoopWalker::face_count
int face_count
Definition
bmesh_walkers_private.hh:79
BMwNonManifoldEdgeLoopWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:76
BMwNonManifoldEdgeLoopWalker::lastv
BMVert * lastv
Definition
bmesh_walkers_private.hh:78
BMwNonManifoldEdgeLoopWalker::cur
BMEdge * cur
Definition
bmesh_walkers_private.hh:77
BMwNonManifoldEdgeLoopWalker::start
BMEdge * start
Definition
bmesh_walkers_private.hh:77
BMwShellWalker
Definition
bmesh_walkers_private.hh:22
BMwShellWalker::curedge
BMEdge * curedge
Definition
bmesh_walkers_private.hh:24
BMwShellWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:23
BMwUVEdgeWalker
Definition
bmesh_walkers_private.hh:82
BMwUVEdgeWalker::l
BMLoop * l
Definition
bmesh_walkers_private.hh:84
BMwUVEdgeWalker::header
BMwGenericWalker header
Definition
bmesh_walkers_private.hh:83
Link
Definition
DNA_listBase.h:16
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0