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