fake-bge-module 20250312__py3-none-any.whl → 20260203__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. {animsys_refactor → _animsys_refactor}/__init__.pyi +7 -6
  2. {bl_console_utils → _bl_console_utils}/__init__.pyi +1 -0
  3. {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +1 -0
  4. {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +1 -13
  5. {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +1 -5
  6. {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +3 -13
  7. {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +1 -10
  8. {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +2 -0
  9. _bl_i18n_utils/bl_extract_messages/__init__.pyi +28 -0
  10. {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +2 -1
  11. {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +10 -7
  12. {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +53 -50
  13. _bl_i18n_utils/utils_cli/__init__.pyi +11 -0
  14. _bl_i18n_utils/utils_languages_menu/__init__.pyi +6 -0
  15. {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +3 -2
  16. _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
  17. {bl_previews_utils → _bl_previews_utils}/__init__.pyi +1 -0
  18. _bl_previews_utils/bl_previews_render/__init__.pyi +14 -0
  19. {bl_rna_utils → _bl_rna_utils}/__init__.pyi +1 -0
  20. {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +3 -2
  21. {bl_text_utils → _bl_text_utils}/__init__.pyi +1 -0
  22. _bl_text_utils/external_editor/__init__.pyi +6 -0
  23. {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
  24. {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +2 -1
  25. _blendfile_header/__init__.pyi +48 -0
  26. _bpy_internal/__init__.pyi +5 -1
  27. _bpy_internal/addons/__init__.pyi +1 -0
  28. _bpy_internal/addons/cli/__init__.pyi +2 -1
  29. _bpy_internal/assets/__init__.pyi +5 -0
  30. _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
  31. _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
  32. _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
  33. _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
  34. _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
  35. _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
  36. _bpy_internal/extensions/__init__.pyi +1 -0
  37. _bpy_internal/extensions/junction_module/__init__.pyi +8 -7
  38. _bpy_internal/extensions/stale_file_manager/__init__.pyi +9 -8
  39. _bpy_internal/extensions/wheel_manager/__init__.pyi +6 -5
  40. {bl_i18n_utils/utils_languages_menu → _bpy_internal/filesystem}/__init__.pyi +2 -2
  41. _bpy_internal/filesystem/locking/__init__.pyi +28 -0
  42. _bpy_internal/grease_pencil/__init__.pyi +1 -0
  43. _bpy_internal/grease_pencil/stroke/__init__.pyi +22 -6
  44. _bpy_internal/platform/__init__.pyi +5 -0
  45. _bpy_internal/platform/freedesktop/__init__.pyi +21 -0
  46. _bpy_internal/system_info/__init__.pyi +1 -0
  47. _bpy_internal/system_info/text_generate_runtime/__init__.pyi +2 -1
  48. _bpy_internal/system_info/url_prefill_runtime/__init__.pyi +2 -1
  49. _bpy_internal/system_info/url_prefill_startup/__init__.pyi +3 -2
  50. {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +1 -0
  51. _bpy_types/__init__.pyi +1635 -0
  52. {console_python → _console_python}/__init__.pyi +8 -7
  53. _console_shell/__init__.pyi +10 -0
  54. {graphviz_export → _graphviz_export}/__init__.pyi +3 -2
  55. _keyingsets_utils/__init__.pyi +21 -0
  56. {rna_info → _rna_info}/__init__.pyi +32 -27
  57. {rna_xml → _rna_xml}/__init__.pyi +7 -6
  58. addon_utils/__init__.pyi +13 -25
  59. aud/__init__.pyi +133 -155
  60. bge/__init__.pyi +1 -0
  61. bge/app/__init__.pyi +1 -0
  62. bge/constraints/__init__.pyi +22 -51
  63. bge/types/__init__.pyi +618 -1913
  64. bge_extras/__init__.pyi +1 -0
  65. bge_extras/logger/__init__.pyi +4 -3
  66. bgui/__init__.pyi +1 -0
  67. bgui/frame/__init__.pyi +1 -0
  68. bgui/frame_button/__init__.pyi +1 -0
  69. bgui/image/__init__.pyi +1 -1
  70. bgui/image_button/__init__.pyi +1 -0
  71. bgui/label/__init__.pyi +1 -0
  72. bgui/list_box/__init__.pyi +1 -1
  73. bgui/progress_bar/__init__.pyi +2 -1
  74. bgui/system/__init__.pyi +3 -5
  75. bgui/text_block/__init__.pyi +1 -0
  76. bgui/text_input/__init__.pyi +9 -8
  77. bgui/theme/__init__.pyi +4 -3
  78. bgui/widget/__init__.pyi +5 -4
  79. bl_app_override/__init__.pyi +4 -3
  80. bl_app_override/helpers/__init__.pyi +3 -2
  81. bl_app_template_utils/__init__.pyi +5 -4
  82. bl_app_templates_system/Game_Engine/__init__.pyi +5 -4
  83. bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
  84. bl_app_templates_system/__init__.pyi +2 -0
  85. bl_keymap_utils/__init__.pyi +1 -0
  86. bl_keymap_utils/io/__init__.pyi +10 -9
  87. bl_keymap_utils/keymap_from_toolbar/__init__.pyi +2 -1
  88. bl_keymap_utils/keymap_hierarchy/__init__.pyi +2 -1
  89. bl_keymap_utils/platform_helpers/__init__.pyi +3 -2
  90. bl_keymap_utils/versioning/__init__.pyi +2 -1
  91. bl_math/__init__.pyi +4 -13
  92. bl_operators/__init__.pyi +4 -2
  93. bl_operators/add_mesh_torus/__init__.pyi +9 -9
  94. bl_operators/anim/__init__.pyi +90 -62
  95. bl_operators/assets/__init__.pyi +14 -18
  96. bl_operators/bmesh/__init__.pyi +1 -0
  97. bl_operators/bmesh/find_adjacent/__init__.pyi +12 -9
  98. bl_operators/bone_selection_sets/__init__.pyi +34 -60
  99. bl_operators/clip/__init__.pyi +39 -57
  100. bl_operators/connect_to_output/__init__.pyi +20 -18
  101. bl_operators/console/__init__.pyi +17 -25
  102. bl_operators/constraint/__init__.pyi +15 -21
  103. bl_operators/copy_global_transform/__init__.pyi +261 -0
  104. bl_operators/file/__init__.pyi +13 -17
  105. bl_operators/freestyle/__init__.pyi +15 -21
  106. bl_operators/geometry_nodes/__init__.pyi +30 -36
  107. bl_operators/grease_pencil/__init__.pyi +5 -5
  108. bl_operators/image/__init__.pyi +14 -22
  109. bl_operators/image_as_planes/__init__.pyi +36 -42
  110. bl_operators/mesh/__init__.pyi +8 -53
  111. bl_operators/node/__init__.pyi +375 -92
  112. bl_operators/node_editor/__init__.pyi +1 -0
  113. bl_operators/node_editor/node_functions/__init__.pyi +10 -9
  114. bl_operators/object/__init__.pyi +57 -98
  115. bl_operators/object_align/__init__.pyi +8 -8
  116. bl_operators/object_quick_effects/__init__.pyi +15 -21
  117. bl_operators/object_randomize_transform/__init__.pyi +6 -6
  118. bl_operators/presets/__init__.pyi +46 -94
  119. bl_operators/rigidbody/__init__.pyi +12 -16
  120. bl_operators/screen_play_rendered_anim/__init__.pyi +5 -5
  121. bl_operators/sequencer/__init__.pyi +40 -54
  122. bl_operators/spreadsheet/__init__.pyi +7 -7
  123. bl_operators/userpref/__init__.pyi +69 -117
  124. bl_operators/uvcalc_follow_active/__init__.pyi +8 -8
  125. bl_operators/uvcalc_lightmap/__init__.pyi +12 -12
  126. bl_operators/uvcalc_transform/__init__.pyi +39 -28
  127. bl_operators/vertexpaint_dirt/__init__.pyi +7 -7
  128. bl_operators/view3d/__init__.pyi +31 -43
  129. bl_operators/wm/__init__.pyi +139 -231
  130. bl_operators/world/__init__.pyi +6 -6
  131. bl_ui/__init__.pyi +18 -17
  132. bl_ui/anim/__init__.pyi +5 -5
  133. bl_ui/asset_shelf/__init__.pyi +5 -5
  134. bl_ui/generic_ui_list/__init__.pyi +12 -26
  135. bl_ui/node_add_menu/__init__.pyi +281 -12
  136. bl_ui/node_add_menu_compositor/__init__.pyi +135 -91
  137. bl_ui/node_add_menu_geometry/__init__.pyi +407 -263
  138. bl_ui/node_add_menu_shader/__init__.pyi +67 -67
  139. bl_ui/node_add_menu_texture/__init__.pyi +25 -69
  140. bl_ui/properties_animviz/__init__.pyi +3 -2
  141. bl_ui/properties_collection/__init__.pyi +20 -30
  142. bl_ui/properties_constraint/__init__.pyi +228 -450
  143. bl_ui/properties_data_armature/__init__.pyi +45 -79
  144. bl_ui/properties_data_bone/__init__.pyi +33 -51
  145. bl_ui/properties_data_camera/__init__.pyi +43 -75
  146. bl_ui/properties_data_curve/__init__.pyi +42 -101
  147. bl_ui/properties_data_curves/__init__.pyi +21 -35
  148. bl_ui/properties_data_empty/__init__.pyi +8 -10
  149. bl_ui/properties_data_grease_pencil/__init__.pyi +49 -87
  150. bl_ui/properties_data_lattice/__init__.pyi +12 -18
  151. bl_ui/properties_data_light/__init__.pyi +28 -46
  152. bl_ui/properties_data_lightprobe/__init__.pyi +35 -61
  153. bl_ui/properties_data_mesh/__init__.pyi +73 -120
  154. bl_ui/properties_data_metaball/__init__.pyi +16 -26
  155. bl_ui/properties_data_modifier/__init__.pyi +34 -39
  156. bl_ui/properties_data_pointcloud/__init__.pyi +17 -27
  157. bl_ui/properties_data_shaderfx/__init__.pyi +4 -4
  158. bl_ui/properties_data_speaker/__init__.pyi +15 -25
  159. bl_ui/properties_data_volume/__init__.pyi +22 -38
  160. bl_ui/properties_freestyle/__init__.pyi +79 -127
  161. bl_ui/properties_game/__init__.pyi +88 -84
  162. bl_ui/properties_grease_pencil_common/__init__.pyi +33 -190
  163. bl_ui/properties_mask_common/__init__.pyi +33 -45
  164. bl_ui/properties_material/__init__.pyi +52 -111
  165. bl_ui/properties_material_gpencil/__init__.pyi +48 -68
  166. bl_ui/properties_object/__init__.pyi +123 -93
  167. bl_ui/properties_output/__init__.pyi +103 -81
  168. bl_ui/properties_paint_common/__init__.pyi +78 -59
  169. bl_ui/properties_particle/__init__.pyi +160 -262
  170. bl_ui/properties_physics_cloth/__init__.pyi +36 -62
  171. bl_ui/properties_physics_common/__init__.pyi +11 -11
  172. bl_ui/properties_physics_dynamicpaint/__init__.pyi +81 -123
  173. bl_ui/properties_physics_field/__init__.pyi +35 -53
  174. bl_ui/properties_physics_fluid/__init__.pyi +106 -160
  175. bl_ui/properties_physics_geometry_nodes/__init__.pyi +6 -6
  176. bl_ui/properties_physics_rigidbody/__init__.pyi +28 -42
  177. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +44 -68
  178. bl_ui/properties_physics_softbody/__init__.pyi +38 -66
  179. bl_ui/properties_render/__init__.pyi +267 -259
  180. bl_ui/properties_scene/__init__.pyi +69 -72
  181. bl_ui/properties_strip/__init__.pyi +744 -0
  182. bl_ui/properties_strip_modifier/__init__.pyi +45 -0
  183. bl_ui/properties_texture/__init__.pyi +69 -122
  184. bl_ui/properties_view_layer/__init__.pyi +97 -51
  185. bl_ui/properties_workspace/__init__.pyi +12 -18
  186. bl_ui/properties_world/__init__.pyi +33 -53
  187. bl_ui/space_clip/__init__.pyi +231 -311
  188. bl_ui/space_console/__init__.pyi +14 -24
  189. bl_ui/space_dopesheet/__init__.pyi +193 -125
  190. bl_ui/space_filebrowser/__init__.pyi +107 -131
  191. bl_ui/space_graph/__init__.pyi +93 -80
  192. bl_ui/space_image/__init__.pyi +207 -291
  193. bl_ui/space_info/__init__.pyi +14 -24
  194. bl_ui/space_logic/__init__.pyi +14 -22
  195. bl_ui/space_nla/__init__.pyi +63 -69
  196. bl_ui/space_node/__init__.pyi +215 -154
  197. bl_ui/space_outliner/__init__.pyi +65 -61
  198. bl_ui/space_properties/__init__.pyi +41 -16
  199. bl_ui/space_sequencer/__init__.pyi +276 -979
  200. bl_ui/space_spreadsheet/__init__.pyi +27 -23
  201. bl_ui/space_statusbar/__init__.pyi +4 -4
  202. bl_ui/space_text/__init__.pyi +39 -73
  203. bl_ui/space_time/__init__.pyi +33 -78
  204. bl_ui/space_toolsystem_common/__init__.pyi +31 -28
  205. bl_ui/space_toolsystem_toolbar/__init__.pyi +67 -43
  206. bl_ui/space_topbar/__init__.pyi +68 -111
  207. bl_ui/space_userpref/__init__.pyi +310 -445
  208. bl_ui/space_view3d/__init__.pyi +667 -1122
  209. bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
  210. bl_ui/space_view3d_toolbar/__init__.pyi +237 -966
  211. bl_ui/utils/__init__.pyi +4 -3
  212. blend_render_info/__init__.pyi +4 -2
  213. blf/__init__.pyi +92 -59
  214. bmesh/__init__.pyi +4 -10
  215. bmesh/geometry/__init__.pyi +2 -4
  216. bmesh/ops/__init__.pyi +442 -815
  217. bmesh/types/__init__.pyi +377 -720
  218. bmesh/utils/__init__.pyi +20 -45
  219. bpy/__init__.pyi +2 -1
  220. bpy/app/__init__.pyi +96 -90
  221. bpy/app/handlers/__init__.pyi +24 -19
  222. bpy/app/icons/__init__.pyi +2 -7
  223. bpy/app/timers/__init__.pyi +5 -18
  224. bpy/app/translations/__init__.pyi +21 -35
  225. bpy/msgbus/__init__.pyi +20 -9
  226. bpy/ops/__init__.pyi +21 -3
  227. bpy/ops/action/__init__.pyi +121 -226
  228. bpy/ops/anim/__init__.pyi +204 -358
  229. bpy/ops/armature/__init__.pyi +129 -249
  230. bpy/ops/asset/__init__.pyi +82 -111
  231. bpy/ops/bge_bricknodes/__init__.pyi +61 -0
  232. bpy/ops/boid/__init__.pyi +44 -50
  233. bpy/ops/bricknodes/__init__.pyi +37 -0
  234. bpy/ops/brush/__init__.pyi +33 -120
  235. bpy/ops/buttons/__init__.pyi +27 -83
  236. bpy/ops/cachefile/__init__.pyi +16 -74
  237. bpy/ops/camera/__init__.pyi +3 -13
  238. bpy/ops/clip/__init__.pyi +278 -558
  239. bpy/ops/cloth/__init__.pyi +2 -6
  240. bpy/ops/collection/__init__.pyi +34 -44
  241. bpy/ops/console/__init__.pyi +70 -111
  242. bpy/ops/constraint/__init__.pyi +34 -102
  243. bpy/ops/curve/__init__.pyi +163 -315
  244. bpy/ops/curves/__init__.pyi +163 -189
  245. bpy/ops/cycles/__init__.pyi +8 -18
  246. bpy/ops/dpaint/__init__.pyi +21 -30
  247. bpy/ops/ed/__init__.pyi +59 -103
  248. bpy/ops/export_anim/__init__.pyi +4 -11
  249. bpy/ops/export_scene/__init__.pyi +29 -174
  250. bpy/ops/extensions/__init__.pyi +102 -194
  251. bpy/ops/file/__init__.pyi +166 -272
  252. bpy/ops/fluid/__init__.pyi +78 -86
  253. bpy/ops/font/__init__.pyi +73 -164
  254. bpy/ops/geometry/__init__.pyi +33 -144
  255. bpy/ops/gizmogroup/__init__.pyi +8 -14
  256. bpy/ops/gpencil/__init__.pyi +31 -58
  257. bpy/ops/graph/__init__.pyi +176 -411
  258. bpy/ops/grease_pencil/__init__.pyi +416 -639
  259. bpy/ops/image/__init__.pyi +148 -492
  260. bpy/ops/import_anim/__init__.pyi +5 -18
  261. bpy/ops/import_curve/__init__.pyi +4 -6
  262. bpy/ops/import_scene/__init__.pyi +22 -49
  263. bpy/ops/info/__init__.pyi +27 -43
  264. bpy/ops/lattice/__init__.pyi +26 -43
  265. bpy/ops/logic/__init__.pyi +49 -122
  266. bpy/ops/logic_nodes/__init__.pyi +461 -0
  267. bpy/ops/marker/__init__.pyi +24 -60
  268. bpy/ops/mask/__init__.pyi +118 -222
  269. bpy/ops/material/__init__.pyi +19 -18
  270. bpy/ops/mball/__init__.pyi +13 -39
  271. bpy/ops/mesh/__init__.pyi +409 -1264
  272. bpy/ops/nla/__init__.pyi +140 -232
  273. bpy/ops/node/__init__.pyi +1189 -807
  274. bpy/ops/object/__init__.pyi +806 -1659
  275. bpy/ops/outliner/__init__.pyi +284 -432
  276. bpy/ops/paint/__init__.pyi +189 -381
  277. bpy/ops/paintcurve/__init__.pyi +29 -44
  278. bpy/ops/palette/__init__.pyi +23 -34
  279. bpy/ops/particle/__init__.pyi +135 -201
  280. bpy/ops/pointcloud/__init__.pyi +23 -42
  281. bpy/ops/pose/__init__.pyi +195 -310
  282. bpy/ops/poselib/__init__.pyi +45 -73
  283. bpy/ops/preferences/__init__.pyi +89 -221
  284. bpy/ops/ptcache/__init__.pyi +32 -39
  285. bpy/ops/render/__init__.pyi +36 -83
  286. bpy/ops/rigidbody/__init__.pyi +47 -78
  287. bpy/ops/scene/__init__.pyi +169 -222
  288. bpy/ops/screen/__init__.pyi +146 -259
  289. bpy/ops/script/__init__.pyi +9 -15
  290. bpy/ops/sculpt/__init__.pyi +194 -354
  291. bpy/ops/sculpt_curves/__init__.pyi +21 -29
  292. bpy/ops/sequencer/__init__.pyi +586 -836
  293. bpy/ops/sound/__init__.pyi +25 -131
  294. bpy/ops/spreadsheet/__init__.pyi +34 -21
  295. bpy/ops/surface/__init__.pyi +7 -54
  296. bpy/ops/text/__init__.pyi +166 -281
  297. bpy/ops/text_editor/__init__.pyi +2 -6
  298. bpy/ops/texture/__init__.pyi +20 -22
  299. bpy/ops/transform/__init__.pyi +108 -445
  300. bpy/ops/ui/__init__.pyi +157 -219
  301. bpy/ops/uilist/__init__.pyi +4 -16
  302. bpy/ops/uv/__init__.pyi +291 -347
  303. bpy/ops/view2d/__init__.pyi +29 -88
  304. bpy/ops/view3d/__init__.pyi +238 -438
  305. bpy/ops/wm/__init__.pyi +651 -1510
  306. bpy/ops/workspace/__init__.pyi +42 -44
  307. bpy/ops/world/__init__.pyi +12 -13
  308. bpy/path/__init__.pyi +6 -37
  309. bpy/props/__init__.pyi +395 -259
  310. bpy/{_typing → stub_internal}/__init__.pyi +1 -0
  311. bpy/{_typing → stub_internal}/rna_enums/__init__.pyi +214 -114
  312. bpy/types/__init__.pyi +93286 -103826
  313. bpy/utils/__init__.pyi +46 -104
  314. bpy/utils/previews/__init__.pyi +7 -15
  315. bpy/utils/units/__init__.pyi +6 -15
  316. bpy_extras/__init__.pyi +1 -0
  317. bpy_extras/anim_utils/__init__.pyi +32 -23
  318. bpy_extras/asset_utils/__init__.pyi +1 -0
  319. bpy_extras/bmesh_utils/__init__.pyi +2 -2
  320. bpy_extras/id_map_utils/__init__.pyi +15 -6
  321. bpy_extras/image_utils/__init__.pyi +3 -11
  322. bpy_extras/io_utils/__init__.pyi +22 -38
  323. bpy_extras/keyconfig_utils/__init__.pyi +5 -4
  324. bpy_extras/mesh_utils/__init__.pyi +3 -14
  325. bpy_extras/node_shader_utils/__init__.pyi +63 -70
  326. bpy_extras/node_utils/__init__.pyi +4 -3
  327. bpy_extras/object_utils/__init__.pyi +6 -19
  328. bpy_extras/view3d_utils/__init__.pyi +1 -18
  329. bpy_extras/wm_utils/__init__.pyi +1 -0
  330. bpy_extras/wm_utils/progress_report/__init__.pyi +12 -11
  331. {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/METADATA +9 -3
  332. fake_bge_module-20260203.dist-info/RECORD +414 -0
  333. {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/WHEEL +1 -1
  334. {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/top_level.txt +16 -16
  335. freestyle/__init__.pyi +1 -0
  336. freestyle/chainingiterators/__init__.pyi +41 -60
  337. freestyle/functions/__init__.pyi +56 -194
  338. freestyle/predicates/__init__.pyi +11 -61
  339. freestyle/shaders/__init__.pyi +95 -156
  340. freestyle/types/__init__.pyi +306 -941
  341. freestyle/utils/ContextFunctions/__init__.pyi +4 -24
  342. freestyle/utils/__init__.pyi +46 -36
  343. gpu/__init__.pyi +84 -5
  344. gpu/capabilities/__init__.pyi +1 -21
  345. gpu/matrix/__init__.pyi +16 -24
  346. gpu/platform/__init__.pyi +3 -7
  347. gpu/select/__init__.pyi +2 -1
  348. gpu/shader/__init__.pyi +43 -9
  349. gpu/state/__init__.pyi +66 -44
  350. gpu/texture/__init__.pyi +4 -5
  351. gpu/types/__init__.pyi +216 -216
  352. gpu_extras/__init__.pyi +1 -0
  353. gpu_extras/batch/__init__.pyi +2 -5
  354. gpu_extras/presets/__init__.pyi +9 -10
  355. idprop/__init__.pyi +17 -0
  356. idprop/types/__init__.pyi +18 -17
  357. imbuf/__init__.pyi +13 -9
  358. imbuf/types/__init__.pyi +10 -23
  359. keyingsets_builtins/__init__.pyi +51 -93
  360. mathutils/__init__.pyi +296 -2255
  361. mathutils/bvhtree/__init__.pyi +24 -30
  362. mathutils/geometry/__init__.pyi +83 -132
  363. mathutils/interpolate/__init__.pyi +7 -5
  364. mathutils/kdtree/__init__.pyi +5 -14
  365. mathutils/noise/__init__.pyi +62 -106
  366. nodeitems_builtins/__init__.pyi +5 -4
  367. nodeitems_utils/__init__.pyi +10 -9
  368. rna_keymap_ui/__init__.pyi +7 -6
  369. rna_prop_ui/__init__.pyi +14 -13
  370. _bpy_internal/freedesktop/__init__.pyi +0 -20
  371. bgl/__init__.pyi +0 -4235
  372. bl_i18n_utils/bl_extract_messages/__init__.pyi +0 -24
  373. bl_i18n_utils/utils_cli/__init__.pyi +0 -10
  374. bl_previews_utils/bl_previews_render/__init__.pyi +0 -11
  375. bl_text_utils/external_editor/__init__.pyi +0 -5
  376. bpy_types/__init__.pyi +0 -29
  377. console_shell/__init__.pyi +0 -9
  378. fake_bge_module-20250312.dist-info/RECORD +0 -395
  379. keyingsets_utils/__init__.pyi +0 -18
  380. {animsys_refactor → _animsys_refactor}/py.typed +0 -0
  381. {bgl → _bl_console_utils}/py.typed +0 -0
  382. {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
  383. {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
  384. {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
  385. {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
  386. {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
  387. {bl_ui_utils → _blendfile_header}/py.typed +0 -0
  388. {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
  389. {bpy_types → _bpy_types}/py.typed +0 -0
  390. {console_python → _console_python}/py.typed +0 -0
  391. {console_shell → _console_shell}/py.typed +0 -0
  392. {graphviz_export → _graphviz_export}/py.typed +0 -0
  393. {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
  394. {rna_info → _rna_info}/py.typed +0 -0
  395. {rna_xml → _rna_xml}/py.typed +0 -0
@@ -1,27 +1,25 @@
1
1
  """
2
- The Blender geometry module
2
+ The Blender geometry module.
3
3
 
4
4
  """
5
5
 
6
6
  import typing
7
7
  import collections.abc
8
8
  import typing_extensions
9
+ import numpy.typing as npt
9
10
  import mathutils
10
11
 
11
12
  def area_tri(
12
13
  v1: collections.abc.Sequence[float] | mathutils.Vector,
13
14
  v2: collections.abc.Sequence[float] | mathutils.Vector,
14
15
  v3: collections.abc.Sequence[float] | mathutils.Vector,
16
+ /,
15
17
  ) -> float:
16
18
  """Returns the area size of the 2D or 3D triangle defined.
17
19
 
18
20
  :param v1: Point1
19
- :type v1: collections.abc.Sequence[float] | mathutils.Vector
20
21
  :param v2: Point2
21
- :type v2: collections.abc.Sequence[float] | mathutils.Vector
22
22
  :param v3: Point3
23
- :type v3: collections.abc.Sequence[float] | mathutils.Vector
24
- :rtype: float
25
23
  """
26
24
 
27
25
  def barycentric_transform(
@@ -32,45 +30,38 @@ def barycentric_transform(
32
30
  tri_b1: collections.abc.Sequence[float] | mathutils.Vector,
33
31
  tri_b2: collections.abc.Sequence[float] | mathutils.Vector,
34
32
  tri_b3: collections.abc.Sequence[float] | mathutils.Vector,
33
+ /,
35
34
  ) -> mathutils.Vector:
36
35
  """Return a transformed point, the transformation is defined by 2 triangles.
37
36
 
38
37
  :param point: The point to transform.
39
- :type point: collections.abc.Sequence[float] | mathutils.Vector
40
38
  :param tri_a1: source triangle vertex.
41
- :type tri_a1: collections.abc.Sequence[float] | mathutils.Vector
42
39
  :param tri_a2: source triangle vertex.
43
- :type tri_a2: collections.abc.Sequence[float] | mathutils.Vector
44
40
  :param tri_a3: source triangle vertex.
45
- :type tri_a3: collections.abc.Sequence[float] | mathutils.Vector
46
41
  :param tri_b1: target triangle vertex.
47
- :type tri_b1: collections.abc.Sequence[float] | mathutils.Vector
48
42
  :param tri_b2: target triangle vertex.
49
- :type tri_b2: collections.abc.Sequence[float] | mathutils.Vector
50
43
  :param tri_b3: target triangle vertex.
51
- :type tri_b3: collections.abc.Sequence[float] | mathutils.Vector
52
44
  :return: The transformed point
53
- :rtype: mathutils.Vector
54
45
  """
55
46
 
56
47
  def box_fit_2d(
57
48
  points: collections.abc.Sequence[collections.abc.Sequence[float]],
49
+ /,
58
50
  ) -> float:
59
51
  """Returns an angle that best fits the points to an axis aligned rectangle
60
52
 
61
53
  :param points: Sequence of 2D points.
62
- :type points: collections.abc.Sequence[collections.abc.Sequence[float]]
63
54
  :return: angle
64
- :rtype: float
65
55
  """
66
56
 
67
- def box_pack_2d(boxes: list[list[float]]) -> tuple[float, float]:
57
+ def box_pack_2d(
58
+ boxes: list[list[float]],
59
+ /,
60
+ ) -> tuple[float, float]:
68
61
  """Returns a tuple with the width and height of the packed bounding box.
69
62
 
70
63
  :param boxes: list of boxes, each box is a list where the first 4 items are [X, Y, width, height, ...] other items are ignored. The X & Y values in this list are modified to set the packed positions.
71
- :type boxes: list[list[float]]
72
64
  :return: The width and height of the packed bounding box.
73
- :rtype: tuple[float, float]
74
65
  """
75
66
 
76
67
  def closest_point_on_tri(
@@ -78,30 +69,25 @@ def closest_point_on_tri(
78
69
  tri_p1: collections.abc.Sequence[float] | mathutils.Vector,
79
70
  tri_p2: collections.abc.Sequence[float] | mathutils.Vector,
80
71
  tri_p3: collections.abc.Sequence[float] | mathutils.Vector,
72
+ /,
81
73
  ) -> mathutils.Vector:
82
74
  """Takes 4 vectors: one is the point and the next 3 define the triangle.
83
75
 
84
76
  :param pt: Point
85
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
86
77
  :param tri_p1: First point of the triangle
87
- :type tri_p1: collections.abc.Sequence[float] | mathutils.Vector
88
78
  :param tri_p2: Second point of the triangle
89
- :type tri_p2: collections.abc.Sequence[float] | mathutils.Vector
90
79
  :param tri_p3: Third point of the triangle
91
- :type tri_p3: collections.abc.Sequence[float] | mathutils.Vector
92
80
  :return: The closest point of the triangle.
93
- :rtype: mathutils.Vector
94
81
  """
95
82
 
96
83
  def convex_hull_2d(
97
84
  points: collections.abc.Sequence[collections.abc.Sequence[float]],
85
+ /,
98
86
  ) -> list[int]:
99
87
  """Returns a list of indices into the list given
100
88
 
101
89
  :param points: Sequence of 2D points.
102
- :type points: collections.abc.Sequence[collections.abc.Sequence[float]]
103
90
  :return: a list of indices
104
- :rtype: list[int]
105
91
  """
106
92
 
107
93
  def delaunay_2d_cdt(
@@ -112,7 +98,8 @@ def delaunay_2d_cdt(
112
98
  faces: collections.abc.Sequence[collections.abc.Sequence[int]],
113
99
  output_type: int,
114
100
  epsilon: float,
115
- need_ids=True,
101
+ need_ids: bool = True,
102
+ /,
116
103
  ) -> tuple[
117
104
  list[mathutils.Vector],
118
105
  list[tuple[int, int]],
@@ -135,34 +122,25 @@ def delaunay_2d_cdt(
135
122
  of the orig arrays, which may save some time.
136
123
 
137
124
  :param vert_coords: Vertex coordinates (2d)
138
- :type vert_coords: collections.abc.Sequence[collections.abc.Sequence[float] | mathutils.Vector]
139
125
  :param edges: Edges, as pairs of indices in vert_coords
140
- :type edges: collections.abc.Sequence[collections.abc.Sequence[int, int]]
141
- :param faces: Faces, each sublist is a face, as indices in vert_coords (CCW oriented)
142
- :type faces: collections.abc.Sequence[collections.abc.Sequence[int]]
126
+ :param faces: Faces, each sublist is a face, as indices in vert_coords (CCW oriented).
143
127
  :param output_type: What output looks like. 0 => triangles with convex hull. 1 => triangles inside constraints. 2 => the input constraints, intersected. 3 => like 2 but detect holes and omit them from output. 4 => like 2 but with extra edges to make valid BMesh faces. 5 => like 4 but detect holes and omit them from output.
144
- :type output_type: int
145
128
  :param epsilon: For nearness tests; should not be zero
146
- :type epsilon: float
147
129
  :param need_ids: are the orig output arrays needed?
148
130
  :return: Output tuple, (vert_coords, edges, faces, orig_verts, orig_edges, orig_faces)
149
- :rtype: tuple[list[mathutils.Vector], list[tuple[int, int]], list[list[int]], list[list[int]], list[list[int]], list[list[int]]]
150
131
  """
151
132
 
152
133
  def distance_point_to_plane(
153
134
  pt: collections.abc.Sequence[float] | mathutils.Vector,
154
135
  plane_co: collections.abc.Sequence[float] | mathutils.Vector,
155
136
  plane_no: collections.abc.Sequence[float] | mathutils.Vector,
137
+ /,
156
138
  ) -> float:
157
139
  """Returns the signed distance between a point and a plane (negative when below the normal).
158
140
 
159
141
  :param pt: Point
160
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
161
142
  :param plane_co: A point on the plane
162
- :type plane_co: collections.abc.Sequence[float] | mathutils.Vector
163
143
  :param plane_no: The direction the plane is facing
164
- :type plane_no: collections.abc.Sequence[float] | mathutils.Vector
165
- :rtype: float
166
144
  """
167
145
 
168
146
  def interpolate_bezier(
@@ -171,21 +149,16 @@ def interpolate_bezier(
171
149
  handle2: collections.abc.Sequence[float] | mathutils.Vector,
172
150
  knot2: collections.abc.Sequence[float] | mathutils.Vector,
173
151
  resolution: int,
152
+ /,
174
153
  ) -> list[mathutils.Vector]:
175
154
  """Interpolate a bezier spline segment.
176
155
 
177
156
  :param knot1: First bezier spline point.
178
- :type knot1: collections.abc.Sequence[float] | mathutils.Vector
179
157
  :param handle1: First bezier spline handle.
180
- :type handle1: collections.abc.Sequence[float] | mathutils.Vector
181
158
  :param handle2: Second bezier spline handle.
182
- :type handle2: collections.abc.Sequence[float] | mathutils.Vector
183
159
  :param knot2: Second bezier spline point.
184
- :type knot2: collections.abc.Sequence[float] | mathutils.Vector
185
160
  :param resolution: Number of points to return.
186
- :type resolution: int
187
161
  :return: The interpolated points.
188
- :rtype: list[mathutils.Vector]
189
162
  """
190
163
 
191
164
  def intersect_line_line(
@@ -193,19 +166,15 @@ def intersect_line_line(
193
166
  v2: collections.abc.Sequence[float] | mathutils.Vector,
194
167
  v3: collections.abc.Sequence[float] | mathutils.Vector,
195
168
  v4: collections.abc.Sequence[float] | mathutils.Vector,
169
+ /,
196
170
  ) -> None | tuple[mathutils.Vector, mathutils.Vector]:
197
171
  """Returns a tuple with the points on each line respectively closest to the other.
198
172
 
199
173
  :param v1: First point of the first line
200
- :type v1: collections.abc.Sequence[float] | mathutils.Vector
201
174
  :param v2: Second point of the first line
202
- :type v2: collections.abc.Sequence[float] | mathutils.Vector
203
175
  :param v3: First point of the second line
204
- :type v3: collections.abc.Sequence[float] | mathutils.Vector
205
176
  :param v4: Second point of the second line
206
- :type v4: collections.abc.Sequence[float] | mathutils.Vector
207
177
  :return: The intersection on each line or None when the lines are co-linear.
208
- :rtype: None | tuple[mathutils.Vector, mathutils.Vector]
209
178
  """
210
179
 
211
180
  def intersect_line_line_2d(
@@ -213,19 +182,15 @@ def intersect_line_line_2d(
213
182
  lineA_p2: collections.abc.Sequence[float] | mathutils.Vector,
214
183
  lineB_p1: collections.abc.Sequence[float] | mathutils.Vector,
215
184
  lineB_p2: collections.abc.Sequence[float] | mathutils.Vector,
185
+ /,
216
186
  ) -> None | mathutils.Vector:
217
187
  """Takes 2 segments (defined by 4 vectors) and returns a vector for their point of intersection or None.
218
188
 
219
189
  :param lineA_p1: First point of the first line
220
- :type lineA_p1: collections.abc.Sequence[float] | mathutils.Vector
221
190
  :param lineA_p2: Second point of the first line
222
- :type lineA_p2: collections.abc.Sequence[float] | mathutils.Vector
223
191
  :param lineB_p1: First point of the second line
224
- :type lineB_p1: collections.abc.Sequence[float] | mathutils.Vector
225
192
  :param lineB_p2: Second point of the second line
226
- :type lineB_p2: collections.abc.Sequence[float] | mathutils.Vector
227
193
  :return: The point of intersection or None when not found
228
- :rtype: None | mathutils.Vector
229
194
  """
230
195
 
231
196
  def intersect_line_plane(
@@ -233,21 +198,18 @@ def intersect_line_plane(
233
198
  line_b: collections.abc.Sequence[float] | mathutils.Vector,
234
199
  plane_co: collections.abc.Sequence[float] | mathutils.Vector,
235
200
  plane_no: collections.abc.Sequence[float] | mathutils.Vector,
236
- no_flip=False,
201
+ no_flip: bool = False,
202
+ /,
237
203
  ) -> None | mathutils.Vector:
238
204
  """Calculate the intersection between a line (as 2 vectors) and a plane.
239
205
  Returns a vector for the intersection or None.
240
206
 
241
207
  :param line_a: First point of the first line
242
- :type line_a: collections.abc.Sequence[float] | mathutils.Vector
243
208
  :param line_b: Second point of the first line
244
- :type line_b: collections.abc.Sequence[float] | mathutils.Vector
245
209
  :param plane_co: A point on the plane
246
- :type plane_co: collections.abc.Sequence[float] | mathutils.Vector
247
210
  :param plane_no: The direction the plane is facing
248
- :type plane_no: collections.abc.Sequence[float] | mathutils.Vector
211
+ :param no_flip: Not implemented
249
212
  :return: The point of intersection or None when not found
250
- :rtype: None | mathutils.Vector
251
213
  """
252
214
 
253
215
  def intersect_line_sphere(
@@ -255,21 +217,18 @@ def intersect_line_sphere(
255
217
  line_b: collections.abc.Sequence[float] | mathutils.Vector,
256
218
  sphere_co: collections.abc.Sequence[float] | mathutils.Vector,
257
219
  sphere_radius: float,
258
- clip=True,
220
+ clip: bool = True,
221
+ /,
259
222
  ) -> tuple[mathutils.Vector | None, mathutils.Vector | None]:
260
223
  """Takes a line (as 2 points) and a sphere (as a point and a radius) and
261
224
  returns the intersection
262
225
 
263
226
  :param line_a: First point of the line
264
- :type line_a: collections.abc.Sequence[float] | mathutils.Vector
265
227
  :param line_b: Second point of the line
266
- :type line_b: collections.abc.Sequence[float] | mathutils.Vector
267
228
  :param sphere_co: The center of the sphere
268
- :type sphere_co: collections.abc.Sequence[float] | mathutils.Vector
269
229
  :param sphere_radius: Radius of the sphere
270
- :type sphere_radius: float
230
+ :param clip: When False, dont restrict the intersection to the line segment.
271
231
  :return: The intersection points as a pair of vectors or None when there is no intersection
272
- :rtype: tuple[mathutils.Vector | None, mathutils.Vector | None]
273
232
  """
274
233
 
275
234
  def intersect_line_sphere_2d(
@@ -277,21 +236,18 @@ def intersect_line_sphere_2d(
277
236
  line_b: collections.abc.Sequence[float] | mathutils.Vector,
278
237
  sphere_co: collections.abc.Sequence[float] | mathutils.Vector,
279
238
  sphere_radius: float,
280
- clip=True,
239
+ clip: bool = True,
240
+ /,
281
241
  ) -> tuple[mathutils.Vector | None, mathutils.Vector | None]:
282
242
  """Takes a line (as 2 points) and a sphere (as a point and a radius) and
283
243
  returns the intersection
284
244
 
285
245
  :param line_a: First point of the line
286
- :type line_a: collections.abc.Sequence[float] | mathutils.Vector
287
246
  :param line_b: Second point of the line
288
- :type line_b: collections.abc.Sequence[float] | mathutils.Vector
289
247
  :param sphere_co: The center of the sphere
290
- :type sphere_co: collections.abc.Sequence[float] | mathutils.Vector
291
248
  :param sphere_radius: Radius of the sphere
292
- :type sphere_radius: float
249
+ :param clip: When False, dont restrict the intersection to the line segment.
293
250
  :return: The intersection points as a pair of vectors or None when there is no intersection
294
- :rtype: tuple[mathutils.Vector | None, mathutils.Vector | None]
295
251
  """
296
252
 
297
253
  def intersect_plane_plane(
@@ -299,33 +255,41 @@ def intersect_plane_plane(
299
255
  plane_a_no: collections.abc.Sequence[float] | mathutils.Vector,
300
256
  plane_b_co: collections.abc.Sequence[float] | mathutils.Vector,
301
257
  plane_b_no: collections.abc.Sequence[float] | mathutils.Vector,
258
+ /,
302
259
  ) -> tuple[None, None] | tuple[mathutils.Vector, mathutils.Vector]:
303
260
  """Return the intersection between two planes
304
261
 
305
262
  :param plane_a_co: Point on the first plane
306
- :type plane_a_co: collections.abc.Sequence[float] | mathutils.Vector
307
263
  :param plane_a_no: Normal of the first plane
308
- :type plane_a_no: collections.abc.Sequence[float] | mathutils.Vector
309
264
  :param plane_b_co: Point on the second plane
310
- :type plane_b_co: collections.abc.Sequence[float] | mathutils.Vector
311
265
  :param plane_b_no: Normal of the second plane
312
- :type plane_b_no: collections.abc.Sequence[float] | mathutils.Vector
313
- :return: The line of the intersection represented as a point and a vector or None if the intersection can't be calculated
314
- :rtype: tuple[None, None] | tuple[mathutils.Vector, mathutils.Vector]
266
+ :return: The line of the intersection represented as a point and a vector or None if the intersection cant be calculated
315
267
  """
316
268
 
317
269
  def intersect_point_line(
318
270
  pt: collections.abc.Sequence[float] | mathutils.Vector,
319
271
  line_p1: collections.abc.Sequence[float] | mathutils.Vector,
320
- line_p2,
272
+ line_p2: collections.abc.Sequence[float] | mathutils.Vector,
273
+ /,
274
+ ) -> tuple[mathutils.Vector, float]:
275
+ """Takes a point and a line and returns the closest point on the line and its distance from the first point of the line as a percentage of the length of the line.
276
+
277
+ :param pt: Point
278
+ :param line_p1: First point of the line
279
+ :param line_p2: Second point of the line
280
+ """
281
+
282
+ def intersect_point_line_segment(
283
+ pt: collections.abc.Sequence[float] | mathutils.Vector,
284
+ seg_p1: collections.abc.Sequence[float] | mathutils.Vector,
285
+ seg_p2: collections.abc.Sequence[float] | mathutils.Vector,
286
+ /,
321
287
  ) -> tuple[mathutils.Vector, float]:
322
- """Takes a point and a line and returns a tuple with the closest point on the line and its distance from the first point of the line as a percentage of the length of the line.
288
+ """Takes a point and a segment and returns the closest point on the segment and the distance to the segment.
323
289
 
324
290
  :param pt: Point
325
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
326
- :param line_p1: First point of the lineSecond point of the line
327
- :type line_p1: collections.abc.Sequence[float] | mathutils.Vector
328
- :rtype: tuple[mathutils.Vector, float]
291
+ :param seg_p1: First point of the segment
292
+ :param seg_p2: Second point of the segment
329
293
  """
330
294
 
331
295
  def intersect_point_quad_2d(
@@ -334,22 +298,17 @@ def intersect_point_quad_2d(
334
298
  quad_p2: collections.abc.Sequence[float] | mathutils.Vector,
335
299
  quad_p3: collections.abc.Sequence[float] | mathutils.Vector,
336
300
  quad_p4: collections.abc.Sequence[float] | mathutils.Vector,
301
+ /,
337
302
  ) -> int:
338
303
  """Takes 5 vectors (using only the x and y coordinates): one is the point and the next 4 define the quad,
339
304
  only the x and y are used from the vectors. Returns 1 if the point is within the quad, otherwise 0.
340
305
  Works only with convex quads without singular edges.
341
306
 
342
307
  :param pt: Point
343
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
344
308
  :param quad_p1: First point of the quad
345
- :type quad_p1: collections.abc.Sequence[float] | mathutils.Vector
346
309
  :param quad_p2: Second point of the quad
347
- :type quad_p2: collections.abc.Sequence[float] | mathutils.Vector
348
310
  :param quad_p3: Third point of the quad
349
- :type quad_p3: collections.abc.Sequence[float] | mathutils.Vector
350
311
  :param quad_p4: Fourth point of the quad
351
- :type quad_p4: collections.abc.Sequence[float] | mathutils.Vector
352
- :rtype: int
353
312
  """
354
313
 
355
314
  def intersect_point_tri(
@@ -357,19 +316,15 @@ def intersect_point_tri(
357
316
  tri_p1: collections.abc.Sequence[float] | mathutils.Vector,
358
317
  tri_p2: collections.abc.Sequence[float] | mathutils.Vector,
359
318
  tri_p3: collections.abc.Sequence[float] | mathutils.Vector,
319
+ /,
360
320
  ) -> None | mathutils.Vector:
361
321
  """Takes 4 vectors: one is the point and the next 3 define the triangle. Projects the point onto the triangle plane and checks if it is within the triangle.
362
322
 
363
323
  :param pt: Point
364
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
365
324
  :param tri_p1: First point of the triangle
366
- :type tri_p1: collections.abc.Sequence[float] | mathutils.Vector
367
325
  :param tri_p2: Second point of the triangle
368
- :type tri_p2: collections.abc.Sequence[float] | mathutils.Vector
369
326
  :param tri_p3: Third point of the triangle
370
- :type tri_p3: collections.abc.Sequence[float] | mathutils.Vector
371
327
  :return: Point on the triangles plane or None if its outside the triangle
372
- :rtype: None | mathutils.Vector
373
328
  """
374
329
 
375
330
  def intersect_point_tri_2d(
@@ -377,18 +332,14 @@ def intersect_point_tri_2d(
377
332
  tri_p1: collections.abc.Sequence[float] | mathutils.Vector,
378
333
  tri_p2: collections.abc.Sequence[float] | mathutils.Vector,
379
334
  tri_p3: collections.abc.Sequence[float] | mathutils.Vector,
335
+ /,
380
336
  ) -> int:
381
337
  """Takes 4 vectors (using only the x and y coordinates): one is the point and the next 3 define the triangle. Returns 1 if the point is within the triangle, otherwise 0.
382
338
 
383
339
  :param pt: Point
384
- :type pt: collections.abc.Sequence[float] | mathutils.Vector
385
340
  :param tri_p1: First point of the triangle
386
- :type tri_p1: collections.abc.Sequence[float] | mathutils.Vector
387
341
  :param tri_p2: Second point of the triangle
388
- :type tri_p2: collections.abc.Sequence[float] | mathutils.Vector
389
342
  :param tri_p3: Third point of the triangle
390
- :type tri_p3: collections.abc.Sequence[float] | mathutils.Vector
391
- :rtype: int
392
343
  """
393
344
 
394
345
  def intersect_ray_tri(
@@ -398,23 +349,17 @@ def intersect_ray_tri(
398
349
  ray: collections.abc.Sequence[float] | mathutils.Vector,
399
350
  orig: collections.abc.Sequence[float] | mathutils.Vector,
400
351
  clip: bool = True,
352
+ /,
401
353
  ) -> None | mathutils.Vector:
402
354
  """Returns the intersection between a ray and a triangle, if possible, returns None otherwise.
403
355
 
404
356
  :param v1: Point1
405
- :type v1: collections.abc.Sequence[float] | mathutils.Vector
406
357
  :param v2: Point2
407
- :type v2: collections.abc.Sequence[float] | mathutils.Vector
408
358
  :param v3: Point3
409
- :type v3: collections.abc.Sequence[float] | mathutils.Vector
410
359
  :param ray: Direction of the projection
411
- :type ray: collections.abc.Sequence[float] | mathutils.Vector
412
360
  :param orig: Origin
413
- :type orig: collections.abc.Sequence[float] | mathutils.Vector
414
- :param clip: When False, don't restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle.
415
- :type clip: bool
361
+ :param clip: When False, dont restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle.
416
362
  :return: The point of intersection or None if no intersection is found
417
- :rtype: None | mathutils.Vector
418
363
  """
419
364
 
420
365
  def intersect_sphere_sphere_2d(
@@ -422,59 +367,69 @@ def intersect_sphere_sphere_2d(
422
367
  radius_a: float,
423
368
  p_b: collections.abc.Sequence[float] | mathutils.Vector,
424
369
  radius_b: float,
370
+ /,
425
371
  ) -> tuple[None, None] | tuple[mathutils.Vector, mathutils.Vector]:
426
- """Returns 2 points on between intersecting circles.
372
+ """Returns 2 points between intersecting circles.
427
373
 
428
374
  :param p_a: Center of the first circle
429
- :type p_a: collections.abc.Sequence[float] | mathutils.Vector
430
375
  :param radius_a: Radius of the first circle
431
- :type radius_a: float
432
376
  :param p_b: Center of the second circle
433
- :type p_b: collections.abc.Sequence[float] | mathutils.Vector
434
377
  :param radius_b: Radius of the second circle
435
- :type radius_b: float
436
- :return: 2 points on between intersecting circles or None when there is no intersection.
437
- :rtype: tuple[None, None] | tuple[mathutils.Vector, mathutils.Vector]
378
+ :return: 2 points between intersecting circles or None when there is no intersection.
438
379
  """
439
380
 
440
- def intersect_tri_tri_2d(tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3) -> bool:
381
+ def intersect_tri_tri_2d(
382
+ tri_a1: collections.abc.Sequence[float] | mathutils.Vector,
383
+ tri_a2: collections.abc.Sequence[float] | mathutils.Vector,
384
+ tri_a3: collections.abc.Sequence[float] | mathutils.Vector,
385
+ tri_b1: collections.abc.Sequence[float] | mathutils.Vector,
386
+ tri_b2: collections.abc.Sequence[float] | mathutils.Vector,
387
+ tri_b3: collections.abc.Sequence[float] | mathutils.Vector,
388
+ /,
389
+ ) -> bool:
441
390
  """Check if two 2D triangles intersect.
442
391
 
443
- :rtype: bool
392
+ :param tri_a1: First vertex of the first triangle.
393
+ :param tri_a2: Second vertex of the first triangle.
394
+ :param tri_a3: Third vertex of the first triangle.
395
+ :param tri_b1: First vertex of the second triangle.
396
+ :param tri_b2: Second vertex of the second triangle.
397
+ :param tri_b3: Third vertex of the second triangle.
398
+ :return: True if the triangles intersect.
444
399
  """
445
400
 
446
401
  def normal(
447
- vectors: collections.abc.Sequence[collections.abc.Sequence[float]],
402
+ *vectors: collections.abc.Sequence[collections.abc.Sequence[float]],
448
403
  ) -> mathutils.Vector:
449
404
  """Returns the normal of a 3D polygon.
450
405
 
451
406
  :param vectors: 3 or more vectors to calculate normals.
452
- :type vectors: collections.abc.Sequence[collections.abc.Sequence[float]]
453
- :rtype: mathutils.Vector
454
407
  """
455
408
 
456
409
  def points_in_planes(
457
410
  planes: list[collections.abc.Sequence[float] | mathutils.Vector],
458
411
  epsilon_coplanar: float = 0.0001,
459
412
  epsilon_isect: float = 1e-06,
413
+ /,
460
414
  ) -> tuple[list[mathutils.Vector], list[int]]:
461
415
  """Returns a list of points inside all planes given and a list of index values for the planes used.
462
416
 
463
417
  :param planes: List of planes (4D vectors).
464
- :type planes: list[collections.abc.Sequence[float] | mathutils.Vector]
465
- :param epsilon_coplanar: Epsilon value for interpreting plane pairs as co-plannar.
466
- :type epsilon_coplanar: float
418
+ :param epsilon_coplanar: Epsilon value for interpreting plane pairs as co-planar.
467
419
  :param epsilon_isect: Epsilon value for intersection.
468
- :type epsilon_isect: float
469
- :return: Two lists, once containing the 3D coordinates inside the planes, another containing the plane indices used.
470
- :rtype: tuple[list[mathutils.Vector], list[int]]
420
+ :return: Two lists, one containing the 3D coordinates inside the planes, another containing the plane indices used.
471
421
  """
472
422
 
473
- def tessellate_polygon(polylines) -> list[tuple[int, int, int]]:
423
+ def tessellate_polygon(
424
+ polylines: collections.abc.Sequence[
425
+ collections.abc.Sequence[collections.abc.Sequence[float]]
426
+ ],
427
+ /,
428
+ ) -> list[tuple[int, int, int]]:
474
429
  """Takes a list of polylines (each point a pair or triplet of numbers) and returns the point indices for a polyline filled with triangles. Does not handle degenerate geometry (such as zero-length lines due to consecutive identical points).
475
430
 
476
431
  :param polylines: Polygons where each polygon is a sequence of 2D or 3D points.
477
- :rtype: list[tuple[int, int, int]]
432
+ :return: A list of triangles.
478
433
  """
479
434
 
480
435
  def volume_tetrahedron(
@@ -482,16 +437,12 @@ def volume_tetrahedron(
482
437
  v2: collections.abc.Sequence[float] | mathutils.Vector,
483
438
  v3: collections.abc.Sequence[float] | mathutils.Vector,
484
439
  v4: collections.abc.Sequence[float] | mathutils.Vector,
440
+ /,
485
441
  ) -> float:
486
442
  """Return the volume formed by a tetrahedron (points can be in any order).
487
443
 
488
444
  :param v1: Point1
489
- :type v1: collections.abc.Sequence[float] | mathutils.Vector
490
445
  :param v2: Point2
491
- :type v2: collections.abc.Sequence[float] | mathutils.Vector
492
446
  :param v3: Point3
493
- :type v3: collections.abc.Sequence[float] | mathutils.Vector
494
447
  :param v4: Point4
495
- :type v4: collections.abc.Sequence[float] | mathutils.Vector
496
- :rtype: float
497
448
  """
@@ -1,19 +1,21 @@
1
1
  """
2
- The Blender interpolate module
2
+ The Blender interpolate module.
3
3
 
4
4
  """
5
5
 
6
6
  import typing
7
7
  import collections.abc
8
8
  import typing_extensions
9
+ import numpy.typing as npt
9
10
 
10
11
  def poly_3d_calc(
11
- veclist: collections.abc.Sequence[collections.abc.Sequence[float]], pt
12
+ veclist: collections.abc.Sequence[collections.abc.Sequence[float]],
13
+ pt: collections.abc.Sequence[float],
14
+ /,
12
15
  ) -> list[float]:
13
16
  """Calculate barycentric weights for a point on a polygon.
14
17
 
15
18
  :param veclist: Sequence of 3D positions.
16
- :type veclist: collections.abc.Sequence[collections.abc.Sequence[float]]
17
- :param pt: 2D or 3D position. :type pt: Sequence[float] :return: list of per-vector weights.
18
- :rtype: list[float]
19
+ :param pt: 2D or 3D position.
20
+ :return: list of per-vector weights.
19
21
  """
@@ -8,27 +8,26 @@ Generic 3-dimensional kd-tree to perform spatial searches.
8
8
  import typing
9
9
  import collections.abc
10
10
  import typing_extensions
11
+ import numpy.typing as npt
11
12
  import mathutils
12
13
 
13
14
  class KDTree:
14
15
  """KdTree(size) -> new kd-tree initialized to hold size items."""
15
16
 
16
- def balance(self):
17
+ def balance(self) -> None:
17
18
  """Balance the tree."""
18
19
 
19
20
  def find(
20
21
  self,
21
22
  co: collections.abc.Sequence[float],
23
+ *,
22
24
  filter: collections.abc.Callable[int, bool] | None = None,
23
25
  ) -> tuple[mathutils.Vector, int, float]:
24
26
  """Find nearest point to co.
25
27
 
26
28
  :param co: 3D coordinates.
27
- :type co: collections.abc.Sequence[float]
28
29
  :param filter: function which takes an index and returns True for indices to include in the search.
29
- :type filter: collections.abc.Callable[int, bool] | None
30
30
  :return: Returns (position, index, distance).
31
- :rtype: tuple[mathutils.Vector, int, float]
32
31
  """
33
32
 
34
33
  def find_n(
@@ -37,11 +36,8 @@ class KDTree:
37
36
  """Find nearest n points to co.
38
37
 
39
38
  :param co: 3D coordinates.
40
- :type co: collections.abc.Sequence[float]
41
39
  :param n: Number of points to find.
42
- :type n: int
43
40
  :return: Returns a list of tuples (position, index, distance).
44
- :rtype: list[tuple[mathutils.Vector, int, float]]
45
41
  """
46
42
 
47
43
  def find_range(
@@ -50,23 +46,18 @@ class KDTree:
50
46
  """Find all points within radius of co.
51
47
 
52
48
  :param co: 3D coordinates.
53
- :type co: collections.abc.Sequence[float]
54
49
  :param radius: Distance to search for points.
55
- :type radius: float
56
50
  :return: Returns a list of tuples (position, index, distance).
57
- :rtype: list[tuple[mathutils.Vector, int, float]]
58
51
  """
59
52
 
60
- def insert(self, co: collections.abc.Sequence[float], index: int):
53
+ def insert(self, co: collections.abc.Sequence[float], index: int) -> None:
61
54
  """Insert a point into the KDTree.
62
55
 
63
56
  :param co: Point 3d position.
64
- :type co: collections.abc.Sequence[float]
65
57
  :param index: The index of the point.
66
- :type index: int
67
58
  """
68
59
 
69
- def __init__(self, size):
60
+ def __init__(self, size) -> None:
70
61
  """
71
62
 
72
63
  :param size: