fake-bpy-module-latest 20260113__py3-none-any.whl → 20260114__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- _bl_console_utils/autocomplete/complete_calltip/__init__.pyi +0 -13
- _bl_console_utils/autocomplete/complete_import/__init__.pyi +0 -5
- _bl_console_utils/autocomplete/complete_namespace/__init__.pyi +0 -11
- _bl_console_utils/autocomplete/intellisense/__init__.pyi +0 -10
- _bpy_types/__init__.pyi +1 -122
- _rna_info/__init__.pyi +0 -1
- addon_utils/__init__.pyi +0 -13
- aud/__init__.pyi +0 -146
- bl_math/__init__.pyi +0 -12
- bl_operators/add_mesh_torus/__init__.pyi +0 -2
- bl_operators/anim/__init__.pyi +0 -26
- bl_operators/assets/__init__.pyi +0 -6
- bl_operators/bone_selection_sets/__init__.pyi +0 -28
- bl_operators/clip/__init__.pyi +0 -20
- bl_operators/connect_to_output/__init__.pyi +0 -2
- bl_operators/console/__init__.pyi +0 -10
- bl_operators/constraint/__init__.pyi +0 -8
- bl_operators/copy_global_transform/__init__.pyi +0 -10
- bl_operators/file/__init__.pyi +0 -6
- bl_operators/freestyle/__init__.pyi +0 -8
- bl_operators/geometry_nodes/__init__.pyi +0 -8
- bl_operators/grease_pencil/__init__.pyi +0 -2
- bl_operators/image/__init__.pyi +0 -10
- bl_operators/image_as_planes/__init__.pyi +0 -4
- bl_operators/mesh/__init__.pyi +0 -4
- bl_operators/node/__init__.pyi +0 -44
- bl_operators/object/__init__.pyi +0 -30
- bl_operators/object_align/__init__.pyi +0 -2
- bl_operators/object_quick_effects/__init__.pyi +0 -8
- bl_operators/object_randomize_transform/__init__.pyi +0 -2
- bl_operators/presets/__init__.pyi +0 -50
- bl_operators/rigidbody/__init__.pyi +0 -6
- bl_operators/screen_play_rendered_anim/__init__.pyi +0 -2
- bl_operators/sequencer/__init__.pyi +0 -16
- bl_operators/spreadsheet/__init__.pyi +0 -2
- bl_operators/userpref/__init__.pyi +0 -50
- bl_operators/uvcalc_follow_active/__init__.pyi +0 -2
- bl_operators/uvcalc_lightmap/__init__.pyi +0 -2
- bl_operators/uvcalc_transform/__init__.pyi +0 -4
- bl_operators/vertexpaint_dirt/__init__.pyi +0 -2
- bl_operators/view3d/__init__.pyi +0 -16
- bl_operators/wm/__init__.pyi +0 -92
- bl_operators/world/__init__.pyi +0 -2
- bl_ui/__init__.pyi +0 -4
- bl_ui/anim/__init__.pyi +0 -2
- bl_ui/asset_shelf/__init__.pyi +0 -2
- bl_ui/generic_ui_list/__init__.pyi +1 -17
- bl_ui/node_add_menu/__init__.pyi +0 -10
- bl_ui/node_add_menu_compositor/__init__.pyi +0 -38
- bl_ui/node_add_menu_geometry/__init__.pyi +0 -112
- bl_ui/node_add_menu_shader/__init__.pyi +0 -20
- bl_ui/node_add_menu_texture/__init__.pyi +0 -16
- bl_ui/properties_collection/__init__.pyi +0 -14
- bl_ui/properties_constraint/__init__.pyi +0 -154
- bl_ui/properties_data_armature/__init__.pyi +0 -36
- bl_ui/properties_data_bone/__init__.pyi +0 -20
- bl_ui/properties_data_camera/__init__.pyi +0 -30
- bl_ui/properties_data_curve/__init__.pyi +0 -30
- bl_ui/properties_data_curves/__init__.pyi +0 -16
- bl_ui/properties_data_empty/__init__.pyi +0 -4
- bl_ui/properties_data_grease_pencil/__init__.pyi +0 -40
- bl_ui/properties_data_lattice/__init__.pyi +0 -8
- bl_ui/properties_data_light/__init__.pyi +0 -20
- bl_ui/properties_data_lightprobe/__init__.pyi +0 -28
- bl_ui/properties_data_mesh/__init__.pyi +0 -42
- bl_ui/properties_data_metaball/__init__.pyi +0 -12
- bl_ui/properties_data_modifier/__init__.pyi +0 -18
- bl_ui/properties_data_pointcloud/__init__.pyi +0 -12
- bl_ui/properties_data_shaderfx/__init__.pyi +0 -2
- bl_ui/properties_data_speaker/__init__.pyi +0 -12
- bl_ui/properties_data_volume/__init__.pyi +0 -18
- bl_ui/properties_freestyle/__init__.pyi +0 -50
- bl_ui/properties_grease_pencil_common/__init__.pyi +0 -14
- bl_ui/properties_mask_common/__init__.pyi +0 -14
- bl_ui/properties_material/__init__.pyi +0 -32
- bl_ui/properties_material_gpencil/__init__.pyi +0 -22
- bl_ui/properties_object/__init__.pyi +0 -44
- bl_ui/properties_output/__init__.pyi +0 -40
- bl_ui/properties_paint_common/__init__.pyi +0 -4
- bl_ui/properties_particle/__init__.pyi +0 -106
- bl_ui/properties_physics_cloth/__init__.pyi +0 -28
- bl_ui/properties_physics_common/__init__.pyi +0 -2
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +0 -44
- bl_ui/properties_physics_field/__init__.pyi +0 -20
- bl_ui/properties_physics_fluid/__init__.pyi +0 -56
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +0 -2
- bl_ui/properties_physics_rigidbody/__init__.pyi +0 -16
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +0 -26
- bl_ui/properties_physics_softbody/__init__.pyi +0 -30
- bl_ui/properties_render/__init__.pyi +0 -90
- bl_ui/properties_scene/__init__.pyi +0 -34
- bl_ui/properties_strip/__init__.pyi +0 -42
- bl_ui/properties_strip_modifier/__init__.pyi +0 -2
- bl_ui/properties_texture/__init__.pyi +0 -54
- bl_ui/properties_view_layer/__init__.pyi +0 -28
- bl_ui/properties_workspace/__init__.pyi +0 -8
- bl_ui/properties_world/__init__.pyi +0 -22
- bl_ui/space_clip/__init__.pyi +0 -150
- bl_ui/space_console/__init__.pyi +0 -12
- bl_ui/space_dopesheet/__init__.pyi +0 -64
- bl_ui/space_filebrowser/__init__.pyi +0 -60
- bl_ui/space_graph/__init__.pyi +0 -44
- bl_ui/space_image/__init__.pyi +0 -142
- bl_ui/space_info/__init__.pyi +0 -12
- bl_ui/space_nla/__init__.pyi +0 -36
- bl_ui/space_node/__init__.pyi +0 -66
- bl_ui/space_outliner/__init__.pyi +0 -30
- bl_ui/space_properties/__init__.pyi +0 -8
- bl_ui/space_sequencer/__init__.pyi +0 -136
- bl_ui/space_spreadsheet/__init__.pyi +0 -6
- bl_ui/space_statusbar/__init__.pyi +0 -2
- bl_ui/space_text/__init__.pyi +0 -32
- bl_ui/space_time/__init__.pyi +0 -12
- bl_ui/space_topbar/__init__.pyi +0 -52
- bl_ui/space_userpref/__init__.pyi +0 -186
- bl_ui/space_view3d/__init__.pyi +0 -536
- bl_ui/space_view3d_sidebar/__init__.pyi +0 -8
- bl_ui/space_view3d_toolbar/__init__.pyi +0 -162
- blf/__init__.pyi +0 -47
- bmesh/__init__.pyi +0 -7
- bmesh/geometry/__init__.pyi +0 -3
- bmesh/ops/__init__.pyi +0 -451
- bmesh/types/__init__.pyi +65 -427
- bmesh/utils/__init__.pyi +0 -44
- bpy/app/__init__.pyi +0 -5
- bpy/app/icons/__init__.pyi +0 -6
- bpy/app/timers/__init__.pyi +0 -6
- bpy/app/translations/__init__.pyi +0 -15
- bpy/msgbus/__init__.pyi +1 -4
- bpy/ops/action/__init__.pyi +15 -165
- bpy/ops/anim/__init__.pyi +27 -274
- bpy/ops/armature/__init__.pyi +17 -191
- bpy/ops/asset/__init__.pyi +11 -97
- bpy/ops/boid/__init__.pyi +7 -38
- bpy/ops/brush/__init__.pyi +3 -72
- bpy/ops/buttons/__init__.pyi +4 -71
- bpy/ops/cachefile/__init__.pyi +2 -63
- bpy/ops/camera/__init__.pyi +0 -11
- bpy/ops/clip/__init__.pyi +43 -427
- bpy/ops/cloth/__init__.pyi +0 -5
- bpy/ops/collection/__init__.pyi +2 -34
- bpy/ops/console/__init__.pyi +10 -88
- bpy/ops/constraint/__init__.pyi +3 -80
- bpy/ops/curve/__init__.pyi +23 -254
- bpy/ops/curves/__init__.pyi +15 -164
- bpy/ops/cycles/__init__.pyi +1 -14
- bpy/ops/dpaint/__init__.pyi +3 -21
- bpy/ops/ed/__init__.pyi +10 -82
- bpy/ops/export_anim/__init__.pyi +0 -11
- bpy/ops/export_scene/__init__.pyi +0 -154
- bpy/ops/extensions/__init__.pyi +15 -150
- bpy/ops/file/__init__.pyi +27 -217
- bpy/ops/fluid/__init__.pyi +13 -70
- bpy/ops/font/__init__.pyi +10 -134
- bpy/ops/geometry/__init__.pyi +3 -41
- bpy/ops/gizmogroup/__init__.pyi +1 -12
- bpy/ops/gpencil/__init__.pyi +5 -38
- bpy/ops/graph/__init__.pyi +18 -316
- bpy/ops/grease_pencil/__init__.pyi +27 -522
- bpy/ops/image/__init__.pyi +19 -379
- bpy/ops/import_anim/__init__.pyi +0 -14
- bpy/ops/import_curve/__init__.pyi +0 -6
- bpy/ops/import_scene/__init__.pyi +0 -50
- bpy/ops/info/__init__.pyi +4 -35
- bpy/ops/lattice/__init__.pyi +3 -33
- bpy/ops/marker/__init__.pyi +2 -50
- bpy/ops/mask/__init__.pyi +17 -176
- bpy/ops/material/__init__.pyi +3 -15
- bpy/ops/mball/__init__.pyi +1 -30
- bpy/ops/mesh/__init__.pyi +30 -913
- bpy/ops/nla/__init__.pyi +19 -183
- bpy/ops/node/__init__.pyi +53 -745
- bpy/ops/object/__init__.pyi +75 -1285
- bpy/ops/outliner/__init__.pyi +47 -327
- bpy/ops/paint/__init__.pyi +14 -279
- bpy/ops/paintcurve/__init__.pyi +4 -36
- bpy/ops/palette/__init__.pyi +3 -27
- bpy/ops/particle/__init__.pyi +20 -160
- bpy/ops/pointcloud/__init__.pyi +3 -35
- bpy/ops/pose/__init__.pyi +25 -230
- bpy/ops/poselib/__init__.pyi +4 -47
- bpy/ops/preferences/__init__.pyi +9 -177
- bpy/ops/ptcache/__init__.pyi +5 -31
- bpy/ops/render/__init__.pyi +3 -70
- bpy/ops/rigidbody/__init__.pyi +6 -56
- bpy/ops/scene/__init__.pyi +22 -167
- bpy/ops/screen/__init__.pyi +19 -214
- bpy/ops/script/__init__.pyi +1 -12
- bpy/ops/sculpt/__init__.pyi +7 -271
- bpy/ops/sculpt_curves/__init__.pyi +1 -20
- bpy/ops/sequencer/__init__.pyi +36 -672
- bpy/ops/sound/__init__.pyi +3 -109
- bpy/ops/spreadsheet/__init__.pyi +5 -32
- bpy/ops/surface/__init__.pyi +0 -48
- bpy/ops/text/__init__.pyi +25 -226
- bpy/ops/text_editor/__init__.pyi +0 -5
- bpy/ops/texture/__init__.pyi +3 -18
- bpy/ops/transform/__init__.pyi +2 -381
- bpy/ops/ui/__init__.pyi +21 -158
- bpy/ops/uilist/__init__.pyi +0 -13
- bpy/ops/uv/__init__.pyi +9 -316
- bpy/ops/view2d/__init__.pyi +3 -73
- bpy/ops/view3d/__init__.pyi +37 -339
- bpy/ops/wm/__init__.pyi +25 -1308
- bpy/ops/workspace/__init__.pyi +7 -39
- bpy/ops/world/__init__.pyi +2 -10
- bpy/path/__init__.pyi +0 -34
- bpy/props/__init__.pyi +12 -148
- bpy/types/__init__.pyi +9867 -55713
- bpy/utils/__init__.pyi +2 -73
- bpy/utils/previews/__init__.pyi +0 -9
- bpy/utils/units/__init__.pyi +0 -12
- bpy_extras/anim_utils/__init__.pyi +0 -8
- bpy_extras/bmesh_utils/__init__.pyi +0 -1
- bpy_extras/id_map_utils/__init__.pyi +4 -5
- bpy_extras/image_utils/__init__.pyi +0 -9
- bpy_extras/io_utils/__init__.pyi +2 -22
- bpy_extras/mesh_utils/__init__.pyi +0 -12
- bpy_extras/object_utils/__init__.pyi +0 -14
- bpy_extras/view3d_utils/__init__.pyi +0 -18
- {fake_bpy_module_latest-20260113.dist-info → fake_bpy_module_latest-20260114.dist-info}/METADATA +2 -1
- fake_bpy_module_latest-20260114.dist-info/RECORD +382 -0
- freestyle/chainingiterators/__init__.pyi +0 -22
- freestyle/functions/__init__.pyi +0 -139
- freestyle/predicates/__init__.pyi +0 -51
- freestyle/shaders/__init__.pyi +0 -65
- freestyle/types/__init__.pyi +139 -777
- freestyle/utils/ContextFunctions/__init__.pyi +0 -23
- freestyle/utils/__init__.pyi +0 -6
- gpu/capabilities/__init__.pyi +0 -21
- gpu/matrix/__init__.pyi +0 -9
- gpu/platform/__init__.pyi +0 -5
- gpu/shader/__init__.pyi +0 -5
- gpu/state/__init__.pyi +0 -29
- gpu/texture/__init__.pyi +0 -2
- gpu/types/__init__.pyi +10 -149
- gpu_extras/batch/__init__.pyi +0 -4
- gpu_extras/presets/__init__.pyi +0 -9
- idprop/types/__init__.pyi +0 -4
- imbuf/__init__.pyi +0 -7
- imbuf/types/__init__.pyi +5 -25
- keyingsets_builtins/__init__.pyi +0 -44
- mathutils/__init__.pyi +46 -2160
- mathutils/bvhtree/__init__.pyi +1 -24
- mathutils/geometry/__init__.pyi +0 -129
- mathutils/interpolate/__init__.pyi +0 -3
- mathutils/kdtree/__init__.pyi +0 -11
- mathutils/noise/__init__.pyi +0 -62
- fake_bpy_module_latest-20260113.dist-info/RECORD +0 -382
- {fake_bpy_module_latest-20260113.dist-info → fake_bpy_module_latest-20260114.dist-info}/WHEEL +0 -0
- {fake_bpy_module_latest-20260113.dist-info → fake_bpy_module_latest-20260114.dist-info}/top_level.txt +0 -0
bmesh/ops/__init__.pyi
CHANGED
|
@@ -29,9 +29,7 @@ def average_vert_facedata(
|
|
|
29
29
|
the vert_snap_to_bb_center is just too long).
|
|
30
30
|
|
|
31
31
|
:param bm: The bmesh to operate on.
|
|
32
|
-
:type bm: bmesh.types.BMesh
|
|
33
32
|
:param verts: Input vertices.
|
|
34
|
-
:type verts: list[bmesh.types.BMVert]
|
|
35
33
|
"""
|
|
36
34
|
|
|
37
35
|
def beautify_fill(
|
|
@@ -44,20 +42,14 @@ def beautify_fill(
|
|
|
44
42
|
"""Beautify Fill.Rotate edges to create more evenly spaced triangles.
|
|
45
43
|
|
|
46
44
|
:param bm: The bmesh to operate on.
|
|
47
|
-
:type bm: bmesh.types.BMesh
|
|
48
45
|
:param faces: Input faces.
|
|
49
|
-
:type faces: list[bmesh.types.BMFace]
|
|
50
46
|
:param edges: Edges that can be flipped.
|
|
51
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
52
47
|
:param use_restrict_tag: Restrict edge rotation to mixed tagged vertices.
|
|
53
|
-
:type use_restrict_tag: bool
|
|
54
48
|
:param method: Method to define what is beautiful.
|
|
55
|
-
:type method: typing.Literal['AREA','ANGLE']
|
|
56
49
|
:return: geom:
|
|
57
50
|
New flipped faces and edges.
|
|
58
51
|
|
|
59
52
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
60
|
-
:rtype: dict[str, typing.Any]
|
|
61
53
|
"""
|
|
62
54
|
|
|
63
55
|
def bevel(
|
|
@@ -89,45 +81,25 @@ def bevel(
|
|
|
89
81
|
"""Bevel.Bevels edges and vertices
|
|
90
82
|
|
|
91
83
|
:param bm: The bmesh to operate on.
|
|
92
|
-
:type bm: bmesh.types.BMesh
|
|
93
84
|
:param geom: Input edges and vertices.
|
|
94
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
95
85
|
:param offset: Amount to offset beveled edge.
|
|
96
|
-
:type offset: float
|
|
97
86
|
:param offset_type: How to measure the offset.
|
|
98
|
-
:type offset_type: typing.Literal['OFFSET','WIDTH','DEPTH','PERCENT','ABSOLUTE']
|
|
99
87
|
:param profile_type: The profile type to use for bevel.
|
|
100
|
-
:type profile_type: typing.Literal['SUPERELLIPSE','CUSTOM']
|
|
101
88
|
:param segments: Number of segments in bevel.
|
|
102
|
-
:type segments: int
|
|
103
89
|
:param profile: Profile shape, 0->1 (.5=>round).
|
|
104
|
-
:type profile: float
|
|
105
90
|
:param affect: Whether to bevel vertices or edges.
|
|
106
|
-
:type affect: typing.Literal['VERTICES','EDGES']
|
|
107
91
|
:param clamp_overlap: Do not allow beveled edges/vertices to overlap each other.
|
|
108
|
-
:type clamp_overlap: bool
|
|
109
92
|
:param material: Material for bevel faces, -1 means get from adjacent faces.
|
|
110
|
-
:type material: int
|
|
111
93
|
:param loop_slide: Prefer to slide along edges to having even widths.
|
|
112
|
-
:type loop_slide: bool
|
|
113
94
|
:param mark_seam: Extend edge data to allow seams to run across bevels.
|
|
114
|
-
:type mark_seam: bool
|
|
115
95
|
:param mark_sharp: Extend edge data to allow sharp edges to run across bevels.
|
|
116
|
-
:type mark_sharp: bool
|
|
117
96
|
:param harden_normals: Harden normals.
|
|
118
|
-
:type harden_normals: bool
|
|
119
97
|
:param face_strength_mode: Whether to set face strength, and which faces to set if so.
|
|
120
|
-
:type face_strength_mode: typing.Literal['NONE','NEW','AFFECTED','ALL']
|
|
121
98
|
:param miter_outer: Outer miter kind.
|
|
122
|
-
:type miter_outer: typing.Literal['SHARP','PATCH','ARC']
|
|
123
99
|
:param miter_inner: Outer miter kind.
|
|
124
|
-
:type miter_inner: typing.Literal['SHARP','PATCH','ARC']
|
|
125
100
|
:param spread: Amount to offset beveled edge.
|
|
126
|
-
:type spread: float
|
|
127
101
|
:param custom_profile: CurveProfile, if None ignored
|
|
128
|
-
:type custom_profile: bpy.types.bpy_struct | None
|
|
129
102
|
:param vmesh_method: The method to use to create meshes at intersections.
|
|
130
|
-
:type vmesh_method: typing.Literal['ADJ','CUTOFF']
|
|
131
103
|
:return: faces:
|
|
132
104
|
Output faces.
|
|
133
105
|
|
|
@@ -142,7 +114,6 @@ def bevel(
|
|
|
142
114
|
Output verts.
|
|
143
115
|
|
|
144
116
|
type list of (`bmesh.types.BMVert`)
|
|
145
|
-
:rtype: dict[str, typing.Any]
|
|
146
117
|
"""
|
|
147
118
|
|
|
148
119
|
def bisect_edges(
|
|
@@ -155,17 +126,13 @@ def bisect_edges(
|
|
|
155
126
|
This creates a 2-valence vert.
|
|
156
127
|
|
|
157
128
|
:param bm: The bmesh to operate on.
|
|
158
|
-
:type bm: bmesh.types.BMesh
|
|
159
129
|
:param edges: Input edges.
|
|
160
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
161
130
|
:param cuts: Number of cuts.
|
|
162
|
-
:type cuts: int
|
|
163
131
|
:param edge_percents: Undocumented.
|
|
164
132
|
:return: geom_split:
|
|
165
133
|
Newly created vertices and edges.
|
|
166
134
|
|
|
167
135
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
168
|
-
:rtype: dict[str, typing.Any]
|
|
169
136
|
"""
|
|
170
137
|
|
|
171
138
|
def bisect_plane(
|
|
@@ -183,21 +150,13 @@ def bisect_plane(
|
|
|
183
150
|
"""Bisect Plane.Bisects the mesh by a plane (cut the mesh in half).
|
|
184
151
|
|
|
185
152
|
:param bm: The bmesh to operate on.
|
|
186
|
-
:type bm: bmesh.types.BMesh
|
|
187
153
|
:param geom: Input geometry.
|
|
188
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
189
154
|
:param dist: Minimum distance when testing if a vert is exactly on the plane.
|
|
190
|
-
:type dist: float
|
|
191
155
|
:param plane_co: Point on the plane.
|
|
192
|
-
:type plane_co: collections.abc.Sequence[float] | mathutils.Vector
|
|
193
156
|
:param plane_no: Direction of the plane.
|
|
194
|
-
:type plane_no: collections.abc.Sequence[float] | mathutils.Vector
|
|
195
157
|
:param use_snap_center: Snap axis aligned verts to the center.
|
|
196
|
-
:type use_snap_center: bool
|
|
197
158
|
:param clear_outer: When enabled. remove all geometry on the positive side of the plane.
|
|
198
|
-
:type clear_outer: bool
|
|
199
159
|
:param clear_inner: When enabled. remove all geometry on the negative side of the plane.
|
|
200
|
-
:type clear_inner: bool
|
|
201
160
|
:return: geom_cut:
|
|
202
161
|
Output geometry aligned with the plane (new and existing).
|
|
203
162
|
|
|
@@ -207,7 +166,6 @@ def bisect_plane(
|
|
|
207
166
|
Input and output geometry (result of cut).
|
|
208
167
|
|
|
209
168
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
210
|
-
:rtype: dict[str, typing.Any]
|
|
211
169
|
"""
|
|
212
170
|
|
|
213
171
|
def bmesh_to_mesh(
|
|
@@ -216,11 +174,8 @@ def bmesh_to_mesh(
|
|
|
216
174
|
"""BMesh to Mesh.Converts a bmesh to a Mesh. This is reserved for exiting edit-mode.
|
|
217
175
|
|
|
218
176
|
:param bm: The bmesh to operate on.
|
|
219
|
-
:type bm: bmesh.types.BMesh
|
|
220
177
|
:param mesh: Pointer to a mesh structure to fill in.
|
|
221
|
-
:type mesh: bpy.types.Mesh
|
|
222
178
|
:param object: Pointer to an object structure.
|
|
223
|
-
:type object: bpy.types.Object
|
|
224
179
|
"""
|
|
225
180
|
|
|
226
181
|
def bridge_loops(
|
|
@@ -235,19 +190,12 @@ def bridge_loops(
|
|
|
235
190
|
"""Bridge edge loops with faces.
|
|
236
191
|
|
|
237
192
|
:param bm: The bmesh to operate on.
|
|
238
|
-
:type bm: bmesh.types.BMesh
|
|
239
193
|
:param edges: Input edges.
|
|
240
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
241
194
|
:param use_pairs: Undocumented.
|
|
242
|
-
:type use_pairs: bool
|
|
243
195
|
:param use_cyclic: Undocumented.
|
|
244
|
-
:type use_cyclic: bool
|
|
245
196
|
:param use_merge: Merge rather than creating faces.
|
|
246
|
-
:type use_merge: bool
|
|
247
197
|
:param merge_factor: Merge factor.
|
|
248
|
-
:type merge_factor: float
|
|
249
198
|
:param twist_offset: Twist offset for closed loops.
|
|
250
|
-
:type twist_offset: int
|
|
251
199
|
:return: faces:
|
|
252
200
|
New faces.
|
|
253
201
|
|
|
@@ -257,7 +205,6 @@ def bridge_loops(
|
|
|
257
205
|
New edges.
|
|
258
206
|
|
|
259
207
|
type list of (`bmesh.types.BMEdge`)
|
|
260
|
-
:rtype: dict[str, typing.Any]
|
|
261
208
|
"""
|
|
262
209
|
|
|
263
210
|
def collapse(
|
|
@@ -266,20 +213,15 @@ def collapse(
|
|
|
266
213
|
"""Collapse Connected.Collapses connected vertices
|
|
267
214
|
|
|
268
215
|
:param bm: The bmesh to operate on.
|
|
269
|
-
:type bm: bmesh.types.BMesh
|
|
270
216
|
:param edges: Input edges.
|
|
271
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
272
217
|
:param uvs: Also collapse UVs and such.
|
|
273
|
-
:type uvs: bool
|
|
274
218
|
"""
|
|
275
219
|
|
|
276
220
|
def collapse_uvs(bm: bmesh.types.BMesh, edges: list[bmesh.types.BMEdge] = []) -> None:
|
|
277
221
|
"""Collapse Connected UVs.Collapses connected UV vertices.
|
|
278
222
|
|
|
279
223
|
:param bm: The bmesh to operate on.
|
|
280
|
-
:type bm: bmesh.types.BMesh
|
|
281
224
|
:param edges: Input edges.
|
|
282
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
283
225
|
"""
|
|
284
226
|
|
|
285
227
|
def connect_vert_pair(
|
|
@@ -291,17 +233,12 @@ def connect_vert_pair(
|
|
|
291
233
|
"""Connect Verts.Split faces by adding edges that connect verts.
|
|
292
234
|
|
|
293
235
|
:param bm: The bmesh to operate on.
|
|
294
|
-
:type bm: bmesh.types.BMesh
|
|
295
236
|
:param verts: Input vertices.
|
|
296
|
-
:type verts: list[bmesh.types.BMVert]
|
|
297
237
|
:param verts_exclude: Input vertices to explicitly exclude from connecting.
|
|
298
|
-
:type verts_exclude: list[bmesh.types.BMVert]
|
|
299
238
|
:param faces_exclude: Input faces to explicitly exclude from connecting.
|
|
300
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
301
239
|
:return: edges:
|
|
302
240
|
|
|
303
241
|
type list of (`bmesh.types.BMEdge`)
|
|
304
|
-
:rtype: dict[str, typing.Any]
|
|
305
242
|
"""
|
|
306
243
|
|
|
307
244
|
def connect_verts(
|
|
@@ -313,17 +250,12 @@ def connect_verts(
|
|
|
313
250
|
"""Connect Verts.Split faces by adding edges that connect verts.
|
|
314
251
|
|
|
315
252
|
:param bm: The bmesh to operate on.
|
|
316
|
-
:type bm: bmesh.types.BMesh
|
|
317
253
|
:param verts: Input vertices.
|
|
318
|
-
:type verts: list[bmesh.types.BMVert]
|
|
319
254
|
:param faces_exclude: Input faces to explicitly exclude from connecting.
|
|
320
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
321
255
|
:param check_degenerate: Prevent splits with overlaps & intersections.
|
|
322
|
-
:type check_degenerate: bool
|
|
323
256
|
:return: edges:
|
|
324
257
|
|
|
325
258
|
type list of (`bmesh.types.BMEdge`)
|
|
326
|
-
:rtype: dict[str, typing.Any]
|
|
327
259
|
"""
|
|
328
260
|
|
|
329
261
|
def connect_verts_concave(
|
|
@@ -332,9 +264,7 @@ def connect_verts_concave(
|
|
|
332
264
|
"""Connect Verts to form Convex Faces.Ensures all faces are convex faces.
|
|
333
265
|
|
|
334
266
|
:param bm: The bmesh to operate on.
|
|
335
|
-
:type bm: bmesh.types.BMesh
|
|
336
267
|
:param faces: Input faces.
|
|
337
|
-
:type faces: list[bmesh.types.BMFace]
|
|
338
268
|
:return: edges:
|
|
339
269
|
|
|
340
270
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -342,7 +272,6 @@ def connect_verts_concave(
|
|
|
342
272
|
faces:
|
|
343
273
|
|
|
344
274
|
type list of (`bmesh.types.BMFace`)
|
|
345
|
-
:rtype: dict[str, typing.Any]
|
|
346
275
|
"""
|
|
347
276
|
|
|
348
277
|
def connect_verts_nonplanar(
|
|
@@ -351,11 +280,8 @@ def connect_verts_nonplanar(
|
|
|
351
280
|
"""Connect Verts Across non Planer Faces.Split faces by connecting edges along non planer faces.
|
|
352
281
|
|
|
353
282
|
:param bm: The bmesh to operate on.
|
|
354
|
-
:type bm: bmesh.types.BMesh
|
|
355
283
|
:param angle_limit: Total rotation angle (radians).
|
|
356
|
-
:type angle_limit: float
|
|
357
284
|
:param faces: Input faces.
|
|
358
|
-
:type faces: list[bmesh.types.BMFace]
|
|
359
285
|
:return: edges:
|
|
360
286
|
|
|
361
287
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -363,7 +289,6 @@ def connect_verts_nonplanar(
|
|
|
363
289
|
faces:
|
|
364
290
|
|
|
365
291
|
type list of (`bmesh.types.BMFace`)
|
|
366
|
-
:rtype: dict[str, typing.Any]
|
|
367
292
|
"""
|
|
368
293
|
|
|
369
294
|
def contextual_create(
|
|
@@ -380,13 +305,9 @@ def contextual_create(
|
|
|
380
305
|
become a wire edge.
|
|
381
306
|
|
|
382
307
|
:param bm: The bmesh to operate on.
|
|
383
|
-
:type bm: bmesh.types.BMesh
|
|
384
308
|
:param geom: Input geometry.
|
|
385
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
386
309
|
:param mat_nr: Material to use.
|
|
387
|
-
:type mat_nr: int
|
|
388
310
|
:param use_smooth: Smooth to use.
|
|
389
|
-
:type use_smooth: bool
|
|
390
311
|
:return: faces:
|
|
391
312
|
Newly-made face(s).
|
|
392
313
|
|
|
@@ -396,7 +317,6 @@ def contextual_create(
|
|
|
396
317
|
Newly-made edge(s).
|
|
397
318
|
|
|
398
319
|
type list of (`bmesh.types.BMEdge`)
|
|
399
|
-
:rtype: dict[str, typing.Any]
|
|
400
320
|
"""
|
|
401
321
|
|
|
402
322
|
def convex_hull(
|
|
@@ -415,11 +335,8 @@ def convex_hull(
|
|
|
415
335
|
that were in the input and are part of the hull.
|
|
416
336
|
|
|
417
337
|
:param bm: The bmesh to operate on.
|
|
418
|
-
:type bm: bmesh.types.BMesh
|
|
419
338
|
:param input: Input geometry.
|
|
420
|
-
:type input: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
421
339
|
:param use_existing_faces: Skip hull triangles that are covered by a pre-existing face.
|
|
422
|
-
:type use_existing_faces: bool
|
|
423
340
|
:return: geom:
|
|
424
341
|
|
|
425
342
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -435,7 +352,6 @@ def convex_hull(
|
|
|
435
352
|
geom_holes:
|
|
436
353
|
|
|
437
354
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
438
|
-
:rtype: dict[str, typing.Any]
|
|
439
355
|
"""
|
|
440
356
|
|
|
441
357
|
def create_circle(
|
|
@@ -451,24 +367,16 @@ def create_circle(
|
|
|
451
367
|
"""Creates a Circle.
|
|
452
368
|
|
|
453
369
|
:param bm: The bmesh to operate on.
|
|
454
|
-
:type bm: bmesh.types.BMesh
|
|
455
370
|
:param cap_ends: Whether or not to fill in the ends with faces.
|
|
456
|
-
:type cap_ends: bool
|
|
457
371
|
:param cap_tris: Fill ends with triangles instead of ngons.
|
|
458
|
-
:type cap_tris: bool
|
|
459
372
|
:param segments: Number of vertices in the circle.
|
|
460
|
-
:type segments: int
|
|
461
373
|
:param radius: Radius of the circle.
|
|
462
|
-
:type radius: float
|
|
463
374
|
:param matrix: Matrix to multiply the new geometry with.
|
|
464
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
465
375
|
:param calc_uvs: Calculate default UVs.
|
|
466
|
-
:type calc_uvs: bool
|
|
467
376
|
:return: verts:
|
|
468
377
|
Output verts.
|
|
469
378
|
|
|
470
379
|
type list of (`bmesh.types.BMVert`)
|
|
471
|
-
:rtype: dict[str, typing.Any]
|
|
472
380
|
"""
|
|
473
381
|
|
|
474
382
|
def create_cone(
|
|
@@ -486,28 +394,18 @@ def create_cone(
|
|
|
486
394
|
"""Create Cone.Creates a cone with variable depth at both ends
|
|
487
395
|
|
|
488
396
|
:param bm: The bmesh to operate on.
|
|
489
|
-
:type bm: bmesh.types.BMesh
|
|
490
397
|
:param cap_ends: Whether or not to fill in the ends with faces.
|
|
491
|
-
:type cap_ends: bool
|
|
492
398
|
:param cap_tris: Fill ends with triangles instead of ngons.
|
|
493
|
-
:type cap_tris: bool
|
|
494
399
|
:param segments: Number of vertices in the base circle.
|
|
495
|
-
:type segments: int
|
|
496
400
|
:param radius1: Radius of one end.
|
|
497
|
-
:type radius1: float
|
|
498
401
|
:param radius2: Radius of the opposite.
|
|
499
|
-
:type radius2: float
|
|
500
402
|
:param depth: Distance between ends.
|
|
501
|
-
:type depth: float
|
|
502
403
|
:param matrix: Matrix to multiply the new geometry with.
|
|
503
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
504
404
|
:param calc_uvs: Calculate default UVs.
|
|
505
|
-
:type calc_uvs: bool
|
|
506
405
|
:return: verts:
|
|
507
406
|
Output verts.
|
|
508
407
|
|
|
509
408
|
type list of (`bmesh.types.BMVert`)
|
|
510
|
-
:rtype: dict[str, typing.Any]
|
|
511
409
|
"""
|
|
512
410
|
|
|
513
411
|
def create_cube(
|
|
@@ -520,18 +418,13 @@ def create_cube(
|
|
|
520
418
|
"""Create CubeCreates a cube.
|
|
521
419
|
|
|
522
420
|
:param bm: The bmesh to operate on.
|
|
523
|
-
:type bm: bmesh.types.BMesh
|
|
524
421
|
:param size: Size of the cube.
|
|
525
|
-
:type size: float
|
|
526
422
|
:param matrix: Matrix to multiply the new geometry with.
|
|
527
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
528
423
|
:param calc_uvs: Calculate default UVs.
|
|
529
|
-
:type calc_uvs: bool
|
|
530
424
|
:return: verts:
|
|
531
425
|
Output verts.
|
|
532
426
|
|
|
533
427
|
type list of (`bmesh.types.BMVert`)
|
|
534
|
-
:rtype: dict[str, typing.Any]
|
|
535
428
|
"""
|
|
536
429
|
|
|
537
430
|
def create_grid(
|
|
@@ -546,22 +439,15 @@ def create_grid(
|
|
|
546
439
|
"""Create Grid.Creates a grid with a variable number of subdivisions
|
|
547
440
|
|
|
548
441
|
:param bm: The bmesh to operate on.
|
|
549
|
-
:type bm: bmesh.types.BMesh
|
|
550
442
|
:param x_segments: Number of x segments.
|
|
551
|
-
:type x_segments: int
|
|
552
443
|
:param y_segments: Number of y segments.
|
|
553
|
-
:type y_segments: int
|
|
554
444
|
:param size: Size of the grid.
|
|
555
|
-
:type size: float
|
|
556
445
|
:param matrix: Matrix to multiply the new geometry with.
|
|
557
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
558
446
|
:param calc_uvs: Calculate default UVs.
|
|
559
|
-
:type calc_uvs: bool
|
|
560
447
|
:return: verts:
|
|
561
448
|
Output verts.
|
|
562
449
|
|
|
563
450
|
type list of (`bmesh.types.BMVert`)
|
|
564
|
-
:rtype: dict[str, typing.Any]
|
|
565
451
|
"""
|
|
566
452
|
|
|
567
453
|
def create_icosphere(
|
|
@@ -575,20 +461,14 @@ def create_icosphere(
|
|
|
575
461
|
"""Create Ico-Sphere.Creates a grid with a variable number of subdivisions
|
|
576
462
|
|
|
577
463
|
:param bm: The bmesh to operate on.
|
|
578
|
-
:type bm: bmesh.types.BMesh
|
|
579
464
|
:param subdivisions: How many times to recursively subdivide the sphere.
|
|
580
|
-
:type subdivisions: int
|
|
581
465
|
:param radius: Radius.
|
|
582
|
-
:type radius: float
|
|
583
466
|
:param matrix: Matrix to multiply the new geometry with.
|
|
584
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
585
467
|
:param calc_uvs: Calculate default UVs.
|
|
586
|
-
:type calc_uvs: bool
|
|
587
468
|
:return: verts:
|
|
588
469
|
Output verts.
|
|
589
470
|
|
|
590
471
|
type list of (`bmesh.types.BMVert`)
|
|
591
|
-
:rtype: dict[str, typing.Any]
|
|
592
472
|
"""
|
|
593
473
|
|
|
594
474
|
def create_monkey(
|
|
@@ -600,16 +480,12 @@ def create_monkey(
|
|
|
600
480
|
"""Create Suzanne.Creates a monkey (standard blender primitive).
|
|
601
481
|
|
|
602
482
|
:param bm: The bmesh to operate on.
|
|
603
|
-
:type bm: bmesh.types.BMesh
|
|
604
483
|
:param matrix: Matrix to multiply the new geometry with.
|
|
605
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
606
484
|
:param calc_uvs: Calculate default UVs.
|
|
607
|
-
:type calc_uvs: bool
|
|
608
485
|
:return: verts:
|
|
609
486
|
Output verts.
|
|
610
487
|
|
|
611
488
|
type list of (`bmesh.types.BMVert`)
|
|
612
|
-
:rtype: dict[str, typing.Any]
|
|
613
489
|
"""
|
|
614
490
|
|
|
615
491
|
def create_uvsphere(
|
|
@@ -624,22 +500,15 @@ def create_uvsphere(
|
|
|
624
500
|
"""Create UV Sphere.Creates a grid with a variable number of subdivisions
|
|
625
501
|
|
|
626
502
|
:param bm: The bmesh to operate on.
|
|
627
|
-
:type bm: bmesh.types.BMesh
|
|
628
503
|
:param u_segments: Number of u segments.
|
|
629
|
-
:type u_segments: int
|
|
630
504
|
:param v_segments: Number of v segment.
|
|
631
|
-
:type v_segments: int
|
|
632
505
|
:param radius: Radius.
|
|
633
|
-
:type radius: float
|
|
634
506
|
:param matrix: Matrix to multiply the new geometry with.
|
|
635
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
636
507
|
:param calc_uvs: Calculate default UVs.
|
|
637
|
-
:type calc_uvs: bool
|
|
638
508
|
:return: verts:
|
|
639
509
|
Output verts.
|
|
640
510
|
|
|
641
511
|
type list of (`bmesh.types.BMVert`)
|
|
642
|
-
:rtype: dict[str, typing.Any]
|
|
643
512
|
"""
|
|
644
513
|
|
|
645
514
|
def create_vert(
|
|
@@ -650,14 +519,11 @@ def create_vert(
|
|
|
650
519
|
for click-create-vertex.
|
|
651
520
|
|
|
652
521
|
:param bm: The bmesh to operate on.
|
|
653
|
-
:type bm: bmesh.types.BMesh
|
|
654
522
|
:param co: The coordinate of the new vert.
|
|
655
|
-
:type co: collections.abc.Sequence[float] | mathutils.Vector
|
|
656
523
|
:return: vert:
|
|
657
524
|
The new vert.
|
|
658
525
|
|
|
659
526
|
type list of (`bmesh.types.BMVert`)
|
|
660
|
-
:rtype: dict[str, typing.Any]
|
|
661
527
|
"""
|
|
662
528
|
|
|
663
529
|
def delete(
|
|
@@ -678,11 +544,8 @@ def delete(
|
|
|
678
544
|
"""Delete Geometry.Utility operator to delete geometry.
|
|
679
545
|
|
|
680
546
|
:param bm: The bmesh to operate on.
|
|
681
|
-
:type bm: bmesh.types.BMesh
|
|
682
547
|
:param geom: Input geometry.
|
|
683
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
684
548
|
:param context: Geometry types to delete.
|
|
685
|
-
:type context: typing.Literal['VERTS','EDGES','FACES_ONLY','EDGES_FACES','FACES','FACES_KEEP_BOUNDARY','TAGGED_ONLY']
|
|
686
549
|
"""
|
|
687
550
|
|
|
688
551
|
def dissolve_degenerate(
|
|
@@ -691,11 +554,8 @@ def dissolve_degenerate(
|
|
|
691
554
|
"""Degenerate Dissolve.Dissolve edges with no length, faces with no area.
|
|
692
555
|
|
|
693
556
|
:param bm: The bmesh to operate on.
|
|
694
|
-
:type bm: bmesh.types.BMesh
|
|
695
557
|
:param dist: Maximum distance to consider degenerate.
|
|
696
|
-
:type dist: float
|
|
697
558
|
:param edges: Input edges.
|
|
698
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
699
559
|
"""
|
|
700
560
|
|
|
701
561
|
def dissolve_edges(
|
|
@@ -708,20 +568,14 @@ def dissolve_edges(
|
|
|
708
568
|
"""Dissolve Edges.
|
|
709
569
|
|
|
710
570
|
:param bm: The bmesh to operate on.
|
|
711
|
-
:type bm: bmesh.types.BMesh
|
|
712
571
|
:param edges: Input edges.
|
|
713
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
714
572
|
:param use_verts: Dissolve verts left between only 2 edges.
|
|
715
|
-
:type use_verts: bool
|
|
716
573
|
:param use_face_split: Split off face corners to maintain surrounding geometry.
|
|
717
|
-
:type use_face_split: bool
|
|
718
574
|
:param angle_threshold: Do not dissolve verts between 2 edges when their angle exceeds this threshold.
|
|
719
575
|
Disabled by default.
|
|
720
|
-
:type angle_threshold: float
|
|
721
576
|
:return: region:
|
|
722
577
|
|
|
723
578
|
type list of (`bmesh.types.BMFace`)
|
|
724
|
-
:rtype: dict[str, typing.Any]
|
|
725
579
|
"""
|
|
726
580
|
|
|
727
581
|
def dissolve_faces(
|
|
@@ -730,15 +584,11 @@ def dissolve_faces(
|
|
|
730
584
|
"""Dissolve Faces.
|
|
731
585
|
|
|
732
586
|
:param bm: The bmesh to operate on.
|
|
733
|
-
:type bm: bmesh.types.BMesh
|
|
734
587
|
:param faces: Input faces.
|
|
735
|
-
:type faces: list[bmesh.types.BMFace]
|
|
736
588
|
:param use_verts: Dissolve verts left between only 2 edges.
|
|
737
|
-
:type use_verts: bool
|
|
738
589
|
:return: region:
|
|
739
590
|
|
|
740
591
|
type list of (`bmesh.types.BMFace`)
|
|
741
|
-
:rtype: dict[str, typing.Any]
|
|
742
592
|
"""
|
|
743
593
|
|
|
744
594
|
def dissolve_limit(
|
|
@@ -752,20 +602,14 @@ def dissolve_limit(
|
|
|
752
602
|
"""Limited Dissolve.Dissolve planar faces and co-linear edges.
|
|
753
603
|
|
|
754
604
|
:param bm: The bmesh to operate on.
|
|
755
|
-
:type bm: bmesh.types.BMesh
|
|
756
605
|
:param angle_limit: Total rotation angle (radians).
|
|
757
|
-
:type angle_limit: float
|
|
758
606
|
:param use_dissolve_boundaries: Dissolve all vertices in between face boundaries.
|
|
759
|
-
:type use_dissolve_boundaries: bool
|
|
760
607
|
:param verts: Input vertices.
|
|
761
|
-
:type verts: list[bmesh.types.BMVert]
|
|
762
608
|
:param edges: Input edges.
|
|
763
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
764
609
|
:param delimit: Delimit dissolve operation.
|
|
765
610
|
:return: region:
|
|
766
611
|
|
|
767
612
|
type list of (`bmesh.types.BMFace`)
|
|
768
|
-
:rtype: dict[str, typing.Any]
|
|
769
613
|
"""
|
|
770
614
|
|
|
771
615
|
def dissolve_verts(
|
|
@@ -777,13 +621,9 @@ def dissolve_verts(
|
|
|
777
621
|
"""Dissolve Verts.
|
|
778
622
|
|
|
779
623
|
:param bm: The bmesh to operate on.
|
|
780
|
-
:type bm: bmesh.types.BMesh
|
|
781
624
|
:param verts: Input vertices.
|
|
782
|
-
:type verts: list[bmesh.types.BMVert]
|
|
783
625
|
:param use_face_split: Split off face corners to maintain surrounding geometry.
|
|
784
|
-
:type use_face_split: bool
|
|
785
626
|
:param use_boundary_tear: Split off face corners instead of merging faces.
|
|
786
|
-
:type use_boundary_tear: bool
|
|
787
627
|
"""
|
|
788
628
|
|
|
789
629
|
def duplicate(
|
|
@@ -799,15 +639,10 @@ def duplicate(
|
|
|
799
639
|
optionally into a destination mesh.
|
|
800
640
|
|
|
801
641
|
:param bm: The bmesh to operate on.
|
|
802
|
-
:type bm: bmesh.types.BMesh
|
|
803
642
|
:param geom: Input geometry.
|
|
804
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
805
643
|
:param dest: Destination bmesh, if None will use current on.
|
|
806
|
-
:type dest: bmesh.types.BMesh | None
|
|
807
644
|
:param use_select_history: Undocumented.
|
|
808
|
-
:type use_select_history: bool
|
|
809
645
|
:param use_edge_flip_from_face: Undocumented.
|
|
810
|
-
:type use_edge_flip_from_face: bool
|
|
811
646
|
:return: geom_orig:
|
|
812
647
|
|
|
813
648
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -837,7 +672,6 @@ def duplicate(
|
|
|
837
672
|
isovert_map:
|
|
838
673
|
|
|
839
674
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
840
|
-
:rtype: dict[str, typing.Any]
|
|
841
675
|
"""
|
|
842
676
|
|
|
843
677
|
def edgeloop_fill(
|
|
@@ -849,18 +683,13 @@ def edgeloop_fill(
|
|
|
849
683
|
"""Edge Loop Fill.Create faces defined by one or more non overlapping edge loops.
|
|
850
684
|
|
|
851
685
|
:param bm: The bmesh to operate on.
|
|
852
|
-
:type bm: bmesh.types.BMesh
|
|
853
686
|
:param edges: Input edges.
|
|
854
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
855
687
|
:param mat_nr: Material to use.
|
|
856
|
-
:type mat_nr: int
|
|
857
688
|
:param use_smooth: Smooth state to use.
|
|
858
|
-
:type use_smooth: bool
|
|
859
689
|
:return: faces:
|
|
860
690
|
New faces.
|
|
861
691
|
|
|
862
692
|
type list of (`bmesh.types.BMFace`)
|
|
863
|
-
:rtype: dict[str, typing.Any]
|
|
864
693
|
"""
|
|
865
694
|
|
|
866
695
|
def edgenet_fill(
|
|
@@ -873,20 +702,14 @@ def edgenet_fill(
|
|
|
873
702
|
"""Edge Net Fill.Create faces defined by enclosed edges.
|
|
874
703
|
|
|
875
704
|
:param bm: The bmesh to operate on.
|
|
876
|
-
:type bm: bmesh.types.BMesh
|
|
877
705
|
:param edges: Input edges.
|
|
878
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
879
706
|
:param mat_nr: Material to use.
|
|
880
|
-
:type mat_nr: int
|
|
881
707
|
:param use_smooth: Smooth state to use.
|
|
882
|
-
:type use_smooth: bool
|
|
883
708
|
:param sides: Number of sides.
|
|
884
|
-
:type sides: int
|
|
885
709
|
:return: faces:
|
|
886
710
|
New faces.
|
|
887
711
|
|
|
888
712
|
type list of (`bmesh.types.BMFace`)
|
|
889
|
-
:rtype: dict[str, typing.Any]
|
|
890
713
|
"""
|
|
891
714
|
|
|
892
715
|
def edgenet_prepare(
|
|
@@ -896,14 +719,11 @@ def edgenet_prepare(
|
|
|
896
719
|
theyll become a face when edgenet_fill is called. The cases covered are:
|
|
897
720
|
|
|
898
721
|
:param bm: The bmesh to operate on.
|
|
899
|
-
:type bm: bmesh.types.BMesh
|
|
900
722
|
:param edges: Input edges.
|
|
901
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
902
723
|
:return: edges:
|
|
903
724
|
New edges.
|
|
904
725
|
|
|
905
726
|
type list of (`bmesh.types.BMEdge`)
|
|
906
|
-
:rtype: dict[str, typing.Any]
|
|
907
727
|
"""
|
|
908
728
|
|
|
909
729
|
def extrude_discrete_faces(
|
|
@@ -915,18 +735,13 @@ def extrude_discrete_faces(
|
|
|
915
735
|
"""Individual Face Extrude.Extrudes faces individually.
|
|
916
736
|
|
|
917
737
|
:param bm: The bmesh to operate on.
|
|
918
|
-
:type bm: bmesh.types.BMesh
|
|
919
738
|
:param faces: Input faces.
|
|
920
|
-
:type faces: list[bmesh.types.BMFace]
|
|
921
739
|
:param use_normal_flip: Create faces with reversed direction.
|
|
922
|
-
:type use_normal_flip: bool
|
|
923
740
|
:param use_select_history: Pass to duplicate.
|
|
924
|
-
:type use_select_history: bool
|
|
925
741
|
:return: faces:
|
|
926
742
|
Output faces.
|
|
927
743
|
|
|
928
744
|
type list of (`bmesh.types.BMFace`)
|
|
929
|
-
:rtype: dict[str, typing.Any]
|
|
930
745
|
"""
|
|
931
746
|
|
|
932
747
|
def extrude_edge_only(
|
|
@@ -939,18 +754,13 @@ def extrude_edge_only(
|
|
|
939
754
|
winged extrusion.
|
|
940
755
|
|
|
941
756
|
:param bm: The bmesh to operate on.
|
|
942
|
-
:type bm: bmesh.types.BMesh
|
|
943
757
|
:param edges: Input vertices.
|
|
944
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
945
758
|
:param use_normal_flip: Create faces with reversed direction.
|
|
946
|
-
:type use_normal_flip: bool
|
|
947
759
|
:param use_select_history: Pass to duplicate.
|
|
948
|
-
:type use_select_history: bool
|
|
949
760
|
:return: geom:
|
|
950
761
|
Output geometry.
|
|
951
762
|
|
|
952
763
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
953
|
-
:rtype: dict[str, typing.Any]
|
|
954
764
|
"""
|
|
955
765
|
|
|
956
766
|
def extrude_face_region(
|
|
@@ -969,26 +779,17 @@ def extrude_face_region(
|
|
|
969
779
|
"""Extrude Faces.Extrude operator (does not transform)
|
|
970
780
|
|
|
971
781
|
:param bm: The bmesh to operate on.
|
|
972
|
-
:type bm: bmesh.types.BMesh
|
|
973
782
|
:param geom: Edges and faces.
|
|
974
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
975
783
|
:param edges_exclude: Input edges to explicitly exclude from extrusion.
|
|
976
784
|
:param use_keep_orig: Keep original geometry (requires geom to include edges).
|
|
977
|
-
:type use_keep_orig: bool
|
|
978
785
|
:param use_normal_flip: Create faces with reversed direction.
|
|
979
|
-
:type use_normal_flip: bool
|
|
980
786
|
:param use_normal_from_adjacent: Use winding from surrounding faces instead of this region.
|
|
981
|
-
:type use_normal_from_adjacent: bool
|
|
982
787
|
:param use_dissolve_ortho_edges: Dissolve edges whose faces form a flat surface.
|
|
983
|
-
:type use_dissolve_ortho_edges: bool
|
|
984
788
|
:param use_select_history: Pass to duplicate.
|
|
985
|
-
:type use_select_history: bool
|
|
986
789
|
:param skip_input_flip: Skip flipping of input faces to preserve original orientation.
|
|
987
|
-
:type skip_input_flip: bool
|
|
988
790
|
:return: geom:
|
|
989
791
|
|
|
990
792
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
991
|
-
:rtype: dict[str, typing.Any]
|
|
992
793
|
"""
|
|
993
794
|
|
|
994
795
|
def extrude_vert_indiv(
|
|
@@ -999,11 +800,8 @@ def extrude_vert_indiv(
|
|
|
999
800
|
"""Individual Vertex Extrude.Extrudes wire edges from vertices.
|
|
1000
801
|
|
|
1001
802
|
:param bm: The bmesh to operate on.
|
|
1002
|
-
:type bm: bmesh.types.BMesh
|
|
1003
803
|
:param verts: Input vertices.
|
|
1004
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1005
804
|
:param use_select_history: Pass to duplicate.
|
|
1006
|
-
:type use_select_history: bool
|
|
1007
805
|
:return: edges:
|
|
1008
806
|
Output wire edges.
|
|
1009
807
|
|
|
@@ -1013,7 +811,6 @@ def extrude_vert_indiv(
|
|
|
1013
811
|
Output vertices.
|
|
1014
812
|
|
|
1015
813
|
type list of (`bmesh.types.BMVert`)
|
|
1016
|
-
:rtype: dict[str, typing.Any]
|
|
1017
814
|
"""
|
|
1018
815
|
|
|
1019
816
|
def face_attribute_fill(
|
|
@@ -1025,18 +822,13 @@ def face_attribute_fill(
|
|
|
1025
822
|
"""Face Attribute Fill.Fill in faces with data from adjacent faces.
|
|
1026
823
|
|
|
1027
824
|
:param bm: The bmesh to operate on.
|
|
1028
|
-
:type bm: bmesh.types.BMesh
|
|
1029
825
|
:param faces: Input faces.
|
|
1030
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1031
826
|
:param use_normals: Copy face winding.
|
|
1032
|
-
:type use_normals: bool
|
|
1033
827
|
:param use_data: Copy face data.
|
|
1034
|
-
:type use_data: bool
|
|
1035
828
|
:return: faces_fail:
|
|
1036
829
|
Faces that could not be handled.
|
|
1037
830
|
|
|
1038
831
|
type list of (`bmesh.types.BMFace`)
|
|
1039
|
-
:rtype: dict[str, typing.Any]
|
|
1040
832
|
"""
|
|
1041
833
|
|
|
1042
834
|
def find_doubles(
|
|
@@ -1051,19 +843,13 @@ def find_doubles(
|
|
|
1051
843
|
with vertices in that set.
|
|
1052
844
|
|
|
1053
845
|
:param bm: The bmesh to operate on.
|
|
1054
|
-
:type bm: bmesh.types.BMesh
|
|
1055
846
|
:param verts: Input vertices.
|
|
1056
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1057
847
|
:param keep_verts: List of verts to keep.
|
|
1058
|
-
:type keep_verts: list[bmesh.types.BMVert]
|
|
1059
848
|
:param use_connected: Limit the search for doubles by connected geometry.
|
|
1060
|
-
:type use_connected: bool
|
|
1061
849
|
:param dist: Maximum distance.
|
|
1062
|
-
:type dist: float
|
|
1063
850
|
:return: targetmap:
|
|
1064
851
|
|
|
1065
852
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
1066
|
-
:rtype: dict[str, typing.Any]
|
|
1067
853
|
"""
|
|
1068
854
|
|
|
1069
855
|
def flip_quad_tessellation(
|
|
@@ -1072,9 +858,7 @@ def flip_quad_tessellation(
|
|
|
1072
858
|
"""Flip Quad TessellationFlip the tessellation direction of the selected quads.
|
|
1073
859
|
|
|
1074
860
|
:param bm: The bmesh to operate on.
|
|
1075
|
-
:type bm: bmesh.types.BMesh
|
|
1076
861
|
:param faces: Input faces.
|
|
1077
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1078
862
|
"""
|
|
1079
863
|
|
|
1080
864
|
def grid_fill(
|
|
@@ -1087,20 +871,14 @@ def grid_fill(
|
|
|
1087
871
|
"""Grid Fill.Create faces defined by 2 disconnected edge loops (which share edges).
|
|
1088
872
|
|
|
1089
873
|
:param bm: The bmesh to operate on.
|
|
1090
|
-
:type bm: bmesh.types.BMesh
|
|
1091
874
|
:param edges: Input edges.
|
|
1092
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1093
875
|
:param mat_nr: Material to use.
|
|
1094
|
-
:type mat_nr: int
|
|
1095
876
|
:param use_smooth: Smooth state to use.
|
|
1096
|
-
:type use_smooth: bool
|
|
1097
877
|
:param use_interp_simple: Use simple interpolation.
|
|
1098
|
-
:type use_interp_simple: bool
|
|
1099
878
|
:return: faces:
|
|
1100
879
|
New faces.
|
|
1101
880
|
|
|
1102
881
|
type list of (`bmesh.types.BMFace`)
|
|
1103
|
-
:rtype: dict[str, typing.Any]
|
|
1104
882
|
"""
|
|
1105
883
|
|
|
1106
884
|
def holes_fill(
|
|
@@ -1109,16 +887,12 @@ def holes_fill(
|
|
|
1109
887
|
"""Fill Holes.Fill boundary edges with faces, copying surrounding custom-data.
|
|
1110
888
|
|
|
1111
889
|
:param bm: The bmesh to operate on.
|
|
1112
|
-
:type bm: bmesh.types.BMesh
|
|
1113
890
|
:param edges: Input edges.
|
|
1114
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1115
891
|
:param sides: Number of face sides to fill.
|
|
1116
|
-
:type sides: int
|
|
1117
892
|
:return: faces:
|
|
1118
893
|
New faces.
|
|
1119
894
|
|
|
1120
895
|
type list of (`bmesh.types.BMFace`)
|
|
1121
|
-
:rtype: dict[str, typing.Any]
|
|
1122
896
|
"""
|
|
1123
897
|
|
|
1124
898
|
def inset_individual(
|
|
@@ -1133,24 +907,16 @@ def inset_individual(
|
|
|
1133
907
|
"""Face Inset (Individual).Insets individual faces.
|
|
1134
908
|
|
|
1135
909
|
:param bm: The bmesh to operate on.
|
|
1136
|
-
:type bm: bmesh.types.BMesh
|
|
1137
910
|
:param faces: Input faces.
|
|
1138
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1139
911
|
:param thickness: Thickness.
|
|
1140
|
-
:type thickness: float
|
|
1141
912
|
:param depth: Depth.
|
|
1142
|
-
:type depth: float
|
|
1143
913
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
1144
|
-
:type use_even_offset: bool
|
|
1145
914
|
:param use_interpolate: Blend face data across the inset.
|
|
1146
|
-
:type use_interpolate: bool
|
|
1147
915
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
1148
|
-
:type use_relative_offset: bool
|
|
1149
916
|
:return: faces:
|
|
1150
917
|
Output faces.
|
|
1151
918
|
|
|
1152
919
|
type list of (`bmesh.types.BMFace`)
|
|
1153
|
-
:rtype: dict[str, typing.Any]
|
|
1154
920
|
"""
|
|
1155
921
|
|
|
1156
922
|
def inset_region(
|
|
@@ -1169,32 +935,20 @@ def inset_region(
|
|
|
1169
935
|
"""Face Inset (Regions).Inset or outset face regions.
|
|
1170
936
|
|
|
1171
937
|
:param bm: The bmesh to operate on.
|
|
1172
|
-
:type bm: bmesh.types.BMesh
|
|
1173
938
|
:param faces: Input faces.
|
|
1174
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1175
939
|
:param faces_exclude: Input faces to explicitly exclude from inset.
|
|
1176
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
1177
940
|
:param use_boundary: Inset face boundaries.
|
|
1178
|
-
:type use_boundary: bool
|
|
1179
941
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
1180
|
-
:type use_even_offset: bool
|
|
1181
942
|
:param use_interpolate: Blend face data across the inset.
|
|
1182
|
-
:type use_interpolate: bool
|
|
1183
943
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
1184
|
-
:type use_relative_offset: bool
|
|
1185
944
|
:param use_edge_rail: Inset the region along existing edges.
|
|
1186
|
-
:type use_edge_rail: bool
|
|
1187
945
|
:param thickness: Thickness.
|
|
1188
|
-
:type thickness: float
|
|
1189
946
|
:param depth: Depth.
|
|
1190
|
-
:type depth: float
|
|
1191
947
|
:param use_outset: Outset rather than inset.
|
|
1192
|
-
:type use_outset: bool
|
|
1193
948
|
:return: faces:
|
|
1194
949
|
Output faces.
|
|
1195
950
|
|
|
1196
951
|
type list of (`bmesh.types.BMFace`)
|
|
1197
|
-
:rtype: dict[str, typing.Any]
|
|
1198
952
|
"""
|
|
1199
953
|
|
|
1200
954
|
def join_triangles(
|
|
@@ -1216,36 +970,22 @@ def join_triangles(
|
|
|
1216
970
|
to angle threshold and delimiters.
|
|
1217
971
|
|
|
1218
972
|
:param bm: The bmesh to operate on.
|
|
1219
|
-
:type bm: bmesh.types.BMesh
|
|
1220
973
|
:param faces: Input geometry.
|
|
1221
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1222
974
|
:param cmp_seam: Compare seam
|
|
1223
|
-
:type cmp_seam: bool
|
|
1224
975
|
:param cmp_sharp: Compare sharp
|
|
1225
|
-
:type cmp_sharp: bool
|
|
1226
976
|
:param cmp_uvs: Compare UVs
|
|
1227
|
-
:type cmp_uvs: bool
|
|
1228
977
|
:param cmp_vcols: Compare VCols.
|
|
1229
|
-
:type cmp_vcols: bool
|
|
1230
978
|
:param cmp_materials: Compare materials.
|
|
1231
|
-
:type cmp_materials: bool
|
|
1232
979
|
:param angle_face_threshold: Undocumented.
|
|
1233
|
-
:type angle_face_threshold: float
|
|
1234
980
|
:param angle_shape_threshold: Undocumented.
|
|
1235
|
-
:type angle_shape_threshold: float
|
|
1236
981
|
:param topology_influence: Undocumented.
|
|
1237
|
-
:type topology_influence: float
|
|
1238
982
|
:param deselect_joined: Undocumented.
|
|
1239
|
-
:type deselect_joined: bool
|
|
1240
983
|
:param merge_limit: Undocumented.
|
|
1241
|
-
:type merge_limit: int
|
|
1242
984
|
:param neighbor_debug: Undocumented.
|
|
1243
|
-
:type neighbor_debug: int
|
|
1244
985
|
:return: faces:
|
|
1245
986
|
Joined faces.
|
|
1246
987
|
|
|
1247
988
|
type list of (`bmesh.types.BMFace`)
|
|
1248
|
-
:rtype: dict[str, typing.Any]
|
|
1249
989
|
"""
|
|
1250
990
|
|
|
1251
991
|
def mesh_to_bmesh(
|
|
@@ -1258,13 +998,9 @@ def mesh_to_bmesh(
|
|
|
1258
998
|
reserved exclusively for entering edit-mode.
|
|
1259
999
|
|
|
1260
1000
|
:param bm: The bmesh to operate on.
|
|
1261
|
-
:type bm: bmesh.types.BMesh
|
|
1262
1001
|
:param mesh: Pointer to a Mesh structure.
|
|
1263
|
-
:type mesh: bpy.types.Mesh
|
|
1264
1002
|
:param object: Pointer to an Object structure.
|
|
1265
|
-
:type object: bpy.types.Object
|
|
1266
1003
|
:param use_shapekey: Load active shapekey coordinates into verts.
|
|
1267
|
-
:type use_shapekey: bool
|
|
1268
1004
|
"""
|
|
1269
1005
|
|
|
1270
1006
|
def mirror(
|
|
@@ -1286,28 +1022,18 @@ def mirror(
|
|
|
1286
1022
|
parameter (which defines the minimum distance for welding to happen).
|
|
1287
1023
|
|
|
1288
1024
|
:param bm: The bmesh to operate on.
|
|
1289
|
-
:type bm: bmesh.types.BMesh
|
|
1290
1025
|
:param geom: Input geometry.
|
|
1291
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1292
1026
|
:param matrix: Matrix defining the mirror transformation.
|
|
1293
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1294
1027
|
:param merge_dist: Maximum distance for merging. does no merging if 0.
|
|
1295
|
-
:type merge_dist: float
|
|
1296
1028
|
:param axis: The axis to use.
|
|
1297
|
-
:type axis: typing.Literal['X','Y','Z']
|
|
1298
1029
|
:param mirror_u: Mirror UVs across the u axis.
|
|
1299
|
-
:type mirror_u: bool
|
|
1300
1030
|
:param mirror_v: Mirror UVs across the v axis.
|
|
1301
|
-
:type mirror_v: bool
|
|
1302
1031
|
:param mirror_udim: Mirror UVs in each tile.
|
|
1303
|
-
:type mirror_udim: bool
|
|
1304
1032
|
:param use_shapekey: Transform shape keys too.
|
|
1305
|
-
:type use_shapekey: bool
|
|
1306
1033
|
:return: geom:
|
|
1307
1034
|
Output geometry, mirrored.
|
|
1308
1035
|
|
|
1309
1036
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1310
|
-
:rtype: dict[str, typing.Any]
|
|
1311
1037
|
"""
|
|
1312
1038
|
|
|
1313
1039
|
def object_load_bmesh(
|
|
@@ -1317,11 +1043,8 @@ def object_load_bmesh(
|
|
|
1317
1043
|
BMOP.
|
|
1318
1044
|
|
|
1319
1045
|
:param bm: The bmesh to operate on.
|
|
1320
|
-
:type bm: bmesh.types.BMesh
|
|
1321
1046
|
:param scene: Pointer to an scene structure.
|
|
1322
|
-
:type scene: bpy.types.Scene
|
|
1323
1047
|
:param object: Pointer to an object structure.
|
|
1324
|
-
:type object: bpy.types.Object
|
|
1325
1048
|
"""
|
|
1326
1049
|
|
|
1327
1050
|
def offset_edgeloops(
|
|
@@ -1332,16 +1055,12 @@ def offset_edgeloops(
|
|
|
1332
1055
|
"""Edge-loop Offset.Creates edge loops based on simple edge-outset method.
|
|
1333
1056
|
|
|
1334
1057
|
:param bm: The bmesh to operate on.
|
|
1335
|
-
:type bm: bmesh.types.BMesh
|
|
1336
1058
|
:param edges: Input edges.
|
|
1337
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1338
1059
|
:param use_cap_endpoint: Extend loop around end-points.
|
|
1339
|
-
:type use_cap_endpoint: bool
|
|
1340
1060
|
:return: edges:
|
|
1341
1061
|
Output edges.
|
|
1342
1062
|
|
|
1343
1063
|
type list of (`bmesh.types.BMEdge`)
|
|
1344
|
-
:rtype: dict[str, typing.Any]
|
|
1345
1064
|
"""
|
|
1346
1065
|
|
|
1347
1066
|
def planar_faces(
|
|
@@ -1353,18 +1072,13 @@ def planar_faces(
|
|
|
1353
1072
|
"""Planar Faces.Iteratively flatten faces.
|
|
1354
1073
|
|
|
1355
1074
|
:param bm: The bmesh to operate on.
|
|
1356
|
-
:type bm: bmesh.types.BMesh
|
|
1357
1075
|
:param faces: Input geometry.
|
|
1358
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1359
1076
|
:param iterations: Number of times to flatten faces (for when connected faces are used)
|
|
1360
|
-
:type iterations: int
|
|
1361
1077
|
:param factor: Influence for making planar each iteration
|
|
1362
|
-
:type factor: float
|
|
1363
1078
|
:return: geom:
|
|
1364
1079
|
Output slot, computed boundary geometry.
|
|
1365
1080
|
|
|
1366
1081
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1367
|
-
:rtype: dict[str, typing.Any]
|
|
1368
1082
|
"""
|
|
1369
1083
|
|
|
1370
1084
|
def pointmerge(
|
|
@@ -1375,11 +1089,8 @@ def pointmerge(
|
|
|
1375
1089
|
"""Point Merge.Merge verts together at a point.
|
|
1376
1090
|
|
|
1377
1091
|
:param bm: The bmesh to operate on.
|
|
1378
|
-
:type bm: bmesh.types.BMesh
|
|
1379
1092
|
:param verts: Input vertices (all verts will be merged into the first).
|
|
1380
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1381
1093
|
:param merge_co: Position to merge at.
|
|
1382
|
-
:type merge_co: collections.abc.Sequence[float] | mathutils.Vector
|
|
1383
1094
|
"""
|
|
1384
1095
|
|
|
1385
1096
|
def pointmerge_facedata(
|
|
@@ -1390,11 +1101,8 @@ def pointmerge_facedata(
|
|
|
1390
1101
|
"""Face-Data Point Merge.Merge uv/vcols at a specific vertex.
|
|
1391
1102
|
|
|
1392
1103
|
:param bm: The bmesh to operate on.
|
|
1393
|
-
:type bm: bmesh.types.BMesh
|
|
1394
1104
|
:param verts: Input vertices.
|
|
1395
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1396
1105
|
:param vert_snap: Snap vertex.
|
|
1397
|
-
:type vert_snap: bmesh.types.BMVert | None
|
|
1398
1106
|
"""
|
|
1399
1107
|
|
|
1400
1108
|
def poke(
|
|
@@ -1407,15 +1115,10 @@ def poke(
|
|
|
1407
1115
|
"""Pokes a face.Splits a face into a triangle fan.
|
|
1408
1116
|
|
|
1409
1117
|
:param bm: The bmesh to operate on.
|
|
1410
|
-
:type bm: bmesh.types.BMesh
|
|
1411
1118
|
:param faces: Input faces.
|
|
1412
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1413
1119
|
:param offset: Center vertex offset along normal.
|
|
1414
|
-
:type offset: float
|
|
1415
1120
|
:param center_mode: Calculation mode for center vertex.
|
|
1416
|
-
:type center_mode: typing.Literal['MEAN_WEIGHTED','MEAN','BOUNDS']
|
|
1417
1121
|
:param use_relative_offset: Apply offset.
|
|
1418
|
-
:type use_relative_offset: bool
|
|
1419
1122
|
:return: verts:
|
|
1420
1123
|
Output verts.
|
|
1421
1124
|
|
|
@@ -1425,7 +1128,6 @@ def poke(
|
|
|
1425
1128
|
Output faces.
|
|
1426
1129
|
|
|
1427
1130
|
type list of (`bmesh.types.BMFace`)
|
|
1428
|
-
:rtype: dict[str, typing.Any]
|
|
1429
1131
|
"""
|
|
1430
1132
|
|
|
1431
1133
|
def recalc_face_normals(
|
|
@@ -1434,9 +1136,7 @@ def recalc_face_normals(
|
|
|
1434
1136
|
"""Right-Hand Faces.Computes an "outside" normal for the specified input faces.
|
|
1435
1137
|
|
|
1436
1138
|
:param bm: The bmesh to operate on.
|
|
1437
|
-
:type bm: bmesh.types.BMesh
|
|
1438
1139
|
:param faces: Input faces.
|
|
1439
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1440
1140
|
"""
|
|
1441
1141
|
|
|
1442
1142
|
def region_extend(
|
|
@@ -1454,20 +1154,14 @@ def region_extend(
|
|
|
1454
1154
|
otherwise it spits out faces.
|
|
1455
1155
|
|
|
1456
1156
|
:param bm: The bmesh to operate on.
|
|
1457
|
-
:type bm: bmesh.types.BMesh
|
|
1458
1157
|
:param geom: Input geometry.
|
|
1459
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1460
1158
|
:param use_contract: Find boundary inside the regions, not outside.
|
|
1461
|
-
:type use_contract: bool
|
|
1462
1159
|
:param use_faces: Extend from faces instead of edges.
|
|
1463
|
-
:type use_faces: bool
|
|
1464
1160
|
:param use_face_step: Step over connected faces.
|
|
1465
|
-
:type use_face_step: bool
|
|
1466
1161
|
:return: geom:
|
|
1467
1162
|
Output slot, computed boundary geometry.
|
|
1468
1163
|
|
|
1469
1164
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1470
|
-
:rtype: dict[str, typing.Any]
|
|
1471
1165
|
"""
|
|
1472
1166
|
|
|
1473
1167
|
def remove_doubles(
|
|
@@ -1480,13 +1174,9 @@ def remove_doubles(
|
|
|
1480
1174
|
using the weld verts BMOP.
|
|
1481
1175
|
|
|
1482
1176
|
:param bm: The bmesh to operate on.
|
|
1483
|
-
:type bm: bmesh.types.BMesh
|
|
1484
1177
|
:param verts: Input verts.
|
|
1485
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1486
1178
|
:param use_connected: Limit the search for doubles by connected geometry.
|
|
1487
|
-
:type use_connected: bool
|
|
1488
1179
|
:param dist: Minimum distance.
|
|
1489
|
-
:type dist: float
|
|
1490
1180
|
"""
|
|
1491
1181
|
|
|
1492
1182
|
def reverse_colors(
|
|
@@ -1495,11 +1185,8 @@ def reverse_colors(
|
|
|
1495
1185
|
"""Color ReverseReverse the loop colors.
|
|
1496
1186
|
|
|
1497
1187
|
:param bm: The bmesh to operate on.
|
|
1498
|
-
:type bm: bmesh.types.BMesh
|
|
1499
1188
|
:param faces: Input faces.
|
|
1500
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1501
1189
|
:param color_index: Index into color attribute list.
|
|
1502
|
-
:type color_index: int
|
|
1503
1190
|
"""
|
|
1504
1191
|
|
|
1505
1192
|
def reverse_faces(
|
|
@@ -1511,20 +1198,15 @@ def reverse_faces(
|
|
|
1511
1198
|
This has the effect of flipping the normal.
|
|
1512
1199
|
|
|
1513
1200
|
:param bm: The bmesh to operate on.
|
|
1514
|
-
:type bm: bmesh.types.BMesh
|
|
1515
1201
|
:param faces: Input faces.
|
|
1516
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1517
1202
|
:param flip_multires: Maintain multi-res offset.
|
|
1518
|
-
:type flip_multires: bool
|
|
1519
1203
|
"""
|
|
1520
1204
|
|
|
1521
1205
|
def reverse_uvs(bm: bmesh.types.BMesh, faces: list[bmesh.types.BMFace] = []) -> None:
|
|
1522
1206
|
"""UV Reverse.Reverse the UVs
|
|
1523
1207
|
|
|
1524
1208
|
:param bm: The bmesh to operate on.
|
|
1525
|
-
:type bm: bmesh.types.BMesh
|
|
1526
1209
|
:param faces: Input faces.
|
|
1527
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1528
1210
|
"""
|
|
1529
1211
|
|
|
1530
1212
|
def rotate(
|
|
@@ -1540,17 +1222,11 @@ def rotate(
|
|
|
1540
1222
|
"""Rotate.Rotate vertices around a center, using a 3x3 rotation matrix.
|
|
1541
1223
|
|
|
1542
1224
|
:param bm: The bmesh to operate on.
|
|
1543
|
-
:type bm: bmesh.types.BMesh
|
|
1544
1225
|
:param cent: Center of rotation.
|
|
1545
|
-
:type cent: collections.abc.Sequence[float] | mathutils.Vector
|
|
1546
1226
|
:param matrix: Matrix defining rotation.
|
|
1547
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1548
1227
|
:param verts: Input vertices.
|
|
1549
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1550
1228
|
:param space: Matrix to define the space (typically object matrix).
|
|
1551
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1552
1229
|
:param use_shapekey: Transform shape keys too.
|
|
1553
|
-
:type use_shapekey: bool
|
|
1554
1230
|
"""
|
|
1555
1231
|
|
|
1556
1232
|
def rotate_colors(
|
|
@@ -1562,13 +1238,9 @@ def rotate_colors(
|
|
|
1562
1238
|
"""Color Rotation.Cycle the loop colors
|
|
1563
1239
|
|
|
1564
1240
|
:param bm: The bmesh to operate on.
|
|
1565
|
-
:type bm: bmesh.types.BMesh
|
|
1566
1241
|
:param faces: Input faces.
|
|
1567
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1568
1242
|
:param use_ccw: Rotate counter-clockwise if true, otherwise clockwise.
|
|
1569
|
-
:type use_ccw: bool
|
|
1570
1243
|
:param color_index: Index into color attribute list.
|
|
1571
|
-
:type color_index: int
|
|
1572
1244
|
"""
|
|
1573
1245
|
|
|
1574
1246
|
def rotate_edges(
|
|
@@ -1578,16 +1250,12 @@ def rotate_edges(
|
|
|
1578
1250
|
Simple example: [/] becomes [|] then [\].
|
|
1579
1251
|
|
|
1580
1252
|
:param bm: The bmesh to operate on.
|
|
1581
|
-
:type bm: bmesh.types.BMesh
|
|
1582
1253
|
:param edges: Input edges.
|
|
1583
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1584
1254
|
:param use_ccw: Rotate edge counter-clockwise if true, otherwise clockwise.
|
|
1585
|
-
:type use_ccw: bool
|
|
1586
1255
|
:return: edges:
|
|
1587
1256
|
Newly spun edges.
|
|
1588
1257
|
|
|
1589
1258
|
type list of (`bmesh.types.BMEdge`)
|
|
1590
|
-
:rtype: dict[str, typing.Any]
|
|
1591
1259
|
"""
|
|
1592
1260
|
|
|
1593
1261
|
def rotate_uvs(
|
|
@@ -1596,11 +1264,8 @@ def rotate_uvs(
|
|
|
1596
1264
|
"""UV Rotation.Cycle the loop UVs
|
|
1597
1265
|
|
|
1598
1266
|
:param bm: The bmesh to operate on.
|
|
1599
|
-
:type bm: bmesh.types.BMesh
|
|
1600
1267
|
:param faces: Input faces.
|
|
1601
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1602
1268
|
:param use_ccw: Rotate counter-clockwise if true, otherwise clockwise.
|
|
1603
|
-
:type use_ccw: bool
|
|
1604
1269
|
"""
|
|
1605
1270
|
|
|
1606
1271
|
def scale(
|
|
@@ -1614,15 +1279,10 @@ def scale(
|
|
|
1614
1279
|
"""Scale.Scales vertices by an offset.
|
|
1615
1280
|
|
|
1616
1281
|
:param bm: The bmesh to operate on.
|
|
1617
|
-
:type bm: bmesh.types.BMesh
|
|
1618
1282
|
:param vec: Scale factor.
|
|
1619
|
-
:type vec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1620
1283
|
:param space: Matrix to define the space (typically object matrix).
|
|
1621
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1622
1284
|
:param verts: Input vertices.
|
|
1623
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1624
1285
|
:param use_shapekey: Transform shape keys too.
|
|
1625
|
-
:type use_shapekey: bool
|
|
1626
1286
|
"""
|
|
1627
1287
|
|
|
1628
1288
|
def smooth_laplacian_vert(
|
|
@@ -1639,21 +1299,13 @@ def smooth_laplacian_vert(
|
|
|
1639
1299
|
Desbrun, et al. Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.
|
|
1640
1300
|
|
|
1641
1301
|
:param bm: The bmesh to operate on.
|
|
1642
|
-
:type bm: bmesh.types.BMesh
|
|
1643
1302
|
:param verts: Input vertices.
|
|
1644
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1645
1303
|
:param lambda_factor: Lambda parameter.
|
|
1646
|
-
:type lambda_factor: float
|
|
1647
1304
|
:param lambda_border: Lambda param in border.
|
|
1648
|
-
:type lambda_border: float
|
|
1649
1305
|
:param use_x: Smooth object along X axis.
|
|
1650
|
-
:type use_x: bool
|
|
1651
1306
|
:param use_y: Smooth object along Y axis.
|
|
1652
|
-
:type use_y: bool
|
|
1653
1307
|
:param use_z: Smooth object along Z axis.
|
|
1654
|
-
:type use_z: bool
|
|
1655
1308
|
:param preserve_volume: Apply volume preservation after smooth.
|
|
1656
|
-
:type preserve_volume: bool
|
|
1657
1309
|
"""
|
|
1658
1310
|
|
|
1659
1311
|
def smooth_vert(
|
|
@@ -1671,25 +1323,15 @@ def smooth_vert(
|
|
|
1671
1323
|
"""Vertex Smooth.Smooths vertices by using a basic vertex averaging scheme.
|
|
1672
1324
|
|
|
1673
1325
|
:param bm: The bmesh to operate on.
|
|
1674
|
-
:type bm: bmesh.types.BMesh
|
|
1675
1326
|
:param verts: Input vertices.
|
|
1676
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1677
1327
|
:param factor: Smoothing factor.
|
|
1678
|
-
:type factor: float
|
|
1679
1328
|
:param mirror_clip_x: Set vertices close to the x axis before the operation to 0.
|
|
1680
|
-
:type mirror_clip_x: bool
|
|
1681
1329
|
:param mirror_clip_y: Set vertices close to the y axis before the operation to 0.
|
|
1682
|
-
:type mirror_clip_y: bool
|
|
1683
1330
|
:param mirror_clip_z: Set vertices close to the z axis before the operation to 0.
|
|
1684
|
-
:type mirror_clip_z: bool
|
|
1685
1331
|
:param clip_dist: Clipping threshold for the above three slots.
|
|
1686
|
-
:type clip_dist: float
|
|
1687
1332
|
:param use_axis_x: Smooth vertices along X axis.
|
|
1688
|
-
:type use_axis_x: bool
|
|
1689
1333
|
:param use_axis_y: Smooth vertices along Y axis.
|
|
1690
|
-
:type use_axis_y: bool
|
|
1691
1334
|
:param use_axis_z: Smooth vertices along Z axis.
|
|
1692
|
-
:type use_axis_z: bool
|
|
1693
1335
|
"""
|
|
1694
1336
|
|
|
1695
1337
|
def solidify(
|
|
@@ -1702,15 +1344,11 @@ def solidify(
|
|
|
1702
1344
|
"""Solidify.Turns a mesh into a shell with thickness
|
|
1703
1345
|
|
|
1704
1346
|
:param bm: The bmesh to operate on.
|
|
1705
|
-
:type bm: bmesh.types.BMesh
|
|
1706
1347
|
:param geom: Input geometry.
|
|
1707
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1708
1348
|
:param thickness: Thickness.
|
|
1709
|
-
:type thickness: float
|
|
1710
1349
|
:return: geom:
|
|
1711
1350
|
|
|
1712
1351
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1713
|
-
:rtype: dict[str, typing.Any]
|
|
1714
1352
|
"""
|
|
1715
1353
|
|
|
1716
1354
|
def spin(
|
|
@@ -1733,32 +1371,20 @@ def spin(
|
|
|
1733
1371
|
rotating and possibly translating after each step
|
|
1734
1372
|
|
|
1735
1373
|
:param bm: The bmesh to operate on.
|
|
1736
|
-
:type bm: bmesh.types.BMesh
|
|
1737
1374
|
:param geom: Input geometry.
|
|
1738
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1739
1375
|
:param cent: Rotation center.
|
|
1740
|
-
:type cent: collections.abc.Sequence[float] | mathutils.Vector
|
|
1741
1376
|
:param axis: Rotation axis.
|
|
1742
|
-
:type axis: collections.abc.Sequence[float] | mathutils.Vector
|
|
1743
1377
|
:param dvec: Translation delta per step.
|
|
1744
|
-
:type dvec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1745
1378
|
:param angle: Total rotation angle (radians).
|
|
1746
|
-
:type angle: float
|
|
1747
1379
|
:param space: Matrix to define the space (typically object matrix).
|
|
1748
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1749
1380
|
:param steps: Number of steps.
|
|
1750
|
-
:type steps: int
|
|
1751
1381
|
:param use_merge: Merge first/last when the angle is a full revolution.
|
|
1752
|
-
:type use_merge: bool
|
|
1753
1382
|
:param use_normal_flip: Create faces with reversed direction.
|
|
1754
|
-
:type use_normal_flip: bool
|
|
1755
1383
|
:param use_duplicate: Duplicate or extrude?.
|
|
1756
|
-
:type use_duplicate: bool
|
|
1757
1384
|
:return: geom_last:
|
|
1758
1385
|
Result of last step.
|
|
1759
1386
|
|
|
1760
1387
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1761
|
-
:rtype: dict[str, typing.Any]
|
|
1762
1388
|
"""
|
|
1763
1389
|
|
|
1764
1390
|
def split(
|
|
@@ -1773,13 +1399,9 @@ def split(
|
|
|
1773
1399
|
optionally into a destination mesh.
|
|
1774
1400
|
|
|
1775
1401
|
:param bm: The bmesh to operate on.
|
|
1776
|
-
:type bm: bmesh.types.BMesh
|
|
1777
1402
|
:param geom: Input geometry.
|
|
1778
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1779
1403
|
:param dest: Destination bmesh, if None will use current one.
|
|
1780
|
-
:type dest: bmesh.types.BMesh | None
|
|
1781
1404
|
:param use_only_faces: When enabled. dont duplicate loose verts/edges.
|
|
1782
|
-
:type use_only_faces: bool
|
|
1783
1405
|
:return: geom:
|
|
1784
1406
|
|
|
1785
1407
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1796,7 +1418,6 @@ def split(
|
|
|
1796
1418
|
isovert_map:
|
|
1797
1419
|
|
|
1798
1420
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
1799
|
-
:rtype: dict[str, typing.Any]
|
|
1800
1421
|
"""
|
|
1801
1422
|
|
|
1802
1423
|
def split_edges(
|
|
@@ -1808,18 +1429,13 @@ def split_edges(
|
|
|
1808
1429
|
"""Edge Split.Disconnects faces along input edges.
|
|
1809
1430
|
|
|
1810
1431
|
:param bm: The bmesh to operate on.
|
|
1811
|
-
:type bm: bmesh.types.BMesh
|
|
1812
1432
|
:param edges: Input edges.
|
|
1813
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1814
1433
|
:param verts: Optional tag verts, use to have greater control of splits.
|
|
1815
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1816
1434
|
:param use_verts: Use verts for splitting, else just find verts to split from edges.
|
|
1817
|
-
:type use_verts: bool
|
|
1818
1435
|
:return: edges:
|
|
1819
1436
|
Old output disconnected edges.
|
|
1820
1437
|
|
|
1821
1438
|
type list of (`bmesh.types.BMEdge`)
|
|
1822
|
-
:rtype: dict[str, typing.Any]
|
|
1823
1439
|
"""
|
|
1824
1440
|
|
|
1825
1441
|
def subdivide_edgering(
|
|
@@ -1836,24 +1452,16 @@ def subdivide_edgering(
|
|
|
1836
1452
|
"""Subdivide Edge-Ring.Take an edge-ring, and subdivide with interpolation options.
|
|
1837
1453
|
|
|
1838
1454
|
:param bm: The bmesh to operate on.
|
|
1839
|
-
:type bm: bmesh.types.BMesh
|
|
1840
1455
|
:param edges: Input vertices.
|
|
1841
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1842
1456
|
:param interp_mode: Interpolation method.
|
|
1843
|
-
:type interp_mode: typing.Literal['LINEAR','PATH','SURFACE']
|
|
1844
1457
|
:param smooth: Smoothness factor.
|
|
1845
|
-
:type smooth: float
|
|
1846
1458
|
:param cuts: Number of cuts.
|
|
1847
|
-
:type cuts: int
|
|
1848
1459
|
:param profile_shape: Profile shape type.
|
|
1849
|
-
:type profile_shape: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
|
|
1850
1460
|
:param profile_shape_factor: How much intermediary new edges are shrunk/expanded.
|
|
1851
|
-
:type profile_shape_factor: float
|
|
1852
1461
|
:return: faces:
|
|
1853
1462
|
Output faces.
|
|
1854
1463
|
|
|
1855
1464
|
type list of (`bmesh.types.BMFace`)
|
|
1856
|
-
:rtype: dict[str, typing.Any]
|
|
1857
1465
|
"""
|
|
1858
1466
|
|
|
1859
1467
|
def subdivide_edges(
|
|
@@ -1882,35 +1490,21 @@ def subdivide_edges(
|
|
|
1882
1490
|
with options for face patterns, smoothing and randomization.
|
|
1883
1491
|
|
|
1884
1492
|
:param bm: The bmesh to operate on.
|
|
1885
|
-
:type bm: bmesh.types.BMesh
|
|
1886
1493
|
:param edges: Input edges.
|
|
1887
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1888
1494
|
:param smooth: Smoothness factor.
|
|
1889
|
-
:type smooth: float
|
|
1890
1495
|
:param smooth_falloff: Smooth falloff type.
|
|
1891
|
-
:type smooth_falloff: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
|
|
1892
1496
|
:param fractal: Fractal randomness factor.
|
|
1893
|
-
:type fractal: float
|
|
1894
1497
|
:param along_normal: Apply fractal displacement along normal only.
|
|
1895
|
-
:type along_normal: float
|
|
1896
1498
|
:param cuts: Number of cuts.
|
|
1897
|
-
:type cuts: int
|
|
1898
1499
|
:param seed: Seed for the random number generator.
|
|
1899
|
-
:type seed: int
|
|
1900
1500
|
:param custom_patterns: Uses custom pointers.
|
|
1901
1501
|
:param edge_percents: Undocumented.
|
|
1902
1502
|
:param quad_corner_type: Quad corner type.
|
|
1903
|
-
:type quad_corner_type: typing.Literal['STRAIGHT_CUT','INNER_VERT','PATH','FAN']
|
|
1904
1503
|
:param use_grid_fill: Fill in fully-selected faces with a grid.
|
|
1905
|
-
:type use_grid_fill: bool
|
|
1906
1504
|
:param use_single_edge: Tessellate the case of one edge selected in a quad or triangle.
|
|
1907
|
-
:type use_single_edge: bool
|
|
1908
1505
|
:param use_only_quads: Only subdivide quads (for loop-cut).
|
|
1909
|
-
:type use_only_quads: bool
|
|
1910
1506
|
:param use_sphere: For making new primitives only.
|
|
1911
|
-
:type use_sphere: bool
|
|
1912
1507
|
:param use_smooth_even: Maintain even offset when smoothing.
|
|
1913
|
-
:type use_smooth_even: bool
|
|
1914
1508
|
:return: geom_inner:
|
|
1915
1509
|
|
|
1916
1510
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1923,7 +1517,6 @@ def subdivide_edges(
|
|
|
1923
1517
|
Contains all output geometry.
|
|
1924
1518
|
|
|
1925
1519
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1926
|
-
:rtype: dict[str, typing.Any]
|
|
1927
1520
|
"""
|
|
1928
1521
|
|
|
1929
1522
|
def symmetrize(
|
|
@@ -1941,19 +1534,13 @@ def symmetrize(
|
|
|
1941
1534
|
symmetry are split as needed to enforce symmetry.All new vertices, edges, and faces are added to the "geom.out" slot.
|
|
1942
1535
|
|
|
1943
1536
|
:param bm: The bmesh to operate on.
|
|
1944
|
-
:type bm: bmesh.types.BMesh
|
|
1945
1537
|
:param input: Input geometry.
|
|
1946
|
-
:type input: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1947
1538
|
:param direction: Axis to use.
|
|
1948
|
-
:type direction: typing.Literal['-X','-Y','-Z','X','Y','Z']
|
|
1949
1539
|
:param dist: Minimum distance.
|
|
1950
|
-
:type dist: float
|
|
1951
1540
|
:param use_shapekey: Transform shape keys too.
|
|
1952
|
-
:type use_shapekey: bool
|
|
1953
1541
|
:return: geom:
|
|
1954
1542
|
|
|
1955
1543
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1956
|
-
:rtype: dict[str, typing.Any]
|
|
1957
1544
|
"""
|
|
1958
1545
|
|
|
1959
1546
|
def transform(
|
|
@@ -1969,15 +1556,10 @@ def transform(
|
|
|
1969
1556
|
the vertex coordinates with the matrix.
|
|
1970
1557
|
|
|
1971
1558
|
:param bm: The bmesh to operate on.
|
|
1972
|
-
:type bm: bmesh.types.BMesh
|
|
1973
1559
|
:param matrix: Transform matrix.
|
|
1974
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1975
1560
|
:param space: Matrix to define the space (typically object matrix).
|
|
1976
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1977
1561
|
:param verts: Input vertices.
|
|
1978
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1979
1562
|
:param use_shapekey: Transform shape keys too.
|
|
1980
|
-
:type use_shapekey: bool
|
|
1981
1563
|
"""
|
|
1982
1564
|
|
|
1983
1565
|
def translate(
|
|
@@ -1991,15 +1573,10 @@ def translate(
|
|
|
1991
1573
|
"""Translate.Translate vertices by an offset.
|
|
1992
1574
|
|
|
1993
1575
|
:param bm: The bmesh to operate on.
|
|
1994
|
-
:type bm: bmesh.types.BMesh
|
|
1995
1576
|
:param vec: Translation offset.
|
|
1996
|
-
:type vec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1997
1577
|
:param space: Matrix to define the space (typically object matrix).
|
|
1998
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1999
1578
|
:param verts: Input vertices.
|
|
2000
|
-
:type verts: list[bmesh.types.BMVert]
|
|
2001
1579
|
:param use_shapekey: Transform shape keys too.
|
|
2002
|
-
:type use_shapekey: bool
|
|
2003
1580
|
"""
|
|
2004
1581
|
|
|
2005
1582
|
def triangle_fill(
|
|
@@ -2012,20 +1589,14 @@ def triangle_fill(
|
|
|
2012
1589
|
"""Triangle Fill.Fill edges with triangles
|
|
2013
1590
|
|
|
2014
1591
|
:param bm: The bmesh to operate on.
|
|
2015
|
-
:type bm: bmesh.types.BMesh
|
|
2016
1592
|
:param use_beauty: Use best triangulation division.
|
|
2017
|
-
:type use_beauty: bool
|
|
2018
1593
|
:param use_dissolve: Dissolve resulting faces.
|
|
2019
|
-
:type use_dissolve: bool
|
|
2020
1594
|
:param edges: Input edges.
|
|
2021
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
2022
1595
|
:param normal: Optionally pass the fill normal to use.
|
|
2023
|
-
:type normal: collections.abc.Sequence[float] | mathutils.Vector
|
|
2024
1596
|
:return: geom:
|
|
2025
1597
|
New faces and edges.
|
|
2026
1598
|
|
|
2027
1599
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
2028
|
-
:rtype: dict[str, typing.Any]
|
|
2029
1600
|
"""
|
|
2030
1601
|
|
|
2031
1602
|
def triangulate(
|
|
@@ -2039,13 +1610,9 @@ def triangulate(
|
|
|
2039
1610
|
"""Triangulate.
|
|
2040
1611
|
|
|
2041
1612
|
:param bm: The bmesh to operate on.
|
|
2042
|
-
:type bm: bmesh.types.BMesh
|
|
2043
1613
|
:param faces: Input faces.
|
|
2044
|
-
:type faces: list[bmesh.types.BMFace]
|
|
2045
1614
|
:param quad_method: Method for splitting the quads into triangles.
|
|
2046
|
-
:type quad_method: typing.Literal['BEAUTY','FIXED','ALTERNATE','SHORT_EDGE','LONG_EDGE']
|
|
2047
1615
|
:param ngon_method: Method for splitting the polygons into triangles.
|
|
2048
|
-
:type ngon_method: typing.Literal['BEAUTY','EAR_CLIP']
|
|
2049
1616
|
:return: edges:
|
|
2050
1617
|
|
|
2051
1618
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -2062,7 +1629,6 @@ def triangulate(
|
|
|
2062
1629
|
Duplicate faces.
|
|
2063
1630
|
|
|
2064
1631
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
2065
|
-
:rtype: dict[str, typing.Any]
|
|
2066
1632
|
"""
|
|
2067
1633
|
|
|
2068
1634
|
def unsubdivide(
|
|
@@ -2071,11 +1637,8 @@ def unsubdivide(
|
|
|
2071
1637
|
"""Un-Subdivide.Reduce detail in geometry containing grids.
|
|
2072
1638
|
|
|
2073
1639
|
:param bm: The bmesh to operate on.
|
|
2074
|
-
:type bm: bmesh.types.BMesh
|
|
2075
1640
|
:param verts: Input vertices.
|
|
2076
|
-
:type verts: list[bmesh.types.BMVert]
|
|
2077
1641
|
:param iterations: Number of times to unsubdivide.
|
|
2078
|
-
:type iterations: int
|
|
2079
1642
|
"""
|
|
2080
1643
|
|
|
2081
1644
|
def weld_verts(bm: bmesh.types.BMesh, targetmap={}, use_centroid: bool = False) -> None:
|
|
@@ -2084,11 +1647,9 @@ def weld_verts(bm: bmesh.types.BMesh, targetmap={}, use_centroid: bool = False)
|
|
|
2084
1647
|
they weld with.
|
|
2085
1648
|
|
|
2086
1649
|
:param bm: The bmesh to operate on.
|
|
2087
|
-
:type bm: bmesh.types.BMesh
|
|
2088
1650
|
:param targetmap: Maps welded vertices to verts they should weld to.
|
|
2089
1651
|
:param use_centroid: Merged vertices to their centroid position,
|
|
2090
1652
|
otherwise the position of the target vertex is used.
|
|
2091
|
-
:type use_centroid: bool
|
|
2092
1653
|
"""
|
|
2093
1654
|
|
|
2094
1655
|
def wireframe(
|
|
@@ -2107,30 +1668,18 @@ def wireframe(
|
|
|
2107
1668
|
"""Wire Frame.Makes a wire-frame copy of faces.
|
|
2108
1669
|
|
|
2109
1670
|
:param bm: The bmesh to operate on.
|
|
2110
|
-
:type bm: bmesh.types.BMesh
|
|
2111
1671
|
:param faces: Input faces.
|
|
2112
|
-
:type faces: list[bmesh.types.BMFace]
|
|
2113
1672
|
:param thickness: Thickness.
|
|
2114
|
-
:type thickness: float
|
|
2115
1673
|
:param offset: Offset the thickness from the center.
|
|
2116
|
-
:type offset: float
|
|
2117
1674
|
:param use_replace: Remove original geometry.
|
|
2118
|
-
:type use_replace: bool
|
|
2119
1675
|
:param use_boundary: Inset face boundaries.
|
|
2120
|
-
:type use_boundary: bool
|
|
2121
1676
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
2122
|
-
:type use_even_offset: bool
|
|
2123
1677
|
:param use_crease: Crease hub edges for improved subdivision surface.
|
|
2124
|
-
:type use_crease: bool
|
|
2125
1678
|
:param crease_weight: The mean crease weight for resulting edges.
|
|
2126
|
-
:type crease_weight: float
|
|
2127
1679
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
2128
|
-
:type use_relative_offset: bool
|
|
2129
1680
|
:param material_offset: Offset material index of generated faces.
|
|
2130
|
-
:type material_offset: int
|
|
2131
1681
|
:return: faces:
|
|
2132
1682
|
Output faces.
|
|
2133
1683
|
|
|
2134
1684
|
type list of (`bmesh.types.BMFace`)
|
|
2135
|
-
:rtype: dict[str, typing.Any]
|
|
2136
1685
|
"""
|