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