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