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