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.
Potentially problematic release.
This version of fake-bpy-module might be problematic. Click here for more details.
- addon_utils/__init__.pyi +54 -11
- animsys_refactor/__init__.pyi +36 -7
- aud/__init__.pyi +307 -321
- bgl/__init__.pyi +2926 -865
- bl_app_override/__init__.pyi +14 -4
- bl_app_override/helpers/__init__.pyi +24 -3
- bl_app_template_utils/__init__.pyi +19 -5
- bl_console_utils/__init__.pyi +0 -1
- bl_console_utils/autocomplete/__init__.pyi +2 -3
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +24 -6
- bl_console_utils/autocomplete/complete_import/__init__.pyi +14 -4
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +24 -6
- bl_console_utils/autocomplete/intellisense/__init__.pyi +9 -3
- bl_i18n_utils/__init__.pyi +2 -3
- bl_i18n_utils/bl_extract_messages/__init__.pyi +74 -16
- bl_i18n_utils/merge_po/__init__.pyi +4 -2
- bl_i18n_utils/settings/__init__.pyi +53 -7
- bl_i18n_utils/utils/__init__.pyi +332 -45
- bl_i18n_utils/utils_cli/__init__.pyi +29 -7
- bl_i18n_utils/utils_languages_menu/__init__.pyi +4 -2
- bl_i18n_utils/utils_rtl/__init__.pyi +9 -3
- bl_keymap_utils/__init__.pyi +2 -3
- bl_keymap_utils/io/__init__.pyi +44 -10
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +4 -2
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +4 -2
- bl_keymap_utils/platform_helpers/__init__.pyi +9 -3
- bl_keymap_utils/versioning/__init__.pyi +4 -2
- bl_math/__init__.pyi +21 -22
- bl_operators/__init__.pyi +30 -24
- bl_operators/add_mesh_torus/__init__.pyi +171 -38
- bl_operators/anim/__init__.pyi +1065 -227
- bl_operators/assets/__init__.pyi +427 -93
- bl_operators/bmesh/__init__.pyi +0 -1
- bl_operators/bmesh/find_adjacent/__init__.pyi +44 -10
- bl_operators/clip/__init__.pyi +1342 -288
- bl_operators/console/__init__.pyi +647 -141
- bl_operators/constraint/__init__.pyi +524 -113
- bl_operators/file/__init__.pyi +396 -85
- bl_operators/freestyle/__init__.pyi +532 -114
- bl_operators/geometry_nodes/__init__.pyi +2412 -597
- bl_operators/image/__init__.pyi +380 -83
- bl_operators/mesh/__init__.pyi +401 -86
- bl_operators/node/__init__.pyi +1756 -385
- bl_operators/object/__init__.pyi +2022 -553
- bl_operators/object_align/__init__.pyi +145 -32
- bl_operators/object_quick_effects/__init__.pyi +555 -125
- bl_operators/object_randomize_transform/__init__.pyi +136 -33
- bl_operators/presets/__init__.pyi +3516 -709
- bl_operators/rigidbody/__init__.pyi +401 -86
- bl_operators/screen_play_rendered_anim/__init__.pyi +129 -30
- bl_operators/sequencer/__init__.pyi +731 -150
- bl_operators/spreadsheet/__init__.pyi +145 -31
- bl_operators/userpref/__init__.pyi +3416 -825
- bl_operators/uvcalc_follow_active/__init__.pyi +149 -33
- bl_operators/uvcalc_lightmap/__init__.pyi +187 -35
- bl_operators/uvcalc_transform/__init__.pyi +344 -74
- bl_operators/vertexpaint_dirt/__init__.pyi +140 -31
- bl_operators/view3d/__init__.pyi +697 -147
- bl_operators/wm/__init__.pyi +6287 -1534
- bl_previews_utils/__init__.pyi +0 -1
- bl_previews_utils/bl_previews_render/__init__.pyi +34 -8
- bl_rna_utils/__init__.pyi +0 -1
- bl_rna_utils/data_path/__init__.pyi +12 -3
- bl_text_utils/__init__.pyi +0 -1
- bl_text_utils/external_editor/__init__.pyi +4 -2
- bl_ui/__init__.pyi +567 -170
- bl_ui/anim/__init__.pyi +164 -34
- bl_ui/asset_shelf/__init__.pyi +146 -32
- bl_ui/generic_ui_list/__init__.pyi +471 -100
- bl_ui/node_add_menu/__init__.pyi +196 -41
- bl_ui/node_add_menu_compositor/__init__.pyi +3017 -622
- bl_ui/node_add_menu_geometry/__init__.pyi +8075 -1592
- bl_ui/node_add_menu_shader/__init__.pyi +1709 -349
- bl_ui/node_add_menu_texture/__init__.pyi +1502 -306
- bl_ui/properties_animviz/__init__.pyi +32 -3
- bl_ui/properties_collection/__init__.pyi +787 -180
- bl_ui/properties_constraint/__init__.pyi +28635 -5524
- bl_ui/properties_data_armature/__init__.pyi +1905 -449
- bl_ui/properties_data_bone/__init__.pyi +1560 -337
- bl_ui/properties_data_camera/__init__.pyi +2269 -495
- bl_ui/properties_data_curve/__init__.pyi +2362 -535
- bl_ui/properties_data_curves/__init__.pyi +951 -204
- bl_ui/properties_data_empty/__init__.pyi +317 -70
- bl_ui/properties_data_gpencil/__init__.pyi +2924 -735
- bl_ui/properties_data_grease_pencil/__init__.pyi +1631 -189
- bl_ui/properties_data_lattice/__init__.pyi +472 -105
- bl_ui/properties_data_light/__init__.pyi +1570 -338
- bl_ui/properties_data_lightprobe/__init__.pyi +938 -209
- bl_ui/properties_data_mesh/__init__.pyi +3205 -768
- bl_ui/properties_data_metaball/__init__.pyi +774 -171
- bl_ui/properties_data_modifier/__init__.pyi +1554 -329
- bl_ui/properties_data_pointcloud/__init__.pyi +821 -195
- bl_ui/properties_data_shaderfx/__init__.pyi +154 -35
- bl_ui/properties_data_speaker/__init__.pyi +782 -169
- bl_ui/properties_data_volume/__init__.pyi +1243 -282
- bl_ui/properties_freestyle/__init__.pyi +4071 -1031
- bl_ui/properties_grease_pencil_common/__init__.pyi +2399 -484
- bl_ui/properties_mask_common/__init__.pyi +1256 -250
- bl_ui/properties_material/__init__.pyi +2351 -543
- bl_ui/properties_material_gpencil/__init__.pyi +1590 -366
- bl_ui/properties_object/__init__.pyi +2179 -513
- bl_ui/properties_output/__init__.pyi +2956 -706
- bl_ui/properties_paint_common/__init__.pyi +947 -141
- bl_ui/properties_particle/__init__.pyi +8322 -1971
- bl_ui/properties_physics_cloth/__init__.pyi +2254 -509
- bl_ui/properties_physics_common/__init__.pyi +200 -45
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +4454 -966
- bl_ui/properties_physics_field/__init__.pyi +1695 -365
- bl_ui/properties_physics_fluid/__init__.pyi +6127 -1281
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +157 -33
- bl_ui/properties_physics_rigidbody/__init__.pyi +1254 -279
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +2053 -484
- bl_ui/properties_physics_softbody/__init__.pyi +2394 -543
- bl_ui/properties_render/__init__.pyi +8312 -1934
- bl_ui/properties_scene/__init__.pyi +2211 -540
- bl_ui/properties_texture/__init__.pyi +4185 -1014
- bl_ui/properties_view_layer/__init__.pyi +2803 -665
- bl_ui/properties_workspace/__init__.pyi +626 -149
- bl_ui/properties_world/__init__.pyi +1092 -235
- bl_ui/space_clip/__init__.pyi +11475 -2806
- bl_ui/space_console/__init__.pyi +967 -203
- bl_ui/space_dopesheet/__init__.pyi +4260 -967
- bl_ui/space_filebrowser/__init__.pyi +4852 -1188
- bl_ui/space_graph/__init__.pyi +3251 -703
- bl_ui/space_image/__init__.pyi +12218 -2968
- bl_ui/space_info/__init__.pyi +964 -201
- bl_ui/space_nla/__init__.pyi +2756 -585
- bl_ui/space_node/__init__.pyi +5661 -1266
- bl_ui/space_outliner/__init__.pyi +2294 -479
- bl_ui/space_properties/__init__.pyi +417 -93
- bl_ui/space_sequencer/__init__.pyi +12436 -3010
- bl_ui/space_spreadsheet/__init__.pyi +184 -37
- bl_ui/space_statusbar/__init__.pyi +135 -31
- bl_ui/space_text/__init__.pyi +2556 -543
- bl_ui/space_time/__init__.pyi +1151 -244
- bl_ui/space_toolsystem_common/__init__.pyi +368 -67
- bl_ui/space_toolsystem_toolbar/__init__.pyi +1378 -229
- bl_ui/space_topbar/__init__.pyi +4214 -888
- bl_ui/space_userpref/__init__.pyi +13920 -3468
- bl_ui/space_view3d/__init__.pyi +42751 -9613
- bl_ui/space_view3d_toolbar/__init__.pyi +16379 -3860
- bl_ui/utils/__init__.pyi +42 -5
- bl_ui_utils/__init__.pyi +0 -1
- bl_ui_utils/bug_report_url/__init__.pyi +4 -2
- bl_ui_utils/layout/__init__.pyi +4 -2
- blend_render_info/__init__.pyi +13 -4
- blf/__init__.pyi +15 -18
- bmesh/__init__.pyi +18 -18
- bmesh/geometry/__init__.pyi +5 -6
- bmesh/ops/__init__.pyi +1337 -1158
- bmesh/types/__init__.pyi +464 -374
- bmesh/utils/__init__.pyi +64 -70
- bpy/__init__.pyi +6 -7
- bpy/app/__init__.pyi +36 -38
- bpy/app/handlers/__init__.pyi +37 -38
- bpy/app/icons/__init__.pyi +8 -11
- bpy/app/timers/__init__.pyi +18 -17
- bpy/app/translations/__init__.pyi +32 -30
- bpy/msgbus/__init__.pyi +25 -20
- bpy/ops/__init__.pyi +63 -64
- bpy/ops/action/__init__.pyi +408 -436
- bpy/ops/anim/__init__.pyi +459 -577
- bpy/ops/armature/__init__.pyi +396 -498
- bpy/ops/asset/__init__.pyi +187 -213
- bpy/ops/boid/__init__.pyi +50 -68
- bpy/ops/brush/__init__.pyi +72 -97
- bpy/ops/buttons/__init__.pyi +202 -193
- bpy/ops/cachefile/__init__.pyi +198 -188
- bpy/ops/camera/__init__.pyi +24 -31
- bpy/ops/clip/__init__.pyi +1021 -1082
- bpy/ops/cloth/__init__.pyi +11 -15
- bpy/ops/collection/__init__.pyi +36 -51
- bpy/ops/console/__init__.pyi +155 -209
- bpy/ops/constraint/__init__.pyi +286 -254
- bpy/ops/curve/__init__.pyi +597 -659
- bpy/ops/curves/__init__.pyi +191 -225
- bpy/ops/cycles/__init__.pyi +21 -30
- bpy/ops/dpaint/__init__.pyi +34 -47
- bpy/ops/ed/__init__.pyi +160 -176
- bpy/ops/export_anim/__init__.pyi +51 -34
- bpy/ops/export_mesh/__init__.pyi +47 -45
- bpy/ops/export_scene/__init__.pyi +659 -504
- bpy/ops/file/__init__.pyi +469 -474
- bpy/ops/fluid/__init__.pyi +89 -119
- bpy/ops/font/__init__.pyi +325 -361
- bpy/ops/geometry/__init__.pyi +86 -114
- bpy/ops/gizmogroup/__init__.pyi +22 -28
- bpy/ops/gpencil/__init__.pyi +1900 -1976
- bpy/ops/graph/__init__.pyi +875 -894
- bpy/ops/grease_pencil/__init__.pyi +572 -508
- bpy/ops/image/__init__.pyi +805 -855
- bpy/ops/import_anim/__init__.pyi +66 -46
- bpy/ops/import_curve/__init__.pyi +7 -11
- bpy/ops/import_mesh/__init__.pyi +19 -25
- bpy/ops/import_scene/__init__.pyi +164 -147
- bpy/ops/info/__init__.pyi +88 -85
- bpy/ops/lattice/__init__.pyi +86 -90
- bpy/ops/marker/__init__.pyi +135 -146
- bpy/ops/mask/__init__.pyi +372 -436
- bpy/ops/material/__init__.pyi +18 -25
- bpy/ops/mball/__init__.pyi +93 -99
- bpy/ops/mesh/__init__.pyi +2525 -2664
- bpy/ops/nla/__init__.pyi +398 -455
- bpy/ops/node/__init__.pyi +1015 -1207
- bpy/ops/object/__init__.pyi +3423 -3390
- bpy/ops/outliner/__init__.pyi +667 -685
- bpy/ops/paint/__init__.pyi +719 -672
- bpy/ops/paintcurve/__init__.pyi +64 -85
- bpy/ops/palette/__init__.pyi +48 -67
- bpy/ops/particle/__init__.pyi +323 -367
- bpy/ops/pose/__init__.pyi +569 -474
- bpy/ops/poselib/__init__.pyi +77 -100
- bpy/ops/preferences/__init__.pyi +460 -512
- bpy/ops/ptcache/__init__.pyi +46 -63
- bpy/ops/render/__init__.pyi +121 -155
- bpy/ops/rigidbody/__init__.pyi +148 -143
- bpy/ops/scene/__init__.pyi +336 -380
- bpy/ops/screen/__init__.pyi +454 -530
- bpy/ops/script/__init__.pyi +19 -28
- bpy/ops/sculpt/__init__.pyi +734 -587
- bpy/ops/sculpt_curves/__init__.pyi +51 -56
- bpy/ops/sequencer/__init__.pyi +1617 -1500
- bpy/ops/sound/__init__.pyi +392 -315
- bpy/ops/spreadsheet/__init__.pyi +31 -42
- bpy/ops/surface/__init__.pyi +198 -163
- bpy/ops/text/__init__.pyi +479 -545
- bpy/ops/text_editor/__init__.pyi +11 -15
- bpy/ops/texture/__init__.pyi +26 -36
- bpy/ops/transform/__init__.pyi +825 -941
- bpy/ops/ui/__init__.pyi +246 -295
- bpy/ops/uilist/__init__.pyi +34 -38
- bpy/ops/uv/__init__.pyi +912 -824
- bpy/ops/view2d/__init__.pyi +157 -197
- bpy/ops/view3d/__init__.pyi +777 -878
- bpy/ops/wm/__init__.pyi +4102 -3595
- bpy/ops/workspace/__init__.pyi +42 -58
- bpy/ops/world/__init__.pyi +6 -9
- bpy/path/__init__.pyi +166 -109
- bpy/props/__init__.pyi +478 -395
- bpy/types/__init__.pyi +87194 -81467
- bpy/utils/__init__.pyi +325 -169
- bpy/utils/previews/__init__.pyi +108 -21
- bpy/utils/units/__init__.pyi +37 -39
- bpy_extras/__init__.pyi +4 -9
- bpy_extras/anim_utils/__init__.pyi +25 -55
- bpy_extras/asset_utils/__init__.pyi +3 -13
- bpy_extras/id_map_utils/__init__.pyi +1 -4
- bpy_extras/image_utils/__init__.pyi +33 -23
- bpy_extras/io_utils/__init__.pyi +116 -66
- bpy_extras/keyconfig_utils/__init__.pyi +5 -3
- bpy_extras/mesh_utils/__init__.pyi +42 -34
- bpy_extras/node_utils/__init__.pyi +4 -4
- bpy_extras/object_utils/__init__.pyi +58 -43
- bpy_extras/view3d_utils/__init__.pyi +64 -63
- bpy_restrict_state/__init__.pyi +14 -2
- bpy_types/__init__.pyi +3873 -998
- console_python/__init__.pyi +41 -8
- console_shell/__init__.pyi +24 -6
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/METADATA +1 -1
- fake_bpy_module-20240326.dist-info/RECORD +343 -0
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/WHEEL +1 -1
- freestyle/__init__.pyi +4 -5
- freestyle/chainingiterators/__init__.pyi +229 -73
- freestyle/functions/__init__.pyi +624 -402
- freestyle/predicates/__init__.pyi +381 -169
- freestyle/shaders/__init__.pyi +424 -155
- freestyle/types/__init__.pyi +1572 -726
- freestyle/utils/ContextFunctions/__init__.pyi +54 -43
- freestyle/utils/__init__.pyi +67 -31
- gpu/__init__.pyi +3 -4
- gpu/capabilities/__init__.pyi +57 -37
- gpu/matrix/__init__.pyi +14 -17
- gpu/platform/__init__.pyi +5 -6
- gpu/select/__init__.pyi +2 -5
- gpu/shader/__init__.pyi +14 -12
- gpu/state/__init__.pyi +48 -62
- gpu/texture/__init__.pyi +7 -7
- gpu/types/__init__.pyi +670 -229
- gpu_extras/__init__.pyi +1 -2
- gpu_extras/batch/__init__.pyi +27 -6
- gpu_extras/presets/__init__.pyi +67 -27
- graphviz_export/__init__.pyi +9 -3
- idprop/__init__.pyi +0 -1
- idprop/types/__init__.pyi +42 -13
- imbuf/__init__.pyi +6 -10
- imbuf/types/__init__.pyi +8 -16
- keyingsets_builtins/__init__.pyi +3149 -702
- keyingsets_utils/__init__.pyi +69 -15
- mathutils/__init__.pyi +951 -876
- mathutils/bvhtree/__init__.pyi +47 -48
- mathutils/geometry/__init__.pyi +237 -242
- mathutils/interpolate/__init__.pyi +3 -6
- mathutils/kdtree/__init__.pyi +23 -26
- mathutils/noise/__init__.pyi +50 -51
- nodeitems_builtins/__init__.pyi +50 -11
- nodeitems_utils/__init__.pyi +58 -11
- rna_info/__init__.pyi +230 -27
- rna_keymap_ui/__init__.pyi +29 -7
- rna_prop_ui/__init__.pyi +69 -13
- rna_xml/__init__.pyi +29 -7
- sys_info/__init__.pyi +4 -2
- bpy_extras/bmesh_utils/__init__.pyi +0 -7
- bpy_extras/extensions/__init__.pyi +0 -5
- bpy_extras/extensions/junction_module/__init__.pyi +0 -13
- bpy_extras/node_shader_utils/__init__.pyi +0 -132
- bpy_extras/wm_utils/__init__.pyi +0 -5
- bpy_extras/wm_utils/progress_report/__init__.pyi +0 -30
- fake_bpy_module-20240210.dist-info/RECORD +0 -349
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/top_level.txt +0 -0
bpy_extras/io_utils/__init__.pyi
CHANGED
|
@@ -1,56 +1,91 @@
|
|
|
1
|
-
import sys
|
|
2
1
|
import typing
|
|
3
2
|
import bpy.types
|
|
4
3
|
|
|
5
4
|
GenericType = typing.TypeVar("GenericType")
|
|
6
5
|
|
|
7
6
|
class ExportHelper:
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
""" """
|
|
8
|
+
|
|
9
|
+
def check(self, _context):
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
:param _context:
|
|
13
|
+
"""
|
|
14
|
+
...
|
|
15
|
+
|
|
16
|
+
def invoke(self, context, _event):
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
:param context:
|
|
20
|
+
:param _event:
|
|
21
|
+
"""
|
|
22
|
+
...
|
|
10
23
|
|
|
11
24
|
class ImportHelper:
|
|
12
|
-
|
|
13
|
-
|
|
25
|
+
""" """
|
|
26
|
+
|
|
27
|
+
def check(self, _context):
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
:param _context:
|
|
31
|
+
"""
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
def invoke(self, context, _event):
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
:param context:
|
|
38
|
+
:param _event:
|
|
39
|
+
"""
|
|
40
|
+
...
|
|
14
41
|
|
|
15
42
|
def axis_conversion(from_forward="Y", from_up="Z", to_forward="Y", to_up="Z"):
|
|
16
|
-
"""Each argument us an axis in ['X', 'Y', 'Z', '-X', '-Y', '-Z']
|
|
43
|
+
"""Each argument us an axis in ['X', 'Y', 'Z', '-X', '-Y', '-Z']
|
|
44
|
+
where the first 2 are a source and the second 2 are the target.
|
|
45
|
+
|
|
46
|
+
"""
|
|
17
47
|
|
|
18
48
|
...
|
|
19
49
|
|
|
20
50
|
def axis_conversion_ensure(
|
|
21
|
-
operator:
|
|
51
|
+
operator: bpy.types.Operator, forward_attr: str, up_attr: str
|
|
22
52
|
) -> bool:
|
|
23
|
-
"""Function to ensure an operator has valid axis conversion settings, intended
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
53
|
+
"""Function to ensure an operator has valid axis conversion settings, intended
|
|
54
|
+
to be used from `bpy.types.Operator.check`.
|
|
55
|
+
|
|
56
|
+
:param operator: the operator to access axis attributes from.
|
|
57
|
+
:type operator: bpy.types.Operator
|
|
58
|
+
:param forward_attr: attribute storing the forward axis
|
|
59
|
+
:type forward_attr: str
|
|
60
|
+
:param up_attr: attribute storing the up axis
|
|
61
|
+
:type up_attr: str
|
|
62
|
+
:return: True if the value was modified.
|
|
63
|
+
:rtype: bool
|
|
33
64
|
"""
|
|
34
65
|
|
|
35
66
|
...
|
|
36
67
|
|
|
37
68
|
def create_derived_objects(
|
|
38
|
-
depsgraph:
|
|
39
|
-
) ->
|
|
69
|
+
depsgraph: bpy.types.Depsgraph, objects: typing.Iterable[bpy.types.Object]
|
|
70
|
+
) -> dict:
|
|
40
71
|
"""This function takes a sequence of objects, returning their instances.
|
|
41
72
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
73
|
+
:param depsgraph: The evaluated depsgraph.
|
|
74
|
+
:type depsgraph: bpy.types.Depsgraph
|
|
75
|
+
:param objects: A sequencer of objects.
|
|
76
|
+
:type objects: typing.Iterable[bpy.types.Object]
|
|
77
|
+
:return: A dictionary where each key is an object from objects,
|
|
78
|
+
values are lists of (`bpy.types.Object`, `mathutils.Matrix`) tuples representing instances.
|
|
79
|
+
:rtype: dict
|
|
48
80
|
"""
|
|
49
81
|
|
|
50
82
|
...
|
|
51
83
|
|
|
52
84
|
def orientation_helper(axis_forward="Y", axis_up="Z"):
|
|
53
|
-
"""A decorator for import/export classes, generating properties needed by the axis conversion system and IO helpers,
|
|
85
|
+
"""A decorator for import/export classes, generating properties needed by the axis conversion system and IO helpers,
|
|
86
|
+
with specified default values (axes).
|
|
87
|
+
|
|
88
|
+
"""
|
|
54
89
|
|
|
55
90
|
...
|
|
56
91
|
|
|
@@ -60,38 +95,41 @@ def path_reference(
|
|
|
60
95
|
base_dst: str,
|
|
61
96
|
mode: str = "AUTO",
|
|
62
97
|
copy_subdir: str = "",
|
|
63
|
-
copy_set:
|
|
64
|
-
library
|
|
98
|
+
copy_set: set = None,
|
|
99
|
+
library=None,
|
|
65
100
|
) -> str:
|
|
66
|
-
"""Return a filepath relative to a destination directory, for use with
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
101
|
+
"""Return a filepath relative to a destination directory, for use with
|
|
102
|
+
exporters.
|
|
103
|
+
|
|
104
|
+
:param filepath: the file path to return,
|
|
105
|
+
supporting blenders relative '//' prefix.
|
|
106
|
+
:type filepath: str
|
|
107
|
+
:param base_src: the directory the filepath is relative too
|
|
108
|
+
(normally the blend file).
|
|
109
|
+
:type base_src: str
|
|
110
|
+
:param base_dst: the directory the filepath will be referenced from
|
|
111
|
+
(normally the export path).
|
|
112
|
+
:type base_dst: str
|
|
113
|
+
:param mode: the method used get the path in
|
|
114
|
+
['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY']
|
|
115
|
+
:type mode: str
|
|
116
|
+
:param copy_subdir: the subdirectory of base_dst to use when mode='COPY'.
|
|
117
|
+
:type copy_subdir: str
|
|
118
|
+
:param copy_set: collect from/to pairs when mode='COPY',
|
|
119
|
+
pass to path_reference_copy when exporting is done.
|
|
120
|
+
:type copy_set: set
|
|
121
|
+
:param library: The library this path is relative to.
|
|
122
|
+
:return: the new filepath.
|
|
123
|
+
:rtype: str
|
|
84
124
|
"""
|
|
85
125
|
|
|
86
126
|
...
|
|
87
127
|
|
|
88
|
-
def path_reference_copy(
|
|
89
|
-
copy_set: typing.Set, report: typing.Any = "<built-in function print>"
|
|
90
|
-
):
|
|
128
|
+
def path_reference_copy(copy_set: set, report: typing.Any = None):
|
|
91
129
|
"""Execute copying files of path_reference
|
|
92
130
|
|
|
93
131
|
:param copy_set: set of (from, to) pairs to copy.
|
|
94
|
-
:type copy_set:
|
|
132
|
+
:type copy_set: set
|
|
95
133
|
:param report: function used for reporting warnings, takes a string argument.
|
|
96
134
|
:type report: typing.Any
|
|
97
135
|
"""
|
|
@@ -99,28 +137,40 @@ def path_reference_copy(
|
|
|
99
137
|
...
|
|
100
138
|
|
|
101
139
|
def unique_name(
|
|
102
|
-
key
|
|
140
|
+
key,
|
|
103
141
|
name: str,
|
|
104
|
-
name_dict:
|
|
142
|
+
name_dict: dict,
|
|
105
143
|
name_max=-1,
|
|
106
144
|
clean_func: typing.Any = None,
|
|
107
145
|
sep: str = ".",
|
|
108
146
|
):
|
|
109
|
-
"""Helper function for storing unique names which may have special characters
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
147
|
+
"""Helper function for storing unique names which may have special characters
|
|
148
|
+
stripped and restricted to a maximum length.
|
|
149
|
+
|
|
150
|
+
:param key: unique item this name belongs to, name_dict[key] will be reused
|
|
151
|
+
when available.
|
|
152
|
+
This can be the object, mesh, material, etc instance itself.
|
|
153
|
+
:param name: The name used to create a unique value in name_dict.
|
|
154
|
+
:type name: str
|
|
155
|
+
:param name_dict: This is used to cache namespace to ensure no collisions
|
|
156
|
+
occur, this should be an empty dict initially and only modified by this
|
|
157
|
+
function.
|
|
158
|
+
:type name_dict: dict
|
|
159
|
+
:param clean_func: Function to call on name before creating a unique value.
|
|
160
|
+
:type clean_func: typing.Any
|
|
161
|
+
:param sep: Separator to use when between the name and a number when a
|
|
162
|
+
duplicate name is found.
|
|
163
|
+
:type sep: str
|
|
121
164
|
"""
|
|
122
165
|
|
|
123
166
|
...
|
|
124
167
|
|
|
125
|
-
def unpack_face_list(list_of_tuples):
|
|
126
|
-
|
|
168
|
+
def unpack_face_list(list_of_tuples):
|
|
169
|
+
""" """
|
|
170
|
+
|
|
171
|
+
...
|
|
172
|
+
|
|
173
|
+
def unpack_list(list_of_tuples):
|
|
174
|
+
""" """
|
|
175
|
+
|
|
176
|
+
...
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import sys
|
|
2
1
|
import typing
|
|
3
2
|
|
|
4
3
|
GenericType = typing.TypeVar("GenericType")
|
|
5
4
|
|
|
6
5
|
def addon_keymap_register(keymap_data):
|
|
7
|
-
"""Register a set of keymaps for addons using a list of keymaps.
|
|
6
|
+
"""Register a set of keymaps for addons using a list of keymaps.See 'blender_defaults.py' for examples of the format this takes."""
|
|
8
7
|
|
|
9
8
|
...
|
|
10
9
|
|
|
@@ -13,4 +12,7 @@ def addon_keymap_unregister(keymap_data):
|
|
|
13
12
|
|
|
14
13
|
...
|
|
15
14
|
|
|
16
|
-
def keyconfig_test(kc):
|
|
15
|
+
def keyconfig_test(kc):
|
|
16
|
+
""" """
|
|
17
|
+
|
|
18
|
+
...
|
|
@@ -1,85 +1,93 @@
|
|
|
1
|
-
import sys
|
|
2
1
|
import typing
|
|
3
2
|
import bpy.types
|
|
4
3
|
|
|
5
4
|
GenericType = typing.TypeVar("GenericType")
|
|
6
5
|
|
|
7
|
-
def edge_face_count(mesh) ->
|
|
6
|
+
def edge_face_count(mesh) -> list:
|
|
8
7
|
"""
|
|
9
8
|
|
|
10
|
-
:rtype: typing.List
|
|
11
9
|
:return: list face users for each item in mesh.edges.
|
|
10
|
+
:rtype: list
|
|
12
11
|
"""
|
|
13
12
|
|
|
14
13
|
...
|
|
15
14
|
|
|
16
|
-
def edge_face_count_dict(mesh) ->
|
|
15
|
+
def edge_face_count_dict(mesh) -> dict:
|
|
17
16
|
"""
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
:return: dict of edge keys with their value set to the number of
|
|
19
|
+
faces using each edge.
|
|
20
|
+
:rtype: dict
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
23
|
...
|
|
24
24
|
|
|
25
25
|
def edge_loops_from_edges(mesh, edges=None):
|
|
26
|
-
"""Edge loops defined by
|
|
26
|
+
"""Edge loops defined by edgesTakes me.edges or a list of edges and returns the edge loopsreturn a list of vertex indices.
|
|
27
|
+
[ [1, 6, 7, 2], ...]closed loops have matching start and end values.
|
|
28
|
+
|
|
29
|
+
"""
|
|
27
30
|
|
|
28
31
|
...
|
|
29
32
|
|
|
30
|
-
def mesh_linked_triangles(mesh:
|
|
31
|
-
"""Splits the mesh into connected triangles, use this for separating cubes from
|
|
33
|
+
def mesh_linked_triangles(mesh: bpy.types.Mesh) -> list:
|
|
34
|
+
"""Splits the mesh into connected triangles, use this for separating cubes from
|
|
35
|
+
other mesh elements within 1 mesh datablock.
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
:param mesh: the mesh used to group with.
|
|
38
|
+
:type mesh: bpy.types.Mesh
|
|
39
|
+
:return: lists of lists containing triangles.
|
|
40
|
+
:rtype: list
|
|
37
41
|
"""
|
|
38
42
|
|
|
39
43
|
...
|
|
40
44
|
|
|
41
|
-
def mesh_linked_uv_islands(mesh:
|
|
45
|
+
def mesh_linked_uv_islands(mesh: bpy.types.Mesh) -> list:
|
|
42
46
|
"""Returns lists of polygon indices connected by UV islands.
|
|
43
47
|
|
|
44
48
|
:param mesh: the mesh used to group with.
|
|
45
|
-
:type mesh:
|
|
46
|
-
:rtype: typing.List
|
|
49
|
+
:type mesh: bpy.types.Mesh
|
|
47
50
|
:return: list of lists containing polygon indices
|
|
51
|
+
:rtype: list
|
|
48
52
|
"""
|
|
49
53
|
|
|
50
54
|
...
|
|
51
55
|
|
|
52
56
|
def ngon_tessellate(
|
|
53
|
-
from_data: typing.Union[
|
|
54
|
-
indices:
|
|
57
|
+
from_data: typing.Union[list, bpy.types.Mesh],
|
|
58
|
+
indices: list,
|
|
55
59
|
fix_loops: bool = True,
|
|
56
60
|
debug_print=True,
|
|
57
61
|
):
|
|
58
|
-
"""Takes a poly-line of indices (ngon) and returns a list of face
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
"""Takes a poly-line of indices (ngon) and returns a list of face
|
|
63
|
+
index lists. Designed to be used for importers that need indices for an
|
|
64
|
+
ngon to create from existing verts.
|
|
65
|
+
|
|
66
|
+
:param from_data: either a mesh, or a list/tuple of vectors.
|
|
67
|
+
:type from_data: typing.Union[list, bpy.types.Mesh]
|
|
68
|
+
:param indices: a list of indices to use this list
|
|
69
|
+
is the ordered closed poly-line
|
|
70
|
+
to fill, and can be a subset of the data given.
|
|
71
|
+
:type indices: list
|
|
72
|
+
:param fix_loops: If this is enabled poly-lines
|
|
73
|
+
that use loops to make multiple
|
|
74
|
+
poly-lines are dealt with correctly.
|
|
75
|
+
:type fix_loops: bool
|
|
66
76
|
"""
|
|
67
77
|
|
|
68
78
|
...
|
|
69
79
|
|
|
70
80
|
def triangle_random_points(
|
|
71
|
-
num_points
|
|
72
|
-
loop_triangles: typing.Union[
|
|
73
|
-
) ->
|
|
81
|
+
num_points,
|
|
82
|
+
loop_triangles: typing.Union[bpy.types.MeshLoopTriangle, typing.Sequence],
|
|
83
|
+
) -> list:
|
|
74
84
|
"""Generates a list of random points over mesh loop triangles.
|
|
75
85
|
|
|
76
|
-
:
|
|
86
|
+
:param num_points: the number of random points to generate on each triangle.
|
|
77
87
|
:param loop_triangles: list of the triangles to generate points on.
|
|
78
|
-
:type loop_triangles: typing.Union[
|
|
79
|
-
:param num_points: the number of random points to generate on each triangle.
|
|
80
|
-
:type num_points: typing.Any
|
|
81
|
-
:rtype: typing.List
|
|
88
|
+
:type loop_triangles: typing.Union[bpy.types.MeshLoopTriangle, typing.Sequence]
|
|
82
89
|
:return: list of random points over all triangles.
|
|
90
|
+
:rtype: list
|
|
83
91
|
"""
|
|
84
92
|
|
|
85
93
|
...
|
|
@@ -1,31 +1,39 @@
|
|
|
1
|
-
import sys
|
|
2
1
|
import typing
|
|
3
2
|
import bpy.types
|
|
4
3
|
import mathutils
|
|
5
|
-
import bpy
|
|
6
4
|
|
|
7
5
|
GenericType = typing.TypeVar("GenericType")
|
|
8
6
|
|
|
9
7
|
class AddObjectHelper:
|
|
10
|
-
|
|
8
|
+
""" """
|
|
9
|
+
|
|
10
|
+
def align_update_callback(self, _context):
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
:param _context:
|
|
14
|
+
"""
|
|
15
|
+
...
|
|
11
16
|
|
|
12
17
|
def add_object_align_init(
|
|
13
|
-
context:
|
|
14
|
-
) ->
|
|
18
|
+
context: bpy.types.Context, operator: bpy.types.Operator
|
|
19
|
+
) -> mathutils.Matrix:
|
|
15
20
|
"""Return a matrix using the operator settings and view context.
|
|
16
21
|
|
|
17
22
|
:param context: The context to use.
|
|
18
|
-
:type context:
|
|
23
|
+
:type context: bpy.types.Context
|
|
19
24
|
:param operator: The operator, checked for location and rotation properties.
|
|
20
|
-
:type operator:
|
|
21
|
-
:rtype: 'mathutils.Matrix'
|
|
25
|
+
:type operator: bpy.types.Operator
|
|
22
26
|
:return: the matrix from the context and settings.
|
|
27
|
+
:rtype: mathutils.Matrix
|
|
23
28
|
"""
|
|
24
29
|
|
|
25
30
|
...
|
|
26
31
|
|
|
27
32
|
def object_add_grid_scale(context):
|
|
28
|
-
"""Return scale which should be applied on object
|
|
33
|
+
"""Return scale which should be applied on object
|
|
34
|
+
data to align it to grid scale
|
|
35
|
+
|
|
36
|
+
"""
|
|
29
37
|
|
|
30
38
|
...
|
|
31
39
|
|
|
@@ -35,55 +43,62 @@ def object_add_grid_scale_apply_operator(operator, context):
|
|
|
35
43
|
...
|
|
36
44
|
|
|
37
45
|
def object_data_add(
|
|
38
|
-
context:
|
|
39
|
-
obdata
|
|
40
|
-
operator:
|
|
46
|
+
context: bpy.types.Context,
|
|
47
|
+
obdata,
|
|
48
|
+
operator: bpy.types.Operator = None,
|
|
41
49
|
name: str = None,
|
|
42
|
-
) ->
|
|
43
|
-
"""Add an object using the view context and preference to initialize the
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
) -> bpy.types.Object:
|
|
51
|
+
"""Add an object using the view context and preference to initialize the
|
|
52
|
+
location, rotation and layer.
|
|
53
|
+
|
|
54
|
+
:param context: The context to use.
|
|
55
|
+
:type context: bpy.types.Context
|
|
56
|
+
:param obdata: the data used for the new object.
|
|
57
|
+
:param operator: The operator, checked for location and rotation properties.
|
|
58
|
+
:type operator: bpy.types.Operator
|
|
59
|
+
:param name: Optional name
|
|
60
|
+
:type name: str
|
|
61
|
+
:return: the newly created object in the scene.
|
|
62
|
+
:rtype: bpy.types.Object
|
|
55
63
|
"""
|
|
56
64
|
|
|
57
65
|
...
|
|
58
66
|
|
|
59
67
|
def object_report_if_active_shape_key_is_locked(
|
|
60
|
-
obj:
|
|
68
|
+
obj: bpy.types.Object, operator: bpy.types.Operator
|
|
61
69
|
):
|
|
62
|
-
"""Checks if the active shape key of the specified object is locked, and reports an error if so.
|
|
70
|
+
"""Checks if the active shape key of the specified object is locked, and reports an error if so.If the object has no shape keys, there is nothing to lock, and the function returns False.
|
|
63
71
|
|
|
64
72
|
:param obj: Object to check.
|
|
65
|
-
:type obj:
|
|
73
|
+
:type obj: bpy.types.Object
|
|
66
74
|
:param operator: Currently running operator to report the error through. Use None to suppress emitting the message.
|
|
67
|
-
:type operator:
|
|
75
|
+
:type operator: bpy.types.Operator
|
|
76
|
+
:return: True if the shape key was locked.
|
|
68
77
|
"""
|
|
69
78
|
|
|
70
79
|
...
|
|
71
80
|
|
|
72
81
|
def world_to_camera_view(
|
|
73
|
-
scene:
|
|
74
|
-
obj:
|
|
75
|
-
coord: typing.Union[typing.Sequence[float],
|
|
76
|
-
) ->
|
|
77
|
-
"""Returns the camera space coords for a 3d point.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
scene: bpy.types.Scene,
|
|
83
|
+
obj: bpy.types.Object,
|
|
84
|
+
coord: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
85
|
+
) -> mathutils.Vector:
|
|
86
|
+
"""Returns the camera space coords for a 3d point.
|
|
87
|
+
(also known as: normalized device coordinates - NDC).Where (0, 0) is the bottom left and (1, 1)
|
|
88
|
+
is the top right of the camera frame.
|
|
89
|
+
values outside 0-1 are also supported.
|
|
90
|
+
A negative 'z' value means the point is behind the camera.Takes shift-x/y, lens angle and sensor size into account
|
|
91
|
+
as well as perspective/ortho projections.
|
|
92
|
+
|
|
93
|
+
:param scene: Scene to use for frame size.
|
|
94
|
+
:type scene: bpy.types.Scene
|
|
95
|
+
:param obj: Camera object.
|
|
96
|
+
:type obj: bpy.types.Object
|
|
97
|
+
:param coord: World space location.
|
|
98
|
+
:type coord: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
99
|
+
:return: a vector where X and Y map to the view plane and
|
|
100
|
+
Z is the depth on the view axis.
|
|
101
|
+
:rtype: mathutils.Vector
|
|
87
102
|
"""
|
|
88
103
|
|
|
89
104
|
...
|