fake-bpy-module 20240320__py3-none-any.whl → 20240322__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.

Potentially problematic release.


This version of fake-bpy-module might be problematic. Click here for more details.

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