fake-bpy-module 20240210__py3-none-any.whl → 20240326__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. addon_utils/__init__.pyi +54 -11
  2. animsys_refactor/__init__.pyi +36 -7
  3. aud/__init__.pyi +307 -321
  4. bgl/__init__.pyi +2926 -865
  5. bl_app_override/__init__.pyi +14 -4
  6. bl_app_override/helpers/__init__.pyi +24 -3
  7. bl_app_template_utils/__init__.pyi +19 -5
  8. bl_console_utils/__init__.pyi +0 -1
  9. bl_console_utils/autocomplete/__init__.pyi +2 -3
  10. bl_console_utils/autocomplete/complete_calltip/__init__.pyi +24 -6
  11. bl_console_utils/autocomplete/complete_import/__init__.pyi +14 -4
  12. bl_console_utils/autocomplete/complete_namespace/__init__.pyi +24 -6
  13. bl_console_utils/autocomplete/intellisense/__init__.pyi +9 -3
  14. bl_i18n_utils/__init__.pyi +2 -3
  15. bl_i18n_utils/bl_extract_messages/__init__.pyi +74 -16
  16. bl_i18n_utils/merge_po/__init__.pyi +4 -2
  17. bl_i18n_utils/settings/__init__.pyi +53 -7
  18. bl_i18n_utils/utils/__init__.pyi +332 -45
  19. bl_i18n_utils/utils_cli/__init__.pyi +29 -7
  20. bl_i18n_utils/utils_languages_menu/__init__.pyi +4 -2
  21. bl_i18n_utils/utils_rtl/__init__.pyi +9 -3
  22. bl_keymap_utils/__init__.pyi +2 -3
  23. bl_keymap_utils/io/__init__.pyi +44 -10
  24. bl_keymap_utils/keymap_from_toolbar/__init__.pyi +4 -2
  25. bl_keymap_utils/keymap_hierarchy/__init__.pyi +4 -2
  26. bl_keymap_utils/platform_helpers/__init__.pyi +9 -3
  27. bl_keymap_utils/versioning/__init__.pyi +4 -2
  28. bl_math/__init__.pyi +21 -22
  29. bl_operators/__init__.pyi +30 -24
  30. bl_operators/add_mesh_torus/__init__.pyi +171 -38
  31. bl_operators/anim/__init__.pyi +1065 -227
  32. bl_operators/assets/__init__.pyi +427 -93
  33. bl_operators/bmesh/__init__.pyi +0 -1
  34. bl_operators/bmesh/find_adjacent/__init__.pyi +44 -10
  35. bl_operators/clip/__init__.pyi +1342 -288
  36. bl_operators/console/__init__.pyi +647 -141
  37. bl_operators/constraint/__init__.pyi +524 -113
  38. bl_operators/file/__init__.pyi +396 -85
  39. bl_operators/freestyle/__init__.pyi +532 -114
  40. bl_operators/geometry_nodes/__init__.pyi +2412 -597
  41. bl_operators/image/__init__.pyi +380 -83
  42. bl_operators/mesh/__init__.pyi +401 -86
  43. bl_operators/node/__init__.pyi +1756 -385
  44. bl_operators/object/__init__.pyi +2022 -553
  45. bl_operators/object_align/__init__.pyi +145 -32
  46. bl_operators/object_quick_effects/__init__.pyi +555 -125
  47. bl_operators/object_randomize_transform/__init__.pyi +136 -33
  48. bl_operators/presets/__init__.pyi +3516 -709
  49. bl_operators/rigidbody/__init__.pyi +401 -86
  50. bl_operators/screen_play_rendered_anim/__init__.pyi +129 -30
  51. bl_operators/sequencer/__init__.pyi +731 -150
  52. bl_operators/spreadsheet/__init__.pyi +145 -31
  53. bl_operators/userpref/__init__.pyi +3416 -825
  54. bl_operators/uvcalc_follow_active/__init__.pyi +149 -33
  55. bl_operators/uvcalc_lightmap/__init__.pyi +187 -35
  56. bl_operators/uvcalc_transform/__init__.pyi +344 -74
  57. bl_operators/vertexpaint_dirt/__init__.pyi +140 -31
  58. bl_operators/view3d/__init__.pyi +697 -147
  59. bl_operators/wm/__init__.pyi +6287 -1534
  60. bl_previews_utils/__init__.pyi +0 -1
  61. bl_previews_utils/bl_previews_render/__init__.pyi +34 -8
  62. bl_rna_utils/__init__.pyi +0 -1
  63. bl_rna_utils/data_path/__init__.pyi +12 -3
  64. bl_text_utils/__init__.pyi +0 -1
  65. bl_text_utils/external_editor/__init__.pyi +4 -2
  66. bl_ui/__init__.pyi +567 -170
  67. bl_ui/anim/__init__.pyi +164 -34
  68. bl_ui/asset_shelf/__init__.pyi +146 -32
  69. bl_ui/generic_ui_list/__init__.pyi +471 -100
  70. bl_ui/node_add_menu/__init__.pyi +196 -41
  71. bl_ui/node_add_menu_compositor/__init__.pyi +3017 -622
  72. bl_ui/node_add_menu_geometry/__init__.pyi +8075 -1592
  73. bl_ui/node_add_menu_shader/__init__.pyi +1709 -349
  74. bl_ui/node_add_menu_texture/__init__.pyi +1502 -306
  75. bl_ui/properties_animviz/__init__.pyi +32 -3
  76. bl_ui/properties_collection/__init__.pyi +787 -180
  77. bl_ui/properties_constraint/__init__.pyi +28635 -5524
  78. bl_ui/properties_data_armature/__init__.pyi +1905 -449
  79. bl_ui/properties_data_bone/__init__.pyi +1560 -337
  80. bl_ui/properties_data_camera/__init__.pyi +2269 -495
  81. bl_ui/properties_data_curve/__init__.pyi +2362 -535
  82. bl_ui/properties_data_curves/__init__.pyi +951 -204
  83. bl_ui/properties_data_empty/__init__.pyi +317 -70
  84. bl_ui/properties_data_gpencil/__init__.pyi +2924 -735
  85. bl_ui/properties_data_grease_pencil/__init__.pyi +1631 -189
  86. bl_ui/properties_data_lattice/__init__.pyi +472 -105
  87. bl_ui/properties_data_light/__init__.pyi +1570 -338
  88. bl_ui/properties_data_lightprobe/__init__.pyi +938 -209
  89. bl_ui/properties_data_mesh/__init__.pyi +3205 -768
  90. bl_ui/properties_data_metaball/__init__.pyi +774 -171
  91. bl_ui/properties_data_modifier/__init__.pyi +1554 -329
  92. bl_ui/properties_data_pointcloud/__init__.pyi +821 -195
  93. bl_ui/properties_data_shaderfx/__init__.pyi +154 -35
  94. bl_ui/properties_data_speaker/__init__.pyi +782 -169
  95. bl_ui/properties_data_volume/__init__.pyi +1243 -282
  96. bl_ui/properties_freestyle/__init__.pyi +4071 -1031
  97. bl_ui/properties_grease_pencil_common/__init__.pyi +2399 -484
  98. bl_ui/properties_mask_common/__init__.pyi +1256 -250
  99. bl_ui/properties_material/__init__.pyi +2351 -543
  100. bl_ui/properties_material_gpencil/__init__.pyi +1590 -366
  101. bl_ui/properties_object/__init__.pyi +2179 -513
  102. bl_ui/properties_output/__init__.pyi +2956 -706
  103. bl_ui/properties_paint_common/__init__.pyi +947 -141
  104. bl_ui/properties_particle/__init__.pyi +8322 -1971
  105. bl_ui/properties_physics_cloth/__init__.pyi +2254 -509
  106. bl_ui/properties_physics_common/__init__.pyi +200 -45
  107. bl_ui/properties_physics_dynamicpaint/__init__.pyi +4454 -966
  108. bl_ui/properties_physics_field/__init__.pyi +1695 -365
  109. bl_ui/properties_physics_fluid/__init__.pyi +6127 -1281
  110. bl_ui/properties_physics_geometry_nodes/__init__.pyi +157 -33
  111. bl_ui/properties_physics_rigidbody/__init__.pyi +1254 -279
  112. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +2053 -484
  113. bl_ui/properties_physics_softbody/__init__.pyi +2394 -543
  114. bl_ui/properties_render/__init__.pyi +8312 -1934
  115. bl_ui/properties_scene/__init__.pyi +2211 -540
  116. bl_ui/properties_texture/__init__.pyi +4185 -1014
  117. bl_ui/properties_view_layer/__init__.pyi +2803 -665
  118. bl_ui/properties_workspace/__init__.pyi +626 -149
  119. bl_ui/properties_world/__init__.pyi +1092 -235
  120. bl_ui/space_clip/__init__.pyi +11475 -2806
  121. bl_ui/space_console/__init__.pyi +967 -203
  122. bl_ui/space_dopesheet/__init__.pyi +4260 -967
  123. bl_ui/space_filebrowser/__init__.pyi +4852 -1188
  124. bl_ui/space_graph/__init__.pyi +3251 -703
  125. bl_ui/space_image/__init__.pyi +12218 -2968
  126. bl_ui/space_info/__init__.pyi +964 -201
  127. bl_ui/space_nla/__init__.pyi +2756 -585
  128. bl_ui/space_node/__init__.pyi +5661 -1266
  129. bl_ui/space_outliner/__init__.pyi +2294 -479
  130. bl_ui/space_properties/__init__.pyi +417 -93
  131. bl_ui/space_sequencer/__init__.pyi +12436 -3010
  132. bl_ui/space_spreadsheet/__init__.pyi +184 -37
  133. bl_ui/space_statusbar/__init__.pyi +135 -31
  134. bl_ui/space_text/__init__.pyi +2556 -543
  135. bl_ui/space_time/__init__.pyi +1151 -244
  136. bl_ui/space_toolsystem_common/__init__.pyi +368 -67
  137. bl_ui/space_toolsystem_toolbar/__init__.pyi +1378 -229
  138. bl_ui/space_topbar/__init__.pyi +4214 -888
  139. bl_ui/space_userpref/__init__.pyi +13920 -3468
  140. bl_ui/space_view3d/__init__.pyi +42751 -9613
  141. bl_ui/space_view3d_toolbar/__init__.pyi +16379 -3860
  142. bl_ui/utils/__init__.pyi +42 -5
  143. bl_ui_utils/__init__.pyi +0 -1
  144. bl_ui_utils/bug_report_url/__init__.pyi +4 -2
  145. bl_ui_utils/layout/__init__.pyi +4 -2
  146. blend_render_info/__init__.pyi +13 -4
  147. blf/__init__.pyi +15 -18
  148. bmesh/__init__.pyi +18 -18
  149. bmesh/geometry/__init__.pyi +5 -6
  150. bmesh/ops/__init__.pyi +1337 -1158
  151. bmesh/types/__init__.pyi +464 -374
  152. bmesh/utils/__init__.pyi +64 -70
  153. bpy/__init__.pyi +6 -7
  154. bpy/app/__init__.pyi +36 -38
  155. bpy/app/handlers/__init__.pyi +37 -38
  156. bpy/app/icons/__init__.pyi +8 -11
  157. bpy/app/timers/__init__.pyi +18 -17
  158. bpy/app/translations/__init__.pyi +32 -30
  159. bpy/msgbus/__init__.pyi +25 -20
  160. bpy/ops/__init__.pyi +63 -64
  161. bpy/ops/action/__init__.pyi +408 -436
  162. bpy/ops/anim/__init__.pyi +459 -577
  163. bpy/ops/armature/__init__.pyi +396 -498
  164. bpy/ops/asset/__init__.pyi +187 -213
  165. bpy/ops/boid/__init__.pyi +50 -68
  166. bpy/ops/brush/__init__.pyi +72 -97
  167. bpy/ops/buttons/__init__.pyi +202 -193
  168. bpy/ops/cachefile/__init__.pyi +198 -188
  169. bpy/ops/camera/__init__.pyi +24 -31
  170. bpy/ops/clip/__init__.pyi +1021 -1082
  171. bpy/ops/cloth/__init__.pyi +11 -15
  172. bpy/ops/collection/__init__.pyi +36 -51
  173. bpy/ops/console/__init__.pyi +155 -209
  174. bpy/ops/constraint/__init__.pyi +286 -254
  175. bpy/ops/curve/__init__.pyi +597 -659
  176. bpy/ops/curves/__init__.pyi +191 -225
  177. bpy/ops/cycles/__init__.pyi +21 -30
  178. bpy/ops/dpaint/__init__.pyi +34 -47
  179. bpy/ops/ed/__init__.pyi +160 -176
  180. bpy/ops/export_anim/__init__.pyi +51 -34
  181. bpy/ops/export_mesh/__init__.pyi +47 -45
  182. bpy/ops/export_scene/__init__.pyi +659 -504
  183. bpy/ops/file/__init__.pyi +469 -474
  184. bpy/ops/fluid/__init__.pyi +89 -119
  185. bpy/ops/font/__init__.pyi +325 -361
  186. bpy/ops/geometry/__init__.pyi +86 -114
  187. bpy/ops/gizmogroup/__init__.pyi +22 -28
  188. bpy/ops/gpencil/__init__.pyi +1900 -1976
  189. bpy/ops/graph/__init__.pyi +875 -894
  190. bpy/ops/grease_pencil/__init__.pyi +572 -508
  191. bpy/ops/image/__init__.pyi +805 -855
  192. bpy/ops/import_anim/__init__.pyi +66 -46
  193. bpy/ops/import_curve/__init__.pyi +7 -11
  194. bpy/ops/import_mesh/__init__.pyi +19 -25
  195. bpy/ops/import_scene/__init__.pyi +164 -147
  196. bpy/ops/info/__init__.pyi +88 -85
  197. bpy/ops/lattice/__init__.pyi +86 -90
  198. bpy/ops/marker/__init__.pyi +135 -146
  199. bpy/ops/mask/__init__.pyi +372 -436
  200. bpy/ops/material/__init__.pyi +18 -25
  201. bpy/ops/mball/__init__.pyi +93 -99
  202. bpy/ops/mesh/__init__.pyi +2525 -2664
  203. bpy/ops/nla/__init__.pyi +398 -455
  204. bpy/ops/node/__init__.pyi +1015 -1207
  205. bpy/ops/object/__init__.pyi +3423 -3390
  206. bpy/ops/outliner/__init__.pyi +667 -685
  207. bpy/ops/paint/__init__.pyi +719 -672
  208. bpy/ops/paintcurve/__init__.pyi +64 -85
  209. bpy/ops/palette/__init__.pyi +48 -67
  210. bpy/ops/particle/__init__.pyi +323 -367
  211. bpy/ops/pose/__init__.pyi +569 -474
  212. bpy/ops/poselib/__init__.pyi +77 -100
  213. bpy/ops/preferences/__init__.pyi +460 -512
  214. bpy/ops/ptcache/__init__.pyi +46 -63
  215. bpy/ops/render/__init__.pyi +121 -155
  216. bpy/ops/rigidbody/__init__.pyi +148 -143
  217. bpy/ops/scene/__init__.pyi +336 -380
  218. bpy/ops/screen/__init__.pyi +454 -530
  219. bpy/ops/script/__init__.pyi +19 -28
  220. bpy/ops/sculpt/__init__.pyi +734 -587
  221. bpy/ops/sculpt_curves/__init__.pyi +51 -56
  222. bpy/ops/sequencer/__init__.pyi +1617 -1500
  223. bpy/ops/sound/__init__.pyi +392 -315
  224. bpy/ops/spreadsheet/__init__.pyi +31 -42
  225. bpy/ops/surface/__init__.pyi +198 -163
  226. bpy/ops/text/__init__.pyi +479 -545
  227. bpy/ops/text_editor/__init__.pyi +11 -15
  228. bpy/ops/texture/__init__.pyi +26 -36
  229. bpy/ops/transform/__init__.pyi +825 -941
  230. bpy/ops/ui/__init__.pyi +246 -295
  231. bpy/ops/uilist/__init__.pyi +34 -38
  232. bpy/ops/uv/__init__.pyi +912 -824
  233. bpy/ops/view2d/__init__.pyi +157 -197
  234. bpy/ops/view3d/__init__.pyi +777 -878
  235. bpy/ops/wm/__init__.pyi +4102 -3595
  236. bpy/ops/workspace/__init__.pyi +42 -58
  237. bpy/ops/world/__init__.pyi +6 -9
  238. bpy/path/__init__.pyi +166 -109
  239. bpy/props/__init__.pyi +478 -395
  240. bpy/types/__init__.pyi +87194 -81467
  241. bpy/utils/__init__.pyi +325 -169
  242. bpy/utils/previews/__init__.pyi +108 -21
  243. bpy/utils/units/__init__.pyi +37 -39
  244. bpy_extras/__init__.pyi +4 -9
  245. bpy_extras/anim_utils/__init__.pyi +25 -55
  246. bpy_extras/asset_utils/__init__.pyi +3 -13
  247. bpy_extras/id_map_utils/__init__.pyi +1 -4
  248. bpy_extras/image_utils/__init__.pyi +33 -23
  249. bpy_extras/io_utils/__init__.pyi +116 -66
  250. bpy_extras/keyconfig_utils/__init__.pyi +5 -3
  251. bpy_extras/mesh_utils/__init__.pyi +42 -34
  252. bpy_extras/node_utils/__init__.pyi +4 -4
  253. bpy_extras/object_utils/__init__.pyi +58 -43
  254. bpy_extras/view3d_utils/__init__.pyi +64 -63
  255. bpy_restrict_state/__init__.pyi +14 -2
  256. bpy_types/__init__.pyi +3873 -998
  257. console_python/__init__.pyi +41 -8
  258. console_shell/__init__.pyi +24 -6
  259. {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/METADATA +1 -1
  260. fake_bpy_module-20240326.dist-info/RECORD +343 -0
  261. {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/WHEEL +1 -1
  262. freestyle/__init__.pyi +4 -5
  263. freestyle/chainingiterators/__init__.pyi +229 -73
  264. freestyle/functions/__init__.pyi +624 -402
  265. freestyle/predicates/__init__.pyi +381 -169
  266. freestyle/shaders/__init__.pyi +424 -155
  267. freestyle/types/__init__.pyi +1572 -726
  268. freestyle/utils/ContextFunctions/__init__.pyi +54 -43
  269. freestyle/utils/__init__.pyi +67 -31
  270. gpu/__init__.pyi +3 -4
  271. gpu/capabilities/__init__.pyi +57 -37
  272. gpu/matrix/__init__.pyi +14 -17
  273. gpu/platform/__init__.pyi +5 -6
  274. gpu/select/__init__.pyi +2 -5
  275. gpu/shader/__init__.pyi +14 -12
  276. gpu/state/__init__.pyi +48 -62
  277. gpu/texture/__init__.pyi +7 -7
  278. gpu/types/__init__.pyi +670 -229
  279. gpu_extras/__init__.pyi +1 -2
  280. gpu_extras/batch/__init__.pyi +27 -6
  281. gpu_extras/presets/__init__.pyi +67 -27
  282. graphviz_export/__init__.pyi +9 -3
  283. idprop/__init__.pyi +0 -1
  284. idprop/types/__init__.pyi +42 -13
  285. imbuf/__init__.pyi +6 -10
  286. imbuf/types/__init__.pyi +8 -16
  287. keyingsets_builtins/__init__.pyi +3149 -702
  288. keyingsets_utils/__init__.pyi +69 -15
  289. mathutils/__init__.pyi +951 -876
  290. mathutils/bvhtree/__init__.pyi +47 -48
  291. mathutils/geometry/__init__.pyi +237 -242
  292. mathutils/interpolate/__init__.pyi +3 -6
  293. mathutils/kdtree/__init__.pyi +23 -26
  294. mathutils/noise/__init__.pyi +50 -51
  295. nodeitems_builtins/__init__.pyi +50 -11
  296. nodeitems_utils/__init__.pyi +58 -11
  297. rna_info/__init__.pyi +230 -27
  298. rna_keymap_ui/__init__.pyi +29 -7
  299. rna_prop_ui/__init__.pyi +69 -13
  300. rna_xml/__init__.pyi +29 -7
  301. sys_info/__init__.pyi +4 -2
  302. bpy_extras/bmesh_utils/__init__.pyi +0 -7
  303. bpy_extras/extensions/__init__.pyi +0 -5
  304. bpy_extras/extensions/junction_module/__init__.pyi +0 -13
  305. bpy_extras/node_shader_utils/__init__.pyi +0 -132
  306. bpy_extras/wm_utils/__init__.pyi +0 -5
  307. bpy_extras/wm_utils/progress_report/__init__.pyi +0 -30
  308. fake_bpy_module-20240210.dist-info/RECORD +0 -349
  309. {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/top_level.txt +0 -0
bpy/ops/mask/__init__.pyi CHANGED
@@ -1,297 +1,255 @@
1
- import sys
2
1
  import typing
3
- import bpy.types
4
2
  import bpy.ops.transform
3
+ import bpy.types
5
4
 
6
5
  GenericType = typing.TypeVar("GenericType")
7
6
 
8
7
  def add_feather_vertex(
9
- override_context: typing.Optional[
10
- typing.Union[typing.Dict, "bpy.types.Context"]
11
- ] = None,
12
- execution_context: typing.Optional[typing.Union[str, int]] = None,
13
- undo: typing.Optional[bool] = None,
14
- *,
15
- location: typing.Optional[typing.Any] = (0.0, 0.0),
8
+ override_context: typing.Union[dict, bpy.types.Context] = None,
9
+ execution_context: typing.Union[str, int] = None,
10
+ undo: bool = None,
11
+ location: typing.Any = (0.0, 0.0),
16
12
  ):
17
13
  """Add vertex to feather
18
14
 
19
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
20
- :type execution_context: typing.Optional[typing.Union[str, int]]
21
- :type undo: typing.Optional[bool]
15
+ :type override_context: typing.Union[dict, bpy.types.Context]
16
+ :type execution_context: typing.Union[str, int]
17
+ :type undo: bool
22
18
  :param location: Location, Location of vertex in normalized space
23
- :type location: typing.Optional[typing.Any]
19
+ :type location: typing.Any
24
20
  """
25
21
 
26
22
  ...
27
23
 
28
24
  def add_feather_vertex_slide(
29
- override_context: typing.Optional[
30
- typing.Union[typing.Dict, "bpy.types.Context"]
31
- ] = None,
32
- execution_context: typing.Optional[typing.Union[str, int]] = None,
33
- undo: typing.Optional[bool] = None,
34
- *,
35
- MASK_OT_add_feather_vertex: typing.Optional["add_feather_vertex"] = None,
36
- MASK_OT_slide_point: typing.Optional["slide_point"] = None,
25
+ override_context: typing.Union[dict, bpy.types.Context] = None,
26
+ execution_context: typing.Union[str, int] = None,
27
+ undo: bool = None,
28
+ MASK_OT_add_feather_vertex: add_feather_vertex = None,
29
+ MASK_OT_slide_point: slide_point = None,
37
30
  ):
38
31
  """Add new vertex to feather and slide it
39
32
 
40
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
41
- :type execution_context: typing.Optional[typing.Union[str, int]]
42
- :type undo: typing.Optional[bool]
33
+ :type override_context: typing.Union[dict, bpy.types.Context]
34
+ :type execution_context: typing.Union[str, int]
35
+ :type undo: bool
43
36
  :param MASK_OT_add_feather_vertex: Add Feather Vertex, Add vertex to feather
44
- :type MASK_OT_add_feather_vertex: typing.Optional['add_feather_vertex']
37
+ :type MASK_OT_add_feather_vertex: add_feather_vertex
45
38
  :param MASK_OT_slide_point: Slide Point, Slide control points
46
- :type MASK_OT_slide_point: typing.Optional['slide_point']
39
+ :type MASK_OT_slide_point: slide_point
47
40
  """
48
41
 
49
42
  ...
50
43
 
51
44
  def add_vertex(
52
- override_context: typing.Optional[
53
- typing.Union[typing.Dict, "bpy.types.Context"]
54
- ] = None,
55
- execution_context: typing.Optional[typing.Union[str, int]] = None,
56
- undo: typing.Optional[bool] = None,
57
- *,
58
- location: typing.Optional[typing.Any] = (0.0, 0.0),
45
+ override_context: typing.Union[dict, bpy.types.Context] = None,
46
+ execution_context: typing.Union[str, int] = None,
47
+ undo: bool = None,
48
+ location: typing.Any = (0.0, 0.0),
59
49
  ):
60
50
  """Add vertex to active spline
61
51
 
62
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
63
- :type execution_context: typing.Optional[typing.Union[str, int]]
64
- :type undo: typing.Optional[bool]
52
+ :type override_context: typing.Union[dict, bpy.types.Context]
53
+ :type execution_context: typing.Union[str, int]
54
+ :type undo: bool
65
55
  :param location: Location, Location of vertex in normalized space
66
- :type location: typing.Optional[typing.Any]
56
+ :type location: typing.Any
67
57
  """
68
58
 
69
59
  ...
70
60
 
71
61
  def add_vertex_slide(
72
- override_context: typing.Optional[
73
- typing.Union[typing.Dict, "bpy.types.Context"]
74
- ] = None,
75
- execution_context: typing.Optional[typing.Union[str, int]] = None,
76
- undo: typing.Optional[bool] = None,
77
- *,
78
- MASK_OT_add_vertex: typing.Optional["add_vertex"] = None,
79
- MASK_OT_slide_point: typing.Optional["slide_point"] = None,
62
+ override_context: typing.Union[dict, bpy.types.Context] = None,
63
+ execution_context: typing.Union[str, int] = None,
64
+ undo: bool = None,
65
+ MASK_OT_add_vertex: add_vertex = None,
66
+ MASK_OT_slide_point: slide_point = None,
80
67
  ):
81
68
  """Add new vertex and slide it
82
69
 
83
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
84
- :type execution_context: typing.Optional[typing.Union[str, int]]
85
- :type undo: typing.Optional[bool]
70
+ :type override_context: typing.Union[dict, bpy.types.Context]
71
+ :type execution_context: typing.Union[str, int]
72
+ :type undo: bool
86
73
  :param MASK_OT_add_vertex: Add Vertex, Add vertex to active spline
87
- :type MASK_OT_add_vertex: typing.Optional['add_vertex']
74
+ :type MASK_OT_add_vertex: add_vertex
88
75
  :param MASK_OT_slide_point: Slide Point, Slide control points
89
- :type MASK_OT_slide_point: typing.Optional['slide_point']
76
+ :type MASK_OT_slide_point: slide_point
90
77
  """
91
78
 
92
79
  ...
93
80
 
94
81
  def copy_splines(
95
- override_context: typing.Optional[
96
- typing.Union[typing.Dict, "bpy.types.Context"]
97
- ] = None,
98
- execution_context: typing.Optional[typing.Union[str, int]] = None,
99
- undo: typing.Optional[bool] = None,
82
+ override_context: typing.Union[dict, bpy.types.Context] = None,
83
+ execution_context: typing.Union[str, int] = None,
84
+ undo: bool = None,
100
85
  ):
101
86
  """Copy the selected splines to the internal clipboard
102
87
 
103
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
104
- :type execution_context: typing.Optional[typing.Union[str, int]]
105
- :type undo: typing.Optional[bool]
88
+ :type override_context: typing.Union[dict, bpy.types.Context]
89
+ :type execution_context: typing.Union[str, int]
90
+ :type undo: bool
106
91
  """
107
92
 
108
93
  ...
109
94
 
110
95
  def cyclic_toggle(
111
- override_context: typing.Optional[
112
- typing.Union[typing.Dict, "bpy.types.Context"]
113
- ] = None,
114
- execution_context: typing.Optional[typing.Union[str, int]] = None,
115
- undo: typing.Optional[bool] = None,
96
+ override_context: typing.Union[dict, bpy.types.Context] = None,
97
+ execution_context: typing.Union[str, int] = None,
98
+ undo: bool = None,
116
99
  ):
117
100
  """Toggle cyclic for selected splines
118
101
 
119
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
120
- :type execution_context: typing.Optional[typing.Union[str, int]]
121
- :type undo: typing.Optional[bool]
102
+ :type override_context: typing.Union[dict, bpy.types.Context]
103
+ :type execution_context: typing.Union[str, int]
104
+ :type undo: bool
122
105
  """
123
106
 
124
107
  ...
125
108
 
126
109
  def delete(
127
- override_context: typing.Optional[
128
- typing.Union[typing.Dict, "bpy.types.Context"]
129
- ] = None,
130
- execution_context: typing.Optional[typing.Union[str, int]] = None,
131
- undo: typing.Optional[bool] = None,
132
- *,
133
- confirm: typing.Optional[typing.Union[bool, typing.Any]] = True,
110
+ override_context: typing.Union[dict, bpy.types.Context] = None,
111
+ execution_context: typing.Union[str, int] = None,
112
+ undo: bool = None,
113
+ confirm: typing.Union[bool, typing.Any] = True,
134
114
  ):
135
115
  """Delete selected control points or splines
136
116
 
137
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
138
- :type execution_context: typing.Optional[typing.Union[str, int]]
139
- :type undo: typing.Optional[bool]
117
+ :type override_context: typing.Union[dict, bpy.types.Context]
118
+ :type execution_context: typing.Union[str, int]
119
+ :type undo: bool
140
120
  :param confirm: Confirm, Prompt for confirmation
141
- :type confirm: typing.Optional[typing.Union[bool, typing.Any]]
121
+ :type confirm: typing.Union[bool, typing.Any]
142
122
  """
143
123
 
144
124
  ...
145
125
 
146
126
  def duplicate(
147
- override_context: typing.Optional[
148
- typing.Union[typing.Dict, "bpy.types.Context"]
149
- ] = None,
150
- execution_context: typing.Optional[typing.Union[str, int]] = None,
151
- undo: typing.Optional[bool] = None,
127
+ override_context: typing.Union[dict, bpy.types.Context] = None,
128
+ execution_context: typing.Union[str, int] = None,
129
+ undo: bool = None,
152
130
  ):
153
131
  """Duplicate selected control points and segments between them
154
132
 
155
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
156
- :type execution_context: typing.Optional[typing.Union[str, int]]
157
- :type undo: typing.Optional[bool]
133
+ :type override_context: typing.Union[dict, bpy.types.Context]
134
+ :type execution_context: typing.Union[str, int]
135
+ :type undo: bool
158
136
  """
159
137
 
160
138
  ...
161
139
 
162
140
  def duplicate_move(
163
- override_context: typing.Optional[
164
- typing.Union[typing.Dict, "bpy.types.Context"]
165
- ] = None,
166
- execution_context: typing.Optional[typing.Union[str, int]] = None,
167
- undo: typing.Optional[bool] = None,
168
- *,
169
- MASK_OT_duplicate: typing.Optional["duplicate"] = None,
170
- TRANSFORM_OT_translate: typing.Optional["bpy.ops.transform.translate"] = None,
141
+ override_context: typing.Union[dict, bpy.types.Context] = None,
142
+ execution_context: typing.Union[str, int] = None,
143
+ undo: bool = None,
144
+ MASK_OT_duplicate: duplicate = None,
145
+ TRANSFORM_OT_translate: bpy.ops.transform.translate = None,
171
146
  ):
172
147
  """Duplicate mask and move
173
148
 
174
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
175
- :type execution_context: typing.Optional[typing.Union[str, int]]
176
- :type undo: typing.Optional[bool]
149
+ :type override_context: typing.Union[dict, bpy.types.Context]
150
+ :type execution_context: typing.Union[str, int]
151
+ :type undo: bool
177
152
  :param MASK_OT_duplicate: Duplicate Mask, Duplicate selected control points and segments between them
178
- :type MASK_OT_duplicate: typing.Optional['duplicate']
153
+ :type MASK_OT_duplicate: duplicate
179
154
  :param TRANSFORM_OT_translate: Move, Move selected items
180
- :type TRANSFORM_OT_translate: typing.Optional['bpy.ops.transform.translate']
155
+ :type TRANSFORM_OT_translate: bpy.ops.transform.translate
181
156
  """
182
157
 
183
158
  ...
184
159
 
185
160
  def feather_weight_clear(
186
- override_context: typing.Optional[
187
- typing.Union[typing.Dict, "bpy.types.Context"]
188
- ] = None,
189
- execution_context: typing.Optional[typing.Union[str, int]] = None,
190
- undo: typing.Optional[bool] = None,
161
+ override_context: typing.Union[dict, bpy.types.Context] = None,
162
+ execution_context: typing.Union[str, int] = None,
163
+ undo: bool = None,
191
164
  ):
192
165
  """Reset the feather weight to zero
193
166
 
194
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
195
- :type execution_context: typing.Optional[typing.Union[str, int]]
196
- :type undo: typing.Optional[bool]
167
+ :type override_context: typing.Union[dict, bpy.types.Context]
168
+ :type execution_context: typing.Union[str, int]
169
+ :type undo: bool
197
170
  """
198
171
 
199
172
  ...
200
173
 
201
174
  def handle_type_set(
202
- override_context: typing.Optional[
203
- typing.Union[typing.Dict, "bpy.types.Context"]
204
- ] = None,
205
- execution_context: typing.Optional[typing.Union[str, int]] = None,
206
- undo: typing.Optional[bool] = None,
207
- *,
208
- type: typing.Optional[typing.Any] = "AUTO",
175
+ override_context: typing.Union[dict, bpy.types.Context] = None,
176
+ execution_context: typing.Union[str, int] = None,
177
+ undo: bool = None,
178
+ type: typing.Any = "AUTO",
209
179
  ):
210
180
  """Set type of handles for selected control points
211
181
 
212
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
213
- :type execution_context: typing.Optional[typing.Union[str, int]]
214
- :type undo: typing.Optional[bool]
182
+ :type override_context: typing.Union[dict, bpy.types.Context]
183
+ :type execution_context: typing.Union[str, int]
184
+ :type undo: bool
215
185
  :param type: Type, Spline type
216
- :type type: typing.Optional[typing.Any]
186
+ :type type: typing.Any
217
187
  """
218
188
 
219
189
  ...
220
190
 
221
191
  def hide_view_clear(
222
- override_context: typing.Optional[
223
- typing.Union[typing.Dict, "bpy.types.Context"]
224
- ] = None,
225
- execution_context: typing.Optional[typing.Union[str, int]] = None,
226
- undo: typing.Optional[bool] = None,
227
- *,
228
- select: typing.Optional[typing.Union[bool, typing.Any]] = True,
192
+ override_context: typing.Union[dict, bpy.types.Context] = None,
193
+ execution_context: typing.Union[str, int] = None,
194
+ undo: bool = None,
195
+ select: typing.Union[bool, typing.Any] = True,
229
196
  ):
230
197
  """Reveal temporarily hidden mask layers
231
198
 
232
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
233
- :type execution_context: typing.Optional[typing.Union[str, int]]
234
- :type undo: typing.Optional[bool]
199
+ :type override_context: typing.Union[dict, bpy.types.Context]
200
+ :type execution_context: typing.Union[str, int]
201
+ :type undo: bool
235
202
  :param select: Select
236
- :type select: typing.Optional[typing.Union[bool, typing.Any]]
203
+ :type select: typing.Union[bool, typing.Any]
237
204
  """
238
205
 
239
206
  ...
240
207
 
241
208
  def hide_view_set(
242
- override_context: typing.Optional[
243
- typing.Union[typing.Dict, "bpy.types.Context"]
244
- ] = None,
245
- execution_context: typing.Optional[typing.Union[str, int]] = None,
246
- undo: typing.Optional[bool] = None,
247
- *,
248
- unselected: typing.Optional[typing.Union[bool, typing.Any]] = False,
209
+ override_context: typing.Union[dict, bpy.types.Context] = None,
210
+ execution_context: typing.Union[str, int] = None,
211
+ undo: bool = None,
212
+ unselected: typing.Union[bool, typing.Any] = False,
249
213
  ):
250
214
  """Temporarily hide mask layers
251
215
 
252
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
253
- :type execution_context: typing.Optional[typing.Union[str, int]]
254
- :type undo: typing.Optional[bool]
216
+ :type override_context: typing.Union[dict, bpy.types.Context]
217
+ :type execution_context: typing.Union[str, int]
218
+ :type undo: bool
255
219
  :param unselected: Unselected, Hide unselected rather than selected layers
256
- :type unselected: typing.Optional[typing.Union[bool, typing.Any]]
220
+ :type unselected: typing.Union[bool, typing.Any]
257
221
  """
258
222
 
259
223
  ...
260
224
 
261
225
  def layer_move(
262
- override_context: typing.Optional[
263
- typing.Union[typing.Dict, "bpy.types.Context"]
264
- ] = None,
265
- execution_context: typing.Optional[typing.Union[str, int]] = None,
266
- undo: typing.Optional[bool] = None,
267
- *,
268
- direction: typing.Optional[typing.Any] = "UP",
226
+ override_context: typing.Union[dict, bpy.types.Context] = None,
227
+ execution_context: typing.Union[str, int] = None,
228
+ undo: bool = None,
229
+ direction: typing.Any = "UP",
269
230
  ):
270
231
  """Move the active layer up/down in the list
271
232
 
272
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
273
- :type execution_context: typing.Optional[typing.Union[str, int]]
274
- :type undo: typing.Optional[bool]
233
+ :type override_context: typing.Union[dict, bpy.types.Context]
234
+ :type execution_context: typing.Union[str, int]
235
+ :type undo: bool
275
236
  :param direction: Direction, Direction to move the active layer
276
- :type direction: typing.Optional[typing.Any]
237
+ :type direction: typing.Any
277
238
  """
278
239
 
279
240
  ...
280
241
 
281
242
  def layer_new(
282
- override_context: typing.Optional[
283
- typing.Union[typing.Dict, "bpy.types.Context"]
284
- ] = None,
285
- execution_context: typing.Optional[typing.Union[str, int]] = None,
286
- undo: typing.Optional[bool] = None,
287
- *,
243
+ override_context: typing.Union[dict, bpy.types.Context] = None,
244
+ execution_context: typing.Union[str, int] = None,
245
+ undo: bool = None,
288
246
  name: typing.Union[str, typing.Any] = "",
289
247
  ):
290
248
  """Add new mask layer for masking
291
249
 
292
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
293
- :type execution_context: typing.Optional[typing.Union[str, int]]
294
- :type undo: typing.Optional[bool]
250
+ :type override_context: typing.Union[dict, bpy.types.Context]
251
+ :type execution_context: typing.Union[str, int]
252
+ :type undo: bool
295
253
  :param name: Name, Name of new mask layer
296
254
  :type name: typing.Union[str, typing.Any]
297
255
  """
@@ -299,35 +257,30 @@ def layer_new(
299
257
  ...
300
258
 
301
259
  def layer_remove(
302
- override_context: typing.Optional[
303
- typing.Union[typing.Dict, "bpy.types.Context"]
304
- ] = None,
305
- execution_context: typing.Optional[typing.Union[str, int]] = None,
306
- undo: typing.Optional[bool] = None,
260
+ override_context: typing.Union[dict, bpy.types.Context] = None,
261
+ execution_context: typing.Union[str, int] = None,
262
+ undo: bool = None,
307
263
  ):
308
264
  """Remove mask layer
309
265
 
310
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
311
- :type execution_context: typing.Optional[typing.Union[str, int]]
312
- :type undo: typing.Optional[bool]
266
+ :type override_context: typing.Union[dict, bpy.types.Context]
267
+ :type execution_context: typing.Union[str, int]
268
+ :type undo: bool
313
269
  """
314
270
 
315
271
  ...
316
272
 
317
273
  def new(
318
- override_context: typing.Optional[
319
- typing.Union[typing.Dict, "bpy.types.Context"]
320
- ] = None,
321
- execution_context: typing.Optional[typing.Union[str, int]] = None,
322
- undo: typing.Optional[bool] = None,
323
- *,
274
+ override_context: typing.Union[dict, bpy.types.Context] = None,
275
+ execution_context: typing.Union[str, int] = None,
276
+ undo: bool = None,
324
277
  name: typing.Union[str, typing.Any] = "",
325
278
  ):
326
279
  """Create new mask
327
280
 
328
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
329
- :type execution_context: typing.Optional[typing.Union[str, int]]
330
- :type undo: typing.Optional[bool]
281
+ :type override_context: typing.Union[dict, bpy.types.Context]
282
+ :type execution_context: typing.Union[str, int]
283
+ :type undo: bool
331
284
  :param name: Name, Name of new mask
332
285
  :type name: typing.Union[str, typing.Any]
333
286
  """
@@ -335,452 +288,435 @@ def new(
335
288
  ...
336
289
 
337
290
  def normals_make_consistent(
338
- override_context: typing.Optional[
339
- typing.Union[typing.Dict, "bpy.types.Context"]
340
- ] = None,
341
- execution_context: typing.Optional[typing.Union[str, int]] = None,
342
- undo: typing.Optional[bool] = None,
291
+ override_context: typing.Union[dict, bpy.types.Context] = None,
292
+ execution_context: typing.Union[str, int] = None,
293
+ undo: bool = None,
343
294
  ):
344
295
  """Recalculate the direction of selected handles
345
296
 
346
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
347
- :type execution_context: typing.Optional[typing.Union[str, int]]
348
- :type undo: typing.Optional[bool]
297
+ :type override_context: typing.Union[dict, bpy.types.Context]
298
+ :type execution_context: typing.Union[str, int]
299
+ :type undo: bool
349
300
  """
350
301
 
351
302
  ...
352
303
 
353
304
  def parent_clear(
354
- override_context: typing.Optional[
355
- typing.Union[typing.Dict, "bpy.types.Context"]
356
- ] = None,
357
- execution_context: typing.Optional[typing.Union[str, int]] = None,
358
- undo: typing.Optional[bool] = None,
305
+ override_context: typing.Union[dict, bpy.types.Context] = None,
306
+ execution_context: typing.Union[str, int] = None,
307
+ undo: bool = None,
359
308
  ):
360
309
  """Clear the mask's parenting
361
310
 
362
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
363
- :type execution_context: typing.Optional[typing.Union[str, int]]
364
- :type undo: typing.Optional[bool]
311
+ :type override_context: typing.Union[dict, bpy.types.Context]
312
+ :type execution_context: typing.Union[str, int]
313
+ :type undo: bool
365
314
  """
366
315
 
367
316
  ...
368
317
 
369
318
  def parent_set(
370
- override_context: typing.Optional[
371
- typing.Union[typing.Dict, "bpy.types.Context"]
372
- ] = None,
373
- execution_context: typing.Optional[typing.Union[str, int]] = None,
374
- undo: typing.Optional[bool] = None,
319
+ override_context: typing.Union[dict, bpy.types.Context] = None,
320
+ execution_context: typing.Union[str, int] = None,
321
+ undo: bool = None,
375
322
  ):
376
323
  """Set the mask's parenting
377
324
 
378
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
379
- :type execution_context: typing.Optional[typing.Union[str, int]]
380
- :type undo: typing.Optional[bool]
325
+ :type override_context: typing.Union[dict, bpy.types.Context]
326
+ :type execution_context: typing.Union[str, int]
327
+ :type undo: bool
381
328
  """
382
329
 
383
330
  ...
384
331
 
385
332
  def paste_splines(
386
- override_context: typing.Optional[
387
- typing.Union[typing.Dict, "bpy.types.Context"]
388
- ] = None,
389
- execution_context: typing.Optional[typing.Union[str, int]] = None,
390
- undo: typing.Optional[bool] = None,
333
+ override_context: typing.Union[dict, bpy.types.Context] = None,
334
+ execution_context: typing.Union[str, int] = None,
335
+ undo: bool = None,
391
336
  ):
392
337
  """Paste splines from the internal clipboard
393
338
 
394
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
395
- :type execution_context: typing.Optional[typing.Union[str, int]]
396
- :type undo: typing.Optional[bool]
339
+ :type override_context: typing.Union[dict, bpy.types.Context]
340
+ :type execution_context: typing.Union[str, int]
341
+ :type undo: bool
397
342
  """
398
343
 
399
344
  ...
400
345
 
401
346
  def primitive_circle_add(
402
- override_context: typing.Optional[
403
- typing.Union[typing.Dict, "bpy.types.Context"]
404
- ] = None,
405
- execution_context: typing.Optional[typing.Union[str, int]] = None,
406
- undo: typing.Optional[bool] = None,
407
- *,
408
- size: typing.Optional[typing.Any] = 100.0,
409
- location: typing.Optional[typing.Any] = (0.0, 0.0),
347
+ override_context: typing.Union[dict, bpy.types.Context] = None,
348
+ execution_context: typing.Union[str, int] = None,
349
+ undo: bool = None,
350
+ size: typing.Any = 100.0,
351
+ location: typing.Any = (0.0, 0.0),
410
352
  ):
411
353
  """Add new circle-shaped spline
412
354
 
413
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
414
- :type execution_context: typing.Optional[typing.Union[str, int]]
415
- :type undo: typing.Optional[bool]
355
+ :type override_context: typing.Union[dict, bpy.types.Context]
356
+ :type execution_context: typing.Union[str, int]
357
+ :type undo: bool
416
358
  :param size: Size, Size of new circle
417
- :type size: typing.Optional[typing.Any]
359
+ :type size: typing.Any
418
360
  :param location: Location, Location of new circle
419
- :type location: typing.Optional[typing.Any]
361
+ :type location: typing.Any
420
362
  """
421
363
 
422
364
  ...
423
365
 
424
366
  def primitive_square_add(
425
- override_context: typing.Optional[
426
- typing.Union[typing.Dict, "bpy.types.Context"]
427
- ] = None,
428
- execution_context: typing.Optional[typing.Union[str, int]] = None,
429
- undo: typing.Optional[bool] = None,
430
- *,
431
- size: typing.Optional[typing.Any] = 100.0,
432
- location: typing.Optional[typing.Any] = (0.0, 0.0),
367
+ override_context: typing.Union[dict, bpy.types.Context] = None,
368
+ execution_context: typing.Union[str, int] = None,
369
+ undo: bool = None,
370
+ size: typing.Any = 100.0,
371
+ location: typing.Any = (0.0, 0.0),
433
372
  ):
434
373
  """Add new square-shaped spline
435
374
 
436
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
437
- :type execution_context: typing.Optional[typing.Union[str, int]]
438
- :type undo: typing.Optional[bool]
375
+ :type override_context: typing.Union[dict, bpy.types.Context]
376
+ :type execution_context: typing.Union[str, int]
377
+ :type undo: bool
439
378
  :param size: Size, Size of new circle
440
- :type size: typing.Optional[typing.Any]
379
+ :type size: typing.Any
441
380
  :param location: Location, Location of new circle
442
- :type location: typing.Optional[typing.Any]
381
+ :type location: typing.Any
443
382
  """
444
383
 
445
384
  ...
446
385
 
447
386
  def select(
448
- override_context: typing.Optional[
449
- typing.Union[typing.Dict, "bpy.types.Context"]
450
- ] = None,
451
- execution_context: typing.Optional[typing.Union[str, int]] = None,
452
- undo: typing.Optional[bool] = None,
453
- *,
454
- extend: typing.Optional[typing.Union[bool, typing.Any]] = False,
455
- deselect: typing.Optional[typing.Union[bool, typing.Any]] = False,
456
- toggle: typing.Optional[typing.Union[bool, typing.Any]] = False,
457
- deselect_all: typing.Optional[typing.Union[bool, typing.Any]] = False,
458
- select_passthrough: typing.Optional[typing.Union[bool, typing.Any]] = False,
459
- location: typing.Optional[typing.Any] = (0.0, 0.0),
387
+ override_context: typing.Union[dict, bpy.types.Context] = None,
388
+ execution_context: typing.Union[str, int] = None,
389
+ undo: bool = None,
390
+ extend: typing.Union[bool, typing.Any] = False,
391
+ deselect: typing.Union[bool, typing.Any] = False,
392
+ toggle: typing.Union[bool, typing.Any] = False,
393
+ deselect_all: typing.Union[bool, typing.Any] = False,
394
+ select_passthrough: typing.Union[bool, typing.Any] = False,
395
+ location: typing.Any = (0.0, 0.0),
460
396
  ):
461
397
  """Select spline points
462
398
 
463
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
464
- :type execution_context: typing.Optional[typing.Union[str, int]]
465
- :type undo: typing.Optional[bool]
399
+ :type override_context: typing.Union[dict, bpy.types.Context]
400
+ :type execution_context: typing.Union[str, int]
401
+ :type undo: bool
466
402
  :param extend: Extend, Extend selection instead of deselecting everything first
467
- :type extend: typing.Optional[typing.Union[bool, typing.Any]]
403
+ :type extend: typing.Union[bool, typing.Any]
468
404
  :param deselect: Deselect, Remove from selection
469
- :type deselect: typing.Optional[typing.Union[bool, typing.Any]]
405
+ :type deselect: typing.Union[bool, typing.Any]
470
406
  :param toggle: Toggle Selection, Toggle the selection
471
- :type toggle: typing.Optional[typing.Union[bool, typing.Any]]
407
+ :type toggle: typing.Union[bool, typing.Any]
472
408
  :param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor
473
- :type deselect_all: typing.Optional[typing.Union[bool, typing.Any]]
409
+ :type deselect_all: typing.Union[bool, typing.Any]
474
410
  :param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected
475
- :type select_passthrough: typing.Optional[typing.Union[bool, typing.Any]]
411
+ :type select_passthrough: typing.Union[bool, typing.Any]
476
412
  :param location: Location, Location of vertex in normalized space
477
- :type location: typing.Optional[typing.Any]
413
+ :type location: typing.Any
478
414
  """
479
415
 
480
416
  ...
481
417
 
482
418
  def select_all(
483
- override_context: typing.Optional[
484
- typing.Union[typing.Dict, "bpy.types.Context"]
485
- ] = None,
486
- execution_context: typing.Optional[typing.Union[str, int]] = None,
487
- undo: typing.Optional[bool] = None,
488
- *,
489
- action: typing.Optional[typing.Any] = "TOGGLE",
419
+ override_context: typing.Union[dict, bpy.types.Context] = None,
420
+ execution_context: typing.Union[str, int] = None,
421
+ undo: bool = None,
422
+ action: typing.Any = "TOGGLE",
490
423
  ):
491
424
  """Change selection of all curve points
492
425
 
493
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
494
- :type execution_context: typing.Optional[typing.Union[str, int]]
495
- :type undo: typing.Optional[bool]
496
- :param action: Action, Selection action to execute * ``TOGGLE`` Toggle -- Toggle selection for all elements. * ``SELECT`` Select -- Select all elements. * ``DESELECT`` Deselect -- Deselect all elements. * ``INVERT`` Invert -- Invert selection of all elements.
497
- :type action: typing.Optional[typing.Any]
426
+ :type override_context: typing.Union[dict, bpy.types.Context]
427
+ :type execution_context: typing.Union[str, int]
428
+ :type undo: bool
429
+ :param action: Action, Selection action to execute
430
+
431
+ TOGGLE
432
+ Toggle -- Toggle selection for all elements.
433
+
434
+ SELECT
435
+ Select -- Select all elements.
436
+
437
+ DESELECT
438
+ Deselect -- Deselect all elements.
439
+
440
+ INVERT
441
+ Invert -- Invert selection of all elements.
442
+ :type action: typing.Any
498
443
  """
499
444
 
500
445
  ...
501
446
 
502
447
  def select_box(
503
- override_context: typing.Optional[
504
- typing.Union[typing.Dict, "bpy.types.Context"]
505
- ] = None,
506
- execution_context: typing.Optional[typing.Union[str, int]] = None,
507
- undo: typing.Optional[bool] = None,
508
- *,
509
- xmin: typing.Optional[typing.Any] = 0,
510
- xmax: typing.Optional[typing.Any] = 0,
511
- ymin: typing.Optional[typing.Any] = 0,
512
- ymax: typing.Optional[typing.Any] = 0,
513
- wait_for_input: typing.Optional[typing.Union[bool, typing.Any]] = True,
514
- mode: typing.Optional[typing.Any] = "SET",
448
+ override_context: typing.Union[dict, bpy.types.Context] = None,
449
+ execution_context: typing.Union[str, int] = None,
450
+ undo: bool = None,
451
+ xmin: typing.Any = 0,
452
+ xmax: typing.Any = 0,
453
+ ymin: typing.Any = 0,
454
+ ymax: typing.Any = 0,
455
+ wait_for_input: typing.Union[bool, typing.Any] = True,
456
+ mode: typing.Any = "SET",
515
457
  ):
516
458
  """Select curve points using box selection
517
459
 
518
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
519
- :type execution_context: typing.Optional[typing.Union[str, int]]
520
- :type undo: typing.Optional[bool]
521
- :param xmin: X Min
522
- :type xmin: typing.Optional[typing.Any]
523
- :param xmax: X Max
524
- :type xmax: typing.Optional[typing.Any]
525
- :param ymin: Y Min
526
- :type ymin: typing.Optional[typing.Any]
527
- :param ymax: Y Max
528
- :type ymax: typing.Optional[typing.Any]
529
- :param wait_for_input: Wait for Input
530
- :type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
531
- :param mode: Mode * ``SET`` Set -- Set a new selection. * ``ADD`` Extend -- Extend existing selection. * ``SUB`` Subtract -- Subtract existing selection.
532
- :type mode: typing.Optional[typing.Any]
460
+ :type override_context: typing.Union[dict, bpy.types.Context]
461
+ :type execution_context: typing.Union[str, int]
462
+ :type undo: bool
463
+ :param xmin: X Min
464
+ :type xmin: typing.Any
465
+ :param xmax: X Max
466
+ :type xmax: typing.Any
467
+ :param ymin: Y Min
468
+ :type ymin: typing.Any
469
+ :param ymax: Y Max
470
+ :type ymax: typing.Any
471
+ :param wait_for_input: Wait for Input
472
+ :type wait_for_input: typing.Union[bool, typing.Any]
473
+ :param mode: Mode
474
+
475
+ SET
476
+ Set -- Set a new selection.
477
+
478
+ ADD
479
+ Extend -- Extend existing selection.
480
+
481
+ SUB
482
+ Subtract -- Subtract existing selection.
483
+ :type mode: typing.Any
533
484
  """
534
485
 
535
486
  ...
536
487
 
537
488
  def select_circle(
538
- override_context: typing.Optional[
539
- typing.Union[typing.Dict, "bpy.types.Context"]
540
- ] = None,
541
- execution_context: typing.Optional[typing.Union[str, int]] = None,
542
- undo: typing.Optional[bool] = None,
543
- *,
544
- x: typing.Optional[typing.Any] = 0,
545
- y: typing.Optional[typing.Any] = 0,
546
- radius: typing.Optional[typing.Any] = 25,
547
- wait_for_input: typing.Optional[typing.Union[bool, typing.Any]] = True,
548
- mode: typing.Optional[typing.Any] = "SET",
489
+ override_context: typing.Union[dict, bpy.types.Context] = None,
490
+ execution_context: typing.Union[str, int] = None,
491
+ undo: bool = None,
492
+ x: typing.Any = 0,
493
+ y: typing.Any = 0,
494
+ radius: typing.Any = 25,
495
+ wait_for_input: typing.Union[bool, typing.Any] = True,
496
+ mode: typing.Any = "SET",
549
497
  ):
550
498
  """Select curve points using circle selection
551
499
 
552
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
553
- :type execution_context: typing.Optional[typing.Union[str, int]]
554
- :type undo: typing.Optional[bool]
555
- :param x: X
556
- :type x: typing.Optional[typing.Any]
557
- :param y: Y
558
- :type y: typing.Optional[typing.Any]
559
- :param radius: Radius
560
- :type radius: typing.Optional[typing.Any]
561
- :param wait_for_input: Wait for Input
562
- :type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
563
- :param mode: Mode * ``SET`` Set -- Set a new selection. * ``ADD`` Extend -- Extend existing selection. * ``SUB`` Subtract -- Subtract existing selection.
564
- :type mode: typing.Optional[typing.Any]
500
+ :type override_context: typing.Union[dict, bpy.types.Context]
501
+ :type execution_context: typing.Union[str, int]
502
+ :type undo: bool
503
+ :param x: X
504
+ :type x: typing.Any
505
+ :param y: Y
506
+ :type y: typing.Any
507
+ :param radius: Radius
508
+ :type radius: typing.Any
509
+ :param wait_for_input: Wait for Input
510
+ :type wait_for_input: typing.Union[bool, typing.Any]
511
+ :param mode: Mode
512
+
513
+ SET
514
+ Set -- Set a new selection.
515
+
516
+ ADD
517
+ Extend -- Extend existing selection.
518
+
519
+ SUB
520
+ Subtract -- Subtract existing selection.
521
+ :type mode: typing.Any
565
522
  """
566
523
 
567
524
  ...
568
525
 
569
526
  def select_lasso(
570
- override_context: typing.Optional[
571
- typing.Union[typing.Dict, "bpy.types.Context"]
572
- ] = None,
573
- execution_context: typing.Optional[typing.Union[str, int]] = None,
574
- undo: typing.Optional[bool] = None,
575
- *,
576
- path: typing.Optional[
577
- bpy.types.bpy_prop_collection["bpy.types.OperatorMousePath"]
578
- ] = None,
579
- mode: typing.Optional[typing.Any] = "SET",
527
+ override_context: typing.Union[dict, bpy.types.Context] = None,
528
+ execution_context: typing.Union[str, int] = None,
529
+ undo: bool = None,
530
+ path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] = None,
531
+ mode: typing.Any = "SET",
580
532
  ):
581
533
  """Select curve points using lasso selection
582
534
 
583
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
584
- :type execution_context: typing.Optional[typing.Union[str, int]]
585
- :type undo: typing.Optional[bool]
586
- :param path: Path
587
- :type path: typing.Optional[bpy.types.bpy_prop_collection['bpy.types.OperatorMousePath']]
588
- :param mode: Mode * ``SET`` Set -- Set a new selection. * ``ADD`` Extend -- Extend existing selection. * ``SUB`` Subtract -- Subtract existing selection.
589
- :type mode: typing.Optional[typing.Any]
535
+ :type override_context: typing.Union[dict, bpy.types.Context]
536
+ :type execution_context: typing.Union[str, int]
537
+ :type undo: bool
538
+ :param path: Path
539
+ :type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
540
+ :param mode: Mode
541
+
542
+ SET
543
+ Set -- Set a new selection.
544
+
545
+ ADD
546
+ Extend -- Extend existing selection.
547
+
548
+ SUB
549
+ Subtract -- Subtract existing selection.
550
+ :type mode: typing.Any
590
551
  """
591
552
 
592
553
  ...
593
554
 
594
555
  def select_less(
595
- override_context: typing.Optional[
596
- typing.Union[typing.Dict, "bpy.types.Context"]
597
- ] = None,
598
- execution_context: typing.Optional[typing.Union[str, int]] = None,
599
- undo: typing.Optional[bool] = None,
556
+ override_context: typing.Union[dict, bpy.types.Context] = None,
557
+ execution_context: typing.Union[str, int] = None,
558
+ undo: bool = None,
600
559
  ):
601
560
  """Deselect spline points at the boundary of each selection region
602
561
 
603
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
604
- :type execution_context: typing.Optional[typing.Union[str, int]]
605
- :type undo: typing.Optional[bool]
562
+ :type override_context: typing.Union[dict, bpy.types.Context]
563
+ :type execution_context: typing.Union[str, int]
564
+ :type undo: bool
606
565
  """
607
566
 
608
567
  ...
609
568
 
610
569
  def select_linked(
611
- override_context: typing.Optional[
612
- typing.Union[typing.Dict, "bpy.types.Context"]
613
- ] = None,
614
- execution_context: typing.Optional[typing.Union[str, int]] = None,
615
- undo: typing.Optional[bool] = None,
570
+ override_context: typing.Union[dict, bpy.types.Context] = None,
571
+ execution_context: typing.Union[str, int] = None,
572
+ undo: bool = None,
616
573
  ):
617
574
  """Select all curve points linked to already selected ones
618
575
 
619
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
620
- :type execution_context: typing.Optional[typing.Union[str, int]]
621
- :type undo: typing.Optional[bool]
576
+ :type override_context: typing.Union[dict, bpy.types.Context]
577
+ :type execution_context: typing.Union[str, int]
578
+ :type undo: bool
622
579
  """
623
580
 
624
581
  ...
625
582
 
626
583
  def select_linked_pick(
627
- override_context: typing.Optional[
628
- typing.Union[typing.Dict, "bpy.types.Context"]
629
- ] = None,
630
- execution_context: typing.Optional[typing.Union[str, int]] = None,
631
- undo: typing.Optional[bool] = None,
632
- *,
633
- deselect: typing.Optional[typing.Union[bool, typing.Any]] = False,
584
+ override_context: typing.Union[dict, bpy.types.Context] = None,
585
+ execution_context: typing.Union[str, int] = None,
586
+ undo: bool = None,
587
+ deselect: typing.Union[bool, typing.Any] = False,
634
588
  ):
635
589
  """(De)select all points linked to the curve under the mouse cursor
636
590
 
637
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
638
- :type execution_context: typing.Optional[typing.Union[str, int]]
639
- :type undo: typing.Optional[bool]
591
+ :type override_context: typing.Union[dict, bpy.types.Context]
592
+ :type execution_context: typing.Union[str, int]
593
+ :type undo: bool
640
594
  :param deselect: Deselect
641
- :type deselect: typing.Optional[typing.Union[bool, typing.Any]]
595
+ :type deselect: typing.Union[bool, typing.Any]
642
596
  """
643
597
 
644
598
  ...
645
599
 
646
600
  def select_more(
647
- override_context: typing.Optional[
648
- typing.Union[typing.Dict, "bpy.types.Context"]
649
- ] = None,
650
- execution_context: typing.Optional[typing.Union[str, int]] = None,
651
- undo: typing.Optional[bool] = None,
601
+ override_context: typing.Union[dict, bpy.types.Context] = None,
602
+ execution_context: typing.Union[str, int] = None,
603
+ undo: bool = None,
652
604
  ):
653
605
  """Select more spline points connected to initial selection
654
606
 
655
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
656
- :type execution_context: typing.Optional[typing.Union[str, int]]
657
- :type undo: typing.Optional[bool]
607
+ :type override_context: typing.Union[dict, bpy.types.Context]
608
+ :type execution_context: typing.Union[str, int]
609
+ :type undo: bool
658
610
  """
659
611
 
660
612
  ...
661
613
 
662
614
  def shape_key_clear(
663
- override_context: typing.Optional[
664
- typing.Union[typing.Dict, "bpy.types.Context"]
665
- ] = None,
666
- execution_context: typing.Optional[typing.Union[str, int]] = None,
667
- undo: typing.Optional[bool] = None,
615
+ override_context: typing.Union[dict, bpy.types.Context] = None,
616
+ execution_context: typing.Union[str, int] = None,
617
+ undo: bool = None,
668
618
  ):
669
619
  """Remove mask shape keyframe for active mask layer at the current frame
670
620
 
671
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
672
- :type execution_context: typing.Optional[typing.Union[str, int]]
673
- :type undo: typing.Optional[bool]
621
+ :type override_context: typing.Union[dict, bpy.types.Context]
622
+ :type execution_context: typing.Union[str, int]
623
+ :type undo: bool
674
624
  """
675
625
 
676
626
  ...
677
627
 
678
628
  def shape_key_feather_reset(
679
- override_context: typing.Optional[
680
- typing.Union[typing.Dict, "bpy.types.Context"]
681
- ] = None,
682
- execution_context: typing.Optional[typing.Union[str, int]] = None,
683
- undo: typing.Optional[bool] = None,
629
+ override_context: typing.Union[dict, bpy.types.Context] = None,
630
+ execution_context: typing.Union[str, int] = None,
631
+ undo: bool = None,
684
632
  ):
685
633
  """Reset feather weights on all selected points animation values
686
634
 
687
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
688
- :type execution_context: typing.Optional[typing.Union[str, int]]
689
- :type undo: typing.Optional[bool]
635
+ :type override_context: typing.Union[dict, bpy.types.Context]
636
+ :type execution_context: typing.Union[str, int]
637
+ :type undo: bool
690
638
  """
691
639
 
692
640
  ...
693
641
 
694
642
  def shape_key_insert(
695
- override_context: typing.Optional[
696
- typing.Union[typing.Dict, "bpy.types.Context"]
697
- ] = None,
698
- execution_context: typing.Optional[typing.Union[str, int]] = None,
699
- undo: typing.Optional[bool] = None,
643
+ override_context: typing.Union[dict, bpy.types.Context] = None,
644
+ execution_context: typing.Union[str, int] = None,
645
+ undo: bool = None,
700
646
  ):
701
647
  """Insert mask shape keyframe for active mask layer at the current frame
702
648
 
703
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
704
- :type execution_context: typing.Optional[typing.Union[str, int]]
705
- :type undo: typing.Optional[bool]
649
+ :type override_context: typing.Union[dict, bpy.types.Context]
650
+ :type execution_context: typing.Union[str, int]
651
+ :type undo: bool
706
652
  """
707
653
 
708
654
  ...
709
655
 
710
656
  def shape_key_rekey(
711
- override_context: typing.Optional[
712
- typing.Union[typing.Dict, "bpy.types.Context"]
713
- ] = None,
714
- execution_context: typing.Optional[typing.Union[str, int]] = None,
715
- undo: typing.Optional[bool] = None,
716
- *,
717
- location: typing.Optional[typing.Union[bool, typing.Any]] = True,
718
- feather: typing.Optional[typing.Union[bool, typing.Any]] = True,
657
+ override_context: typing.Union[dict, bpy.types.Context] = None,
658
+ execution_context: typing.Union[str, int] = None,
659
+ undo: bool = None,
660
+ location: typing.Union[bool, typing.Any] = True,
661
+ feather: typing.Union[bool, typing.Any] = True,
719
662
  ):
720
663
  """Recalculate animation data on selected points for frames selected in the dopesheet
721
664
 
722
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
723
- :type execution_context: typing.Optional[typing.Union[str, int]]
724
- :type undo: typing.Optional[bool]
665
+ :type override_context: typing.Union[dict, bpy.types.Context]
666
+ :type execution_context: typing.Union[str, int]
667
+ :type undo: bool
725
668
  :param location: Location
726
- :type location: typing.Optional[typing.Union[bool, typing.Any]]
669
+ :type location: typing.Union[bool, typing.Any]
727
670
  :param feather: Feather
728
- :type feather: typing.Optional[typing.Union[bool, typing.Any]]
671
+ :type feather: typing.Union[bool, typing.Any]
729
672
  """
730
673
 
731
674
  ...
732
675
 
733
676
  def slide_point(
734
- override_context: typing.Optional[
735
- typing.Union[typing.Dict, "bpy.types.Context"]
736
- ] = None,
737
- execution_context: typing.Optional[typing.Union[str, int]] = None,
738
- undo: typing.Optional[bool] = None,
739
- *,
740
- slide_feather: typing.Optional[typing.Union[bool, typing.Any]] = False,
741
- is_new_point: typing.Optional[typing.Union[bool, typing.Any]] = False,
677
+ override_context: typing.Union[dict, bpy.types.Context] = None,
678
+ execution_context: typing.Union[str, int] = None,
679
+ undo: bool = None,
680
+ slide_feather: typing.Union[bool, typing.Any] = False,
681
+ is_new_point: typing.Union[bool, typing.Any] = False,
742
682
  ):
743
683
  """Slide control points
744
684
 
745
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
746
- :type execution_context: typing.Optional[typing.Union[str, int]]
747
- :type undo: typing.Optional[bool]
685
+ :type override_context: typing.Union[dict, bpy.types.Context]
686
+ :type execution_context: typing.Union[str, int]
687
+ :type undo: bool
748
688
  :param slide_feather: Slide Feather, First try to slide feather instead of vertex
749
- :type slide_feather: typing.Optional[typing.Union[bool, typing.Any]]
689
+ :type slide_feather: typing.Union[bool, typing.Any]
750
690
  :param is_new_point: Slide New Point, Newly created vertex is being slid
751
- :type is_new_point: typing.Optional[typing.Union[bool, typing.Any]]
691
+ :type is_new_point: typing.Union[bool, typing.Any]
752
692
  """
753
693
 
754
694
  ...
755
695
 
756
696
  def slide_spline_curvature(
757
- override_context: typing.Optional[
758
- typing.Union[typing.Dict, "bpy.types.Context"]
759
- ] = None,
760
- execution_context: typing.Optional[typing.Union[str, int]] = None,
761
- undo: typing.Optional[bool] = None,
697
+ override_context: typing.Union[dict, bpy.types.Context] = None,
698
+ execution_context: typing.Union[str, int] = None,
699
+ undo: bool = None,
762
700
  ):
763
701
  """Slide a point on the spline to define its curvature
764
702
 
765
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
766
- :type execution_context: typing.Optional[typing.Union[str, int]]
767
- :type undo: typing.Optional[bool]
703
+ :type override_context: typing.Union[dict, bpy.types.Context]
704
+ :type execution_context: typing.Union[str, int]
705
+ :type undo: bool
768
706
  """
769
707
 
770
708
  ...
771
709
 
772
710
  def switch_direction(
773
- override_context: typing.Optional[
774
- typing.Union[typing.Dict, "bpy.types.Context"]
775
- ] = None,
776
- execution_context: typing.Optional[typing.Union[str, int]] = None,
777
- undo: typing.Optional[bool] = None,
711
+ override_context: typing.Union[dict, bpy.types.Context] = None,
712
+ execution_context: typing.Union[str, int] = None,
713
+ undo: bool = None,
778
714
  ):
779
715
  """Switch direction of selected splines
780
716
 
781
- :type override_context: typing.Optional[typing.Union[typing.Dict, 'bpy.types.Context']]
782
- :type execution_context: typing.Optional[typing.Union[str, int]]
783
- :type undo: typing.Optional[bool]
717
+ :type override_context: typing.Union[dict, bpy.types.Context]
718
+ :type execution_context: typing.Union[str, int]
719
+ :type undo: bool
784
720
  """
785
721
 
786
722
  ...