Blender  V2.93
bmesh_walkers_private.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
17 #pragma once
18 
25 extern BMWalker *bm_walker_types[];
26 extern const int bm_totwalkers;
27 
28 /* Pointer hiding */
29 typedef struct BMwGenericWalker {
31  int depth;
33 
34 typedef struct BMwShellWalker {
38 
39 typedef struct BMwLoopShellWalker {
43 
44 typedef struct BMwLoopShellWireWalker {
48 
49 typedef struct BMwIslandboundWalker {
55 
56 typedef struct BMwIslandWalker {
60 
61 typedef struct BMwEdgeLoopWalker {
66  bool is_boundary; /* boundary looping changes behavior */
67  bool is_single; /* single means the edge verts are only connected to 1 face */
69 
70 typedef struct BMwFaceLoopWalker {
73  bool no_calc;
75 
76 typedef struct BMwEdgeringWalker {
81 
82 typedef struct BMwEdgeboundaryWalker {
86 
91  int face_count; /* face count around the edge. */
93 
94 typedef struct BMwUVEdgeWalker {
98 
99 typedef struct BMwConnectedVertexWalker {
struct BMwNonManifoldEdgeLoopWalker BMwNonManifoldEdgeLoopWalker
struct BMwIslandWalker BMwIslandWalker
struct BMwFaceLoopWalker BMwFaceLoopWalker
struct BMwGenericWalker BMwGenericWalker
struct BMwEdgeLoopWalker BMwEdgeLoopWalker
const int bm_totwalkers
struct BMwIslandboundWalker BMwIslandboundWalker
struct BMwEdgeringWalker BMwEdgeringWalker
struct BMwConnectedVertexWalker BMwConnectedVertexWalker
struct BMwLoopShellWalker BMwLoopShellWalker
struct BMwEdgeboundaryWalker BMwEdgeboundaryWalker
struct BMwLoopShellWireWalker BMwLoopShellWireWalker
struct BMwShellWalker BMwShellWalker
struct BMwUVEdgeWalker BMwUVEdgeWalker
BMWalker * bm_walker_types[]
BMwGenericWalker header
BMwGenericWalker header
BMwGenericWalker header
BMwGenericWalker header
BMwGenericWalker header
BMwGenericWalker header
BMwGenericWalker header