Blender  V3.3
bmesh_operators.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #pragma once
4 
9 /* See comments in `intern/bmesh_opdefines.c` for documentation of specific operators. */
10 
11 /*--------defines/enumerations for specific operators-------*/
12 
13 /* Quad `innervert` values. */
14 enum {
19 };
20 
21 /* aligned with PROP_SMOOTH and friends */
22 enum {
28  SUBD_FALLOFF_INVSQUARE = 7, /* matching PROP_INVSQUARE */
29 };
30 
31 enum {
36 };
37 
38 /* subdivide_edgering */
39 enum {
40  /* just subdiv */
42 
43  /* single bezier spline - curve follows bezier rotation */
45 
46  /* beziers based on adjacent faces (fallback to tangent) */
48 };
49 
50 /* similar face selection slot values */
51 enum {
61 };
62 
63 /* similar edge selection slot values */
64 enum {
74 };
75 
76 /* similar vertex selection slot values */
77 enum {
83 };
84 
85 /* Poke face center calculation */
86 enum {
90 };
91 
92 /* Bevel offset_type slot values */
93 enum {
99 };
100 
101 /* Bevel profile type */
102 enum {
105 };
106 
107 /* Bevel face_strength_mode values: should match face_str mode enum in DNA_modifier_types.h */
108 enum {
113 };
114 
115 /* Bevel miter slot values */
116 enum {
120 };
121 
122 /* Bevel vertex mesh creation methods */
123 enum {
126 };
127 
128 /* Bevel affect option. */
129 enum {
132 };
133 
134 /* Normal Face Strength values */
135 enum {
139 };
140 
141 extern const BMOpDefine *bmo_opdefines[];
142 extern const int bmo_opdefines_total;
143 
144 /*------specific operator helper functions-------*/
146  char edge_hflag,
147  float smooth,
148  short smooth_falloff,
149  bool use_smooth_even,
150  float fractal,
151  float along_normal,
152  int numcuts,
153  int seltype,
154  int cornertype,
155  short use_single_edge,
156  short use_grid_fill,
157  short use_only_quads,
158  int seed);
159 
169  BMesh *bm, uint x_segments, uint y_segments, short oflag, int cd_loop_uv_offset);
176 void BM_mesh_calc_uvs_sphere(BMesh *bm, short oflag, int cd_loop_uv_offset);
186  BMesh *bm, float mat[4][4], float radius, short oflag, int cd_loop_uv_offset);
199  float mat[4][4],
200  float radius_top,
201  float radius_bottom,
202  int segments,
203  bool cap_ends,
204  short oflag,
205  int cd_loop_uv_offset);
215 void BM_mesh_calc_uvs_cube(BMesh *bm, short oflag);
216 
unsigned int uint
Definition: BLI_sys_types.h:67
ATTR_WARN_UNUSED_RESULT BMesh * bm
ATTR_WARN_UNUSED_RESULT const BMFlagLayer const short oflag
@ SIMVERT_VGROUP
@ SIMVERT_FACE
@ SIMVERT_EDGE
@ SIMVERT_NORMAL
@ SIMVERT_CREASE
@ BEVEL_VMESH_ADJ
@ BEVEL_VMESH_CUTOFF
@ BEVEL_PROFILE_SUPERELLIPSE
@ BEVEL_PROFILE_CUSTOM
void BM_mesh_calc_uvs_sphere(BMesh *bm, short oflag, int cd_loop_uv_offset)
void BM_mesh_esubdivide(BMesh *bm, char edge_hflag, float smooth, short smooth_falloff, bool use_smooth_even, float fractal, float along_normal, int numcuts, int seltype, int cornertype, short use_single_edge, short use_grid_fill, short use_only_quads, int seed)
void BM_mesh_calc_uvs_cube(BMesh *bm, short oflag)
@ BEVEL_AFFECT_VERTICES
@ BEVEL_AFFECT_EDGES
@ FACE_STRENGTH_STRONG
@ FACE_STRENGTH_WEAK
@ FACE_STRENGTH_MEDIUM
@ SUBDIV_SELECT_ORIG
@ SUBDIV_SELECT_INNER
@ SUBDIV_SELECT_LOOPCUT
@ SUBDIV_SELECT_NONE
@ SIMEDGE_FACE_ANGLE
@ SIMEDGE_FACE
@ SIMEDGE_SHARP
@ SIMEDGE_DIR
@ SIMEDGE_BEVEL
@ SIMEDGE_FREESTYLE
@ SIMEDGE_CREASE
@ SIMEDGE_LENGTH
@ SIMEDGE_SEAM
@ BEVEL_FACE_STRENGTH_NONE
@ BEVEL_FACE_STRENGTH_AFFECTED
@ BEVEL_FACE_STRENGTH_NEW
@ BEVEL_FACE_STRENGTH_ALL
@ BEVEL_MITER_PATCH
@ BEVEL_MITER_SHARP
@ BEVEL_MITER_ARC
@ SUBD_RING_INTERP_SURF
@ SUBD_RING_INTERP_PATH
@ SUBD_RING_INTERP_LINEAR
@ SUBD_CORNER_FAN
@ SUBD_CORNER_STRAIGHT_CUT
@ SUBD_CORNER_PATH
@ SUBD_CORNER_INNERVERT
void BM_mesh_calc_uvs_circle(BMesh *bm, float mat[4][4], float radius, short oflag, int cd_loop_uv_offset)
const int bmo_opdefines_total
const BMOpDefine * bmo_opdefines[]
void BM_mesh_calc_uvs_cone(BMesh *bm, float mat[4][4], float radius_top, float radius_bottom, int segments, bool cap_ends, short oflag, int cd_loop_uv_offset)
@ SUBD_FALLOFF_SHARP
@ SUBD_FALLOFF_SMOOTH
@ SUBD_FALLOFF_INVSQUARE
@ SUBD_FALLOFF_SPHERE
@ SUBD_FALLOFF_LIN
@ SUBD_FALLOFF_ROOT
@ BEVEL_AMT_WIDTH
@ BEVEL_AMT_ABSOLUTE
@ BEVEL_AMT_PERCENT
@ BEVEL_AMT_OFFSET
@ BEVEL_AMT_DEPTH
void BM_mesh_calc_uvs_grid(BMesh *bm, uint x_segments, uint y_segments, short oflag, int cd_loop_uv_offset)
@ SIMFACE_MATERIAL
@ SIMFACE_FREESTYLE
@ SIMFACE_AREA
@ SIMFACE_PERIMETER
@ SIMFACE_NORMAL
@ SIMFACE_SMOOTH
@ SIMFACE_COPLANAR
@ SIMFACE_FACEMAP
@ SIMFACE_SIDES
@ BMOP_POKE_MEDIAN_WEIGHTED
@ BMOP_POKE_BOUNDS
@ BMOP_POKE_MEDIAN
static unsigned long seed
Definition: btSoftBody.h:39
smooth(Type::FLOAT, "mask_weight")