fake-bge-module 20250317__py3-none-any.whl → 20260201__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.
- {animsys_refactor → _animsys_refactor}/__init__.pyi +7 -6
- {bl_console_utils → _bl_console_utils}/__init__.pyi +1 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +1 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +1 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +1 -5
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +3 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +1 -10
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +2 -0
- _bl_i18n_utils/bl_extract_messages/__init__.pyi +28 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +2 -1
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +10 -7
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +53 -50
- _bl_i18n_utils/utils_cli/__init__.pyi +11 -0
- _bl_i18n_utils/utils_languages_menu/__init__.pyi +6 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +3 -2
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +1 -0
- _bl_previews_utils/bl_previews_render/__init__.pyi +14 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +1 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +3 -2
- {bl_text_utils → _bl_text_utils}/__init__.pyi +1 -0
- _bl_text_utils/external_editor/__init__.pyi +6 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +2 -1
- _blendfile_header/__init__.pyi +48 -0
- _bpy_internal/__init__.pyi +5 -1
- _bpy_internal/addons/__init__.pyi +1 -0
- _bpy_internal/addons/cli/__init__.pyi +2 -1
- _bpy_internal/assets/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
- _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
- _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
- _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
- _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
- _bpy_internal/extensions/__init__.pyi +1 -0
- _bpy_internal/extensions/junction_module/__init__.pyi +8 -7
- _bpy_internal/extensions/stale_file_manager/__init__.pyi +9 -8
- _bpy_internal/extensions/wheel_manager/__init__.pyi +6 -5
- {bl_i18n_utils/utils_languages_menu → _bpy_internal/filesystem}/__init__.pyi +2 -2
- _bpy_internal/filesystem/locking/__init__.pyi +28 -0
- _bpy_internal/grease_pencil/__init__.pyi +1 -0
- _bpy_internal/grease_pencil/stroke/__init__.pyi +22 -6
- _bpy_internal/platform/__init__.pyi +5 -0
- _bpy_internal/platform/freedesktop/__init__.pyi +21 -0
- _bpy_internal/system_info/__init__.pyi +1 -0
- _bpy_internal/system_info/text_generate_runtime/__init__.pyi +2 -1
- _bpy_internal/system_info/url_prefill_runtime/__init__.pyi +2 -1
- _bpy_internal/system_info/url_prefill_startup/__init__.pyi +3 -2
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +1 -0
- _bpy_types/__init__.pyi +1635 -0
- {console_python → _console_python}/__init__.pyi +8 -7
- _console_shell/__init__.pyi +10 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +3 -2
- _keyingsets_utils/__init__.pyi +21 -0
- {rna_info → _rna_info}/__init__.pyi +32 -27
- {rna_xml → _rna_xml}/__init__.pyi +7 -6
- addon_utils/__init__.pyi +13 -25
- aud/__init__.pyi +133 -155
- bge/__init__.pyi +1 -0
- bge/app/__init__.pyi +1 -0
- bge/constraints/__init__.pyi +22 -51
- bge/types/__init__.pyi +618 -1913
- bge_extras/__init__.pyi +1 -0
- bge_extras/logger/__init__.pyi +4 -3
- bgui/__init__.pyi +1 -0
- bgui/frame/__init__.pyi +1 -0
- bgui/frame_button/__init__.pyi +1 -0
- bgui/image/__init__.pyi +1 -1
- bgui/image_button/__init__.pyi +1 -0
- bgui/label/__init__.pyi +1 -0
- bgui/list_box/__init__.pyi +1 -1
- bgui/progress_bar/__init__.pyi +2 -1
- bgui/system/__init__.pyi +3 -5
- bgui/text_block/__init__.pyi +1 -0
- bgui/text_input/__init__.pyi +9 -8
- bgui/theme/__init__.pyi +4 -3
- bgui/widget/__init__.pyi +5 -4
- bl_app_override/__init__.pyi +4 -3
- bl_app_override/helpers/__init__.pyi +3 -2
- bl_app_template_utils/__init__.pyi +5 -4
- bl_app_templates_system/Game_Engine/__init__.pyi +5 -4
- bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
- bl_app_templates_system/__init__.pyi +2 -0
- bl_keymap_utils/__init__.pyi +1 -0
- bl_keymap_utils/io/__init__.pyi +10 -9
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +2 -1
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +2 -1
- bl_keymap_utils/platform_helpers/__init__.pyi +3 -2
- bl_keymap_utils/versioning/__init__.pyi +2 -1
- bl_math/__init__.pyi +4 -13
- bl_operators/__init__.pyi +4 -2
- bl_operators/add_mesh_torus/__init__.pyi +9 -9
- bl_operators/anim/__init__.pyi +90 -62
- bl_operators/assets/__init__.pyi +14 -18
- bl_operators/bmesh/__init__.pyi +1 -0
- bl_operators/bmesh/find_adjacent/__init__.pyi +12 -9
- bl_operators/bone_selection_sets/__init__.pyi +34 -60
- bl_operators/clip/__init__.pyi +39 -57
- bl_operators/connect_to_output/__init__.pyi +20 -18
- bl_operators/console/__init__.pyi +17 -25
- bl_operators/constraint/__init__.pyi +15 -21
- bl_operators/copy_global_transform/__init__.pyi +261 -0
- bl_operators/file/__init__.pyi +13 -17
- bl_operators/freestyle/__init__.pyi +15 -21
- bl_operators/geometry_nodes/__init__.pyi +30 -36
- bl_operators/grease_pencil/__init__.pyi +5 -5
- bl_operators/image/__init__.pyi +14 -22
- bl_operators/image_as_planes/__init__.pyi +36 -42
- bl_operators/mesh/__init__.pyi +8 -53
- bl_operators/node/__init__.pyi +375 -92
- bl_operators/node_editor/__init__.pyi +1 -0
- bl_operators/node_editor/node_functions/__init__.pyi +10 -9
- bl_operators/object/__init__.pyi +57 -98
- bl_operators/object_align/__init__.pyi +8 -8
- bl_operators/object_quick_effects/__init__.pyi +15 -21
- bl_operators/object_randomize_transform/__init__.pyi +6 -6
- bl_operators/presets/__init__.pyi +46 -94
- bl_operators/rigidbody/__init__.pyi +12 -16
- bl_operators/screen_play_rendered_anim/__init__.pyi +5 -5
- bl_operators/sequencer/__init__.pyi +40 -54
- bl_operators/spreadsheet/__init__.pyi +7 -7
- bl_operators/userpref/__init__.pyi +69 -117
- bl_operators/uvcalc_follow_active/__init__.pyi +8 -8
- bl_operators/uvcalc_lightmap/__init__.pyi +12 -12
- bl_operators/uvcalc_transform/__init__.pyi +39 -28
- bl_operators/vertexpaint_dirt/__init__.pyi +7 -7
- bl_operators/view3d/__init__.pyi +31 -43
- bl_operators/wm/__init__.pyi +139 -231
- bl_operators/world/__init__.pyi +6 -6
- bl_ui/__init__.pyi +18 -17
- bl_ui/anim/__init__.pyi +5 -5
- bl_ui/asset_shelf/__init__.pyi +5 -5
- bl_ui/generic_ui_list/__init__.pyi +11 -25
- bl_ui/node_add_menu/__init__.pyi +281 -12
- bl_ui/node_add_menu_compositor/__init__.pyi +135 -91
- bl_ui/node_add_menu_geometry/__init__.pyi +407 -263
- bl_ui/node_add_menu_shader/__init__.pyi +67 -67
- bl_ui/node_add_menu_texture/__init__.pyi +25 -69
- bl_ui/properties_animviz/__init__.pyi +3 -2
- bl_ui/properties_collection/__init__.pyi +20 -30
- bl_ui/properties_constraint/__init__.pyi +228 -450
- bl_ui/properties_data_armature/__init__.pyi +45 -79
- bl_ui/properties_data_bone/__init__.pyi +33 -51
- bl_ui/properties_data_camera/__init__.pyi +43 -75
- bl_ui/properties_data_curve/__init__.pyi +42 -101
- bl_ui/properties_data_curves/__init__.pyi +21 -35
- bl_ui/properties_data_empty/__init__.pyi +8 -10
- bl_ui/properties_data_grease_pencil/__init__.pyi +49 -87
- bl_ui/properties_data_lattice/__init__.pyi +12 -18
- bl_ui/properties_data_light/__init__.pyi +28 -46
- bl_ui/properties_data_lightprobe/__init__.pyi +35 -61
- bl_ui/properties_data_mesh/__init__.pyi +73 -120
- bl_ui/properties_data_metaball/__init__.pyi +16 -26
- bl_ui/properties_data_modifier/__init__.pyi +34 -39
- bl_ui/properties_data_pointcloud/__init__.pyi +17 -27
- bl_ui/properties_data_shaderfx/__init__.pyi +4 -4
- bl_ui/properties_data_speaker/__init__.pyi +15 -25
- bl_ui/properties_data_volume/__init__.pyi +22 -38
- bl_ui/properties_freestyle/__init__.pyi +79 -127
- bl_ui/properties_game/__init__.pyi +88 -84
- bl_ui/properties_grease_pencil_common/__init__.pyi +33 -190
- bl_ui/properties_mask_common/__init__.pyi +33 -45
- bl_ui/properties_material/__init__.pyi +52 -111
- bl_ui/properties_material_gpencil/__init__.pyi +48 -68
- bl_ui/properties_object/__init__.pyi +123 -93
- bl_ui/properties_output/__init__.pyi +103 -81
- bl_ui/properties_paint_common/__init__.pyi +78 -59
- bl_ui/properties_particle/__init__.pyi +160 -262
- bl_ui/properties_physics_cloth/__init__.pyi +36 -62
- bl_ui/properties_physics_common/__init__.pyi +11 -11
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +81 -123
- bl_ui/properties_physics_field/__init__.pyi +35 -53
- bl_ui/properties_physics_fluid/__init__.pyi +106 -160
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +6 -6
- bl_ui/properties_physics_rigidbody/__init__.pyi +28 -42
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +44 -68
- bl_ui/properties_physics_softbody/__init__.pyi +38 -66
- bl_ui/properties_render/__init__.pyi +267 -259
- bl_ui/properties_scene/__init__.pyi +69 -72
- bl_ui/properties_strip/__init__.pyi +744 -0
- bl_ui/properties_strip_modifier/__init__.pyi +45 -0
- bl_ui/properties_texture/__init__.pyi +69 -122
- bl_ui/properties_view_layer/__init__.pyi +97 -51
- bl_ui/properties_workspace/__init__.pyi +12 -18
- bl_ui/properties_world/__init__.pyi +33 -53
- bl_ui/space_clip/__init__.pyi +231 -311
- bl_ui/space_console/__init__.pyi +14 -24
- bl_ui/space_dopesheet/__init__.pyi +193 -125
- bl_ui/space_filebrowser/__init__.pyi +107 -131
- bl_ui/space_graph/__init__.pyi +93 -80
- bl_ui/space_image/__init__.pyi +207 -291
- bl_ui/space_info/__init__.pyi +14 -24
- bl_ui/space_logic/__init__.pyi +14 -22
- bl_ui/space_nla/__init__.pyi +63 -69
- bl_ui/space_node/__init__.pyi +215 -154
- bl_ui/space_outliner/__init__.pyi +65 -61
- bl_ui/space_properties/__init__.pyi +41 -16
- bl_ui/space_sequencer/__init__.pyi +276 -980
- bl_ui/space_spreadsheet/__init__.pyi +27 -23
- bl_ui/space_statusbar/__init__.pyi +4 -4
- bl_ui/space_text/__init__.pyi +39 -73
- bl_ui/space_time/__init__.pyi +33 -78
- bl_ui/space_toolsystem_common/__init__.pyi +31 -28
- bl_ui/space_toolsystem_toolbar/__init__.pyi +67 -43
- bl_ui/space_topbar/__init__.pyi +68 -111
- bl_ui/space_userpref/__init__.pyi +310 -445
- bl_ui/space_view3d/__init__.pyi +667 -1122
- bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +237 -966
- bl_ui/utils/__init__.pyi +4 -3
- blend_render_info/__init__.pyi +4 -2
- blf/__init__.pyi +92 -59
- bmesh/__init__.pyi +4 -10
- bmesh/geometry/__init__.pyi +2 -4
- bmesh/ops/__init__.pyi +442 -815
- bmesh/types/__init__.pyi +377 -720
- bmesh/utils/__init__.pyi +20 -45
- bpy/__init__.pyi +2 -1
- bpy/app/__init__.pyi +96 -90
- bpy/app/handlers/__init__.pyi +24 -19
- bpy/app/icons/__init__.pyi +2 -7
- bpy/app/timers/__init__.pyi +5 -18
- bpy/app/translations/__init__.pyi +21 -35
- bpy/msgbus/__init__.pyi +20 -9
- bpy/ops/__init__.pyi +21 -3
- bpy/ops/action/__init__.pyi +121 -226
- bpy/ops/anim/__init__.pyi +204 -358
- bpy/ops/armature/__init__.pyi +129 -249
- bpy/ops/asset/__init__.pyi +82 -111
- bpy/ops/bge_bricknodes/__init__.pyi +61 -0
- bpy/ops/boid/__init__.pyi +44 -50
- bpy/ops/bricknodes/__init__.pyi +37 -0
- bpy/ops/brush/__init__.pyi +33 -120
- bpy/ops/buttons/__init__.pyi +27 -83
- bpy/ops/cachefile/__init__.pyi +16 -74
- bpy/ops/camera/__init__.pyi +3 -13
- bpy/ops/clip/__init__.pyi +278 -558
- bpy/ops/cloth/__init__.pyi +2 -6
- bpy/ops/collection/__init__.pyi +34 -44
- bpy/ops/console/__init__.pyi +70 -111
- bpy/ops/constraint/__init__.pyi +34 -102
- bpy/ops/curve/__init__.pyi +163 -315
- bpy/ops/curves/__init__.pyi +163 -189
- bpy/ops/cycles/__init__.pyi +8 -18
- bpy/ops/dpaint/__init__.pyi +21 -30
- bpy/ops/ed/__init__.pyi +59 -103
- bpy/ops/export_anim/__init__.pyi +4 -11
- bpy/ops/export_scene/__init__.pyi +29 -174
- bpy/ops/extensions/__init__.pyi +102 -194
- bpy/ops/file/__init__.pyi +166 -272
- bpy/ops/fluid/__init__.pyi +78 -86
- bpy/ops/font/__init__.pyi +73 -164
- bpy/ops/geometry/__init__.pyi +33 -144
- bpy/ops/gizmogroup/__init__.pyi +8 -14
- bpy/ops/gpencil/__init__.pyi +31 -58
- bpy/ops/graph/__init__.pyi +176 -411
- bpy/ops/grease_pencil/__init__.pyi +416 -639
- bpy/ops/image/__init__.pyi +148 -492
- bpy/ops/import_anim/__init__.pyi +5 -18
- bpy/ops/import_curve/__init__.pyi +4 -6
- bpy/ops/import_scene/__init__.pyi +22 -49
- bpy/ops/info/__init__.pyi +27 -43
- bpy/ops/lattice/__init__.pyi +26 -43
- bpy/ops/logic/__init__.pyi +49 -122
- bpy/ops/logic_nodes/__init__.pyi +461 -0
- bpy/ops/marker/__init__.pyi +24 -60
- bpy/ops/mask/__init__.pyi +118 -222
- bpy/ops/material/__init__.pyi +19 -18
- bpy/ops/mball/__init__.pyi +13 -39
- bpy/ops/mesh/__init__.pyi +409 -1264
- bpy/ops/nla/__init__.pyi +140 -232
- bpy/ops/node/__init__.pyi +1189 -807
- bpy/ops/object/__init__.pyi +806 -1659
- bpy/ops/outliner/__init__.pyi +284 -432
- bpy/ops/paint/__init__.pyi +189 -381
- bpy/ops/paintcurve/__init__.pyi +29 -44
- bpy/ops/palette/__init__.pyi +23 -34
- bpy/ops/particle/__init__.pyi +135 -201
- bpy/ops/pointcloud/__init__.pyi +23 -42
- bpy/ops/pose/__init__.pyi +195 -310
- bpy/ops/poselib/__init__.pyi +45 -73
- bpy/ops/preferences/__init__.pyi +89 -221
- bpy/ops/ptcache/__init__.pyi +32 -39
- bpy/ops/render/__init__.pyi +36 -83
- bpy/ops/rigidbody/__init__.pyi +47 -78
- bpy/ops/scene/__init__.pyi +169 -222
- bpy/ops/screen/__init__.pyi +146 -259
- bpy/ops/script/__init__.pyi +9 -15
- bpy/ops/sculpt/__init__.pyi +194 -354
- bpy/ops/sculpt_curves/__init__.pyi +21 -29
- bpy/ops/sequencer/__init__.pyi +586 -836
- bpy/ops/sound/__init__.pyi +25 -131
- bpy/ops/spreadsheet/__init__.pyi +34 -21
- bpy/ops/surface/__init__.pyi +7 -54
- bpy/ops/text/__init__.pyi +166 -281
- bpy/ops/text_editor/__init__.pyi +2 -6
- bpy/ops/texture/__init__.pyi +20 -22
- bpy/ops/transform/__init__.pyi +108 -445
- bpy/ops/ui/__init__.pyi +157 -219
- bpy/ops/uilist/__init__.pyi +4 -16
- bpy/ops/uv/__init__.pyi +291 -347
- bpy/ops/view2d/__init__.pyi +29 -88
- bpy/ops/view3d/__init__.pyi +238 -438
- bpy/ops/wm/__init__.pyi +651 -1510
- bpy/ops/workspace/__init__.pyi +42 -44
- bpy/ops/world/__init__.pyi +12 -13
- bpy/path/__init__.pyi +5 -36
- bpy/props/__init__.pyi +395 -259
- bpy/{_typing → stub_internal}/__init__.pyi +1 -0
- bpy/{_typing → stub_internal}/rna_enums/__init__.pyi +214 -114
- bpy/types/__init__.pyi +93285 -103831
- bpy/utils/__init__.pyi +46 -104
- bpy/utils/previews/__init__.pyi +7 -15
- bpy/utils/units/__init__.pyi +6 -15
- bpy_extras/__init__.pyi +1 -0
- bpy_extras/anim_utils/__init__.pyi +32 -23
- bpy_extras/asset_utils/__init__.pyi +1 -0
- bpy_extras/bmesh_utils/__init__.pyi +2 -2
- bpy_extras/id_map_utils/__init__.pyi +15 -6
- bpy_extras/image_utils/__init__.pyi +3 -11
- bpy_extras/io_utils/__init__.pyi +22 -38
- bpy_extras/keyconfig_utils/__init__.pyi +5 -4
- bpy_extras/mesh_utils/__init__.pyi +3 -14
- bpy_extras/node_shader_utils/__init__.pyi +63 -70
- bpy_extras/node_utils/__init__.pyi +4 -3
- bpy_extras/object_utils/__init__.pyi +6 -19
- bpy_extras/view3d_utils/__init__.pyi +1 -18
- bpy_extras/wm_utils/__init__.pyi +1 -0
- bpy_extras/wm_utils/progress_report/__init__.pyi +12 -11
- {fake_bge_module-20250317.dist-info → fake_bge_module-20260201.dist-info}/METADATA +9 -3
- fake_bge_module-20260201.dist-info/RECORD +414 -0
- {fake_bge_module-20250317.dist-info → fake_bge_module-20260201.dist-info}/WHEEL +1 -1
- {fake_bge_module-20250317.dist-info → fake_bge_module-20260201.dist-info}/top_level.txt +16 -16
- freestyle/__init__.pyi +1 -0
- freestyle/chainingiterators/__init__.pyi +41 -60
- freestyle/functions/__init__.pyi +56 -194
- freestyle/predicates/__init__.pyi +11 -61
- freestyle/shaders/__init__.pyi +95 -156
- freestyle/types/__init__.pyi +306 -941
- freestyle/utils/ContextFunctions/__init__.pyi +4 -24
- freestyle/utils/__init__.pyi +46 -36
- gpu/__init__.pyi +84 -5
- gpu/capabilities/__init__.pyi +1 -21
- gpu/matrix/__init__.pyi +16 -24
- gpu/platform/__init__.pyi +3 -7
- gpu/select/__init__.pyi +2 -1
- gpu/shader/__init__.pyi +43 -9
- gpu/state/__init__.pyi +66 -44
- gpu/texture/__init__.pyi +4 -5
- gpu/types/__init__.pyi +216 -216
- gpu_extras/__init__.pyi +1 -0
- gpu_extras/batch/__init__.pyi +2 -5
- gpu_extras/presets/__init__.pyi +9 -10
- idprop/__init__.pyi +17 -0
- idprop/types/__init__.pyi +18 -17
- imbuf/__init__.pyi +13 -9
- imbuf/types/__init__.pyi +10 -23
- keyingsets_builtins/__init__.pyi +51 -93
- mathutils/__init__.pyi +296 -2255
- mathutils/bvhtree/__init__.pyi +22 -29
- mathutils/geometry/__init__.pyi +83 -132
- mathutils/interpolate/__init__.pyi +7 -5
- mathutils/kdtree/__init__.pyi +5 -14
- mathutils/noise/__init__.pyi +62 -106
- nodeitems_builtins/__init__.pyi +5 -4
- nodeitems_utils/__init__.pyi +10 -9
- rna_keymap_ui/__init__.pyi +7 -6
- rna_prop_ui/__init__.pyi +14 -13
- _bpy_internal/freedesktop/__init__.pyi +0 -20
- bgl/__init__.pyi +0 -4235
- bl_i18n_utils/bl_extract_messages/__init__.pyi +0 -24
- bl_i18n_utils/utils_cli/__init__.pyi +0 -10
- bl_previews_utils/bl_previews_render/__init__.pyi +0 -11
- bl_text_utils/external_editor/__init__.pyi +0 -5
- bpy_types/__init__.pyi +0 -29
- console_shell/__init__.pyi +0 -9
- fake_bge_module-20250317.dist-info/RECORD +0 -395
- keyingsets_utils/__init__.pyi +0 -18
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bgl → _bl_console_utils}/py.typed +0 -0
- {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
- {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
- {bl_ui_utils → _blendfile_header}/py.typed +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {bpy_types → _bpy_types}/py.typed +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
bpy/ops/uv/__init__.pyi
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import typing
|
|
2
2
|
import collections.abc
|
|
3
3
|
import typing_extensions
|
|
4
|
-
import
|
|
4
|
+
import numpy.typing as npt
|
|
5
5
|
import bpy.ops.transform
|
|
6
|
+
import bpy.stub_internal.rna_enums
|
|
6
7
|
import bpy.types
|
|
7
8
|
import mathutils
|
|
8
9
|
|
|
@@ -15,11 +16,10 @@ def align(
|
|
|
15
16
|
"ALIGN_S", "ALIGN_T", "ALIGN_U", "ALIGN_AUTO", "ALIGN_X", "ALIGN_Y"
|
|
16
17
|
]
|
|
17
18
|
| None = "ALIGN_AUTO",
|
|
18
|
-
|
|
19
|
+
position_mode: typing.Literal["MEAN", "MIN", "MAX"] | None = "MEAN",
|
|
20
|
+
) -> None:
|
|
19
21
|
"""Aligns selected UV vertices on a line
|
|
20
22
|
|
|
21
|
-
:type execution_context: int | str | None
|
|
22
|
-
:type undo: bool | None
|
|
23
23
|
:param axis: Axis, Axis to align UV locations on
|
|
24
24
|
|
|
25
25
|
ALIGN_S
|
|
@@ -39,7 +39,16 @@ def align(
|
|
|
39
39
|
|
|
40
40
|
ALIGN_Y
|
|
41
41
|
Align Horizontally -- Align UV vertices on a horizontal line.
|
|
42
|
-
:
|
|
42
|
+
:param position_mode: Position Mode, Method of calculating the alignment position
|
|
43
|
+
|
|
44
|
+
MEAN
|
|
45
|
+
Mean -- Align UVs along the mean position.
|
|
46
|
+
|
|
47
|
+
MIN
|
|
48
|
+
Minimum -- Align UVs along the minimum position.
|
|
49
|
+
|
|
50
|
+
MAX
|
|
51
|
+
Maximum -- Align UVs along the maximum position.
|
|
43
52
|
"""
|
|
44
53
|
|
|
45
54
|
def align_rotation(
|
|
@@ -50,11 +59,9 @@ def align_rotation(
|
|
|
50
59
|
method: typing.Literal["AUTO", "EDGE", "GEOMETRY"] | None = "AUTO",
|
|
51
60
|
axis: typing.Literal["X", "Y", "Z"] | None = "X",
|
|
52
61
|
correct_aspect: bool | None = False,
|
|
53
|
-
):
|
|
54
|
-
"""Align the UV
|
|
62
|
+
) -> None:
|
|
63
|
+
"""Align the UV islands rotation
|
|
55
64
|
|
|
56
|
-
:type execution_context: int | str | None
|
|
57
|
-
:type undo: bool | None
|
|
58
65
|
:param method: Method, Method to calculate rotation angle
|
|
59
66
|
|
|
60
67
|
AUTO
|
|
@@ -65,7 +72,6 @@ def align_rotation(
|
|
|
65
72
|
|
|
66
73
|
GEOMETRY
|
|
67
74
|
Geometry -- Align to Geometry axis.
|
|
68
|
-
:type method: typing.Literal['AUTO','EDGE','GEOMETRY'] | None
|
|
69
75
|
:param axis: Axis, Axis to align to
|
|
70
76
|
|
|
71
77
|
X
|
|
@@ -76,9 +82,68 @@ def align_rotation(
|
|
|
76
82
|
|
|
77
83
|
Z
|
|
78
84
|
Z -- Z axis.
|
|
79
|
-
:type axis: typing.Literal['X','Y','Z'] | None
|
|
80
85
|
:param correct_aspect: Correct Aspect, Take image aspect ratio into account
|
|
81
|
-
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
def arrange_islands(
|
|
89
|
+
execution_context: int | str | None = None,
|
|
90
|
+
undo: bool | None = None,
|
|
91
|
+
/,
|
|
92
|
+
*,
|
|
93
|
+
initial_position: typing.Literal["BOUNDING_BOX", "UV_GRID", "ACTIVE_UDIM", "CURSOR"]
|
|
94
|
+
| None = "BOUNDING_BOX",
|
|
95
|
+
axis: typing.Literal["X", "Y"] | None = "Y",
|
|
96
|
+
align: typing.Literal["MIN", "MAX", "CENTER", "NONE"] | None = "MIN",
|
|
97
|
+
order: typing.Literal["LARGE_TO_SMALL", "SMALL_TO_LARGE", "Fixed"]
|
|
98
|
+
| None = "LARGE_TO_SMALL",
|
|
99
|
+
margin: float | None = 0.05,
|
|
100
|
+
) -> None:
|
|
101
|
+
"""Arrange selected UV islands on a line
|
|
102
|
+
|
|
103
|
+
:param initial_position: Initial Position, Initial position to arrange islands from
|
|
104
|
+
|
|
105
|
+
BOUNDING_BOX
|
|
106
|
+
Bounding Box -- Initial alignment based on the islands bounding box.
|
|
107
|
+
|
|
108
|
+
UV_GRID
|
|
109
|
+
UV Grid -- Initial alignment based on UV Tile Grid.
|
|
110
|
+
|
|
111
|
+
ACTIVE_UDIM
|
|
112
|
+
Active UDIM -- Initial alignment based on Active UDIM.
|
|
113
|
+
|
|
114
|
+
CURSOR
|
|
115
|
+
2D Cursor -- Initial alignment based on 2D cursor.
|
|
116
|
+
:param axis: Axis, Axis to arrange UV islands on
|
|
117
|
+
|
|
118
|
+
X
|
|
119
|
+
X -- Align UV islands along the X axis.
|
|
120
|
+
|
|
121
|
+
Y
|
|
122
|
+
Y -- Align UV islands along the Y axis.
|
|
123
|
+
:param align: Align, Location to align islands on
|
|
124
|
+
|
|
125
|
+
MIN
|
|
126
|
+
Min -- Align the islands to the min of the island.
|
|
127
|
+
|
|
128
|
+
MAX
|
|
129
|
+
Max -- Align the islands to the left side of the island.
|
|
130
|
+
|
|
131
|
+
CENTER
|
|
132
|
+
Center -- Align the islands to the center of the largest island.
|
|
133
|
+
|
|
134
|
+
NONE
|
|
135
|
+
None -- Preserve island alignment.
|
|
136
|
+
:param order: Order, Order of islands
|
|
137
|
+
|
|
138
|
+
LARGE_TO_SMALL
|
|
139
|
+
Largest to Smallest -- Sort islands from largest to smallest.
|
|
140
|
+
|
|
141
|
+
SMALL_TO_LARGE
|
|
142
|
+
Smallest to Largest -- Sort islands from smallest to largest.
|
|
143
|
+
|
|
144
|
+
Fixed
|
|
145
|
+
Fixed -- Preserve island order.
|
|
146
|
+
:param margin: Margin, Space between islands
|
|
82
147
|
"""
|
|
83
148
|
|
|
84
149
|
def average_islands_scale(
|
|
@@ -88,22 +153,32 @@ def average_islands_scale(
|
|
|
88
153
|
*,
|
|
89
154
|
scale_uv: bool | None = False,
|
|
90
155
|
shear: bool | None = False,
|
|
91
|
-
):
|
|
156
|
+
) -> None:
|
|
92
157
|
"""Average the size of separate UV islands, based on their area in 3D space
|
|
93
158
|
|
|
94
|
-
:type execution_context: int | str | None
|
|
95
|
-
:type undo: bool | None
|
|
96
159
|
:param scale_uv: Non-Uniform, Scale U and V independently
|
|
97
|
-
:type scale_uv: bool | None
|
|
98
160
|
:param shear: Shear, Reduce shear within islands
|
|
99
|
-
:type shear: bool | None
|
|
100
161
|
"""
|
|
101
162
|
|
|
102
|
-
def copy(
|
|
103
|
-
|
|
163
|
+
def copy(
|
|
164
|
+
execution_context: int | str | None = None,
|
|
165
|
+
undo: bool | None = None,
|
|
166
|
+
/,
|
|
167
|
+
) -> None:
|
|
168
|
+
"""Copy selected UV vertices"""
|
|
169
|
+
|
|
170
|
+
def copy_mirrored_faces(
|
|
171
|
+
execution_context: int | str | None = None,
|
|
172
|
+
undo: bool | None = None,
|
|
173
|
+
/,
|
|
174
|
+
*,
|
|
175
|
+
direction: typing.Literal["POSITIVE", "NEGATIVE"] | None = "POSITIVE",
|
|
176
|
+
precision: int | None = 3,
|
|
177
|
+
) -> None:
|
|
178
|
+
"""Copy mirror UV coordinates on the X axis based on a mirrored mesh
|
|
104
179
|
|
|
105
|
-
:
|
|
106
|
-
:
|
|
180
|
+
:param direction: Axis Direction
|
|
181
|
+
:param precision: Precision, Tolerance for finding vertex duplicates
|
|
107
182
|
"""
|
|
108
183
|
|
|
109
184
|
def cube_project(
|
|
@@ -115,19 +190,13 @@ def cube_project(
|
|
|
115
190
|
correct_aspect: bool | None = True,
|
|
116
191
|
clip_to_bounds: bool | None = False,
|
|
117
192
|
scale_to_bounds: bool | None = False,
|
|
118
|
-
):
|
|
193
|
+
) -> None:
|
|
119
194
|
"""Project the UV vertices of the mesh over the six faces of a cube
|
|
120
195
|
|
|
121
|
-
:type execution_context: int | str | None
|
|
122
|
-
:type undo: bool | None
|
|
123
196
|
:param cube_size: Cube Size, Size of the cube to project on
|
|
124
|
-
:type cube_size: float | None
|
|
125
197
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
126
|
-
:type correct_aspect: bool | None
|
|
127
198
|
:param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping
|
|
128
|
-
:type clip_to_bounds: bool | None
|
|
129
199
|
:param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping
|
|
130
|
-
:type scale_to_bounds: bool | None
|
|
131
200
|
"""
|
|
132
201
|
|
|
133
202
|
def cursor_set(
|
|
@@ -136,13 +205,30 @@ def cursor_set(
|
|
|
136
205
|
/,
|
|
137
206
|
*,
|
|
138
207
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
139
|
-
):
|
|
208
|
+
) -> None:
|
|
140
209
|
"""Set 2D cursor location
|
|
141
210
|
|
|
142
|
-
:type execution_context: int | str | None
|
|
143
|
-
:type undo: bool | None
|
|
144
211
|
:param location: Location, Cursor location in normalized (0.0 to 1.0) coordinates
|
|
145
|
-
|
|
212
|
+
"""
|
|
213
|
+
|
|
214
|
+
def custom_region_set(
|
|
215
|
+
execution_context: int | str | None = None,
|
|
216
|
+
undo: bool | None = None,
|
|
217
|
+
/,
|
|
218
|
+
*,
|
|
219
|
+
xmin: int | None = 0,
|
|
220
|
+
xmax: int | None = 0,
|
|
221
|
+
ymin: int | None = 0,
|
|
222
|
+
ymax: int | None = 0,
|
|
223
|
+
wait_for_input: bool | None = True,
|
|
224
|
+
) -> None:
|
|
225
|
+
"""Set the boundaries of the user region
|
|
226
|
+
|
|
227
|
+
:param xmin: X Min
|
|
228
|
+
:param xmax: X Max
|
|
229
|
+
:param ymin: Y Min
|
|
230
|
+
:param ymax: Y Max
|
|
231
|
+
:param wait_for_input: Wait for Input
|
|
146
232
|
"""
|
|
147
233
|
|
|
148
234
|
def cylinder_project(
|
|
@@ -159,11 +245,9 @@ def cylinder_project(
|
|
|
159
245
|
correct_aspect: bool | None = True,
|
|
160
246
|
clip_to_bounds: bool | None = False,
|
|
161
247
|
scale_to_bounds: bool | None = False,
|
|
162
|
-
):
|
|
248
|
+
) -> None:
|
|
163
249
|
"""Project the UV vertices of the mesh over the curved wall of a cylinder
|
|
164
250
|
|
|
165
|
-
:type execution_context: int | str | None
|
|
166
|
-
:type undo: bool | None
|
|
167
251
|
:param direction: Direction, Direction of the sphere or cylinder
|
|
168
252
|
|
|
169
253
|
VIEW_ON_EQUATOR
|
|
@@ -174,7 +258,6 @@ def cylinder_project(
|
|
|
174
258
|
|
|
175
259
|
ALIGN_TO_OBJECT
|
|
176
260
|
Align to Object -- Align according to object transform.
|
|
177
|
-
:type direction: typing.Literal['VIEW_ON_EQUATOR','VIEW_ON_POLES','ALIGN_TO_OBJECT'] | None
|
|
178
261
|
:param align: Align, How to determine rotation around the pole
|
|
179
262
|
|
|
180
263
|
POLAR_ZX
|
|
@@ -182,7 +265,6 @@ def cylinder_project(
|
|
|
182
265
|
|
|
183
266
|
POLAR_ZY
|
|
184
267
|
Polar ZY -- Polar 0 is Y.
|
|
185
|
-
:type align: typing.Literal['POLAR_ZX','POLAR_ZY'] | None
|
|
186
268
|
:param pole: Pole, How to handle faces at the poles
|
|
187
269
|
|
|
188
270
|
PINCH
|
|
@@ -190,17 +272,11 @@ def cylinder_project(
|
|
|
190
272
|
|
|
191
273
|
FAN
|
|
192
274
|
Fan -- UVs are fanned at the poles.
|
|
193
|
-
:type pole: typing.Literal['PINCH','FAN'] | None
|
|
194
275
|
:param seam: Preserve Seams, Separate projections by islands isolated by seams
|
|
195
|
-
:type seam: bool | None
|
|
196
276
|
:param radius: Radius, Radius of the sphere or cylinder
|
|
197
|
-
:type radius: float | None
|
|
198
277
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
199
|
-
:type correct_aspect: bool | None
|
|
200
278
|
:param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping
|
|
201
|
-
:type clip_to_bounds: bool | None
|
|
202
279
|
:param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping
|
|
203
|
-
:type scale_to_bounds: bool | None
|
|
204
280
|
"""
|
|
205
281
|
|
|
206
282
|
def export_layout(
|
|
@@ -216,15 +292,11 @@ def export_layout(
|
|
|
216
292
|
size: collections.abc.Iterable[int] | None = (1024, 1024),
|
|
217
293
|
opacity: float | None = 0.25,
|
|
218
294
|
check_existing: bool | None = True,
|
|
219
|
-
):
|
|
295
|
+
) -> None:
|
|
220
296
|
"""Export UV layout to file
|
|
221
297
|
|
|
222
|
-
:type execution_context: int | str | None
|
|
223
|
-
:type undo: bool | None
|
|
224
298
|
:param filepath: filepath
|
|
225
|
-
:type filepath: str
|
|
226
299
|
:param export_all: All UVs, Export all UVs in this mesh (not just visible ones)
|
|
227
|
-
:type export_all: bool | None
|
|
228
300
|
:param export_tiles: Export Tiles, Choose whether to export only the [0, 1] range, or all UV tiles
|
|
229
301
|
|
|
230
302
|
NONE
|
|
@@ -235,9 +307,7 @@ def export_layout(
|
|
|
235
307
|
|
|
236
308
|
UV
|
|
237
309
|
UVTILE -- Export tiles in the UVTILE numbering scheme: u(u_tile + 1)_v(v_tile + 1).
|
|
238
|
-
:type export_tiles: typing.Literal['NONE','UDIM','UV'] | None
|
|
239
310
|
:param modified: Modified, Exports UVs from the modified mesh
|
|
240
|
-
:type modified: bool | None
|
|
241
311
|
:param mode: Format, File format to export the UV layout to
|
|
242
312
|
|
|
243
313
|
SVG
|
|
@@ -248,13 +318,9 @@ def export_layout(
|
|
|
248
318
|
|
|
249
319
|
PNG
|
|
250
320
|
PNG Image (.png) -- Export the UV layout to a bitmap image.
|
|
251
|
-
:type mode: typing.Literal['SVG','EPS','PNG'] | None
|
|
252
321
|
:param size: Size, Dimensions of the exported file
|
|
253
|
-
:type size: collections.abc.Iterable[int] | None
|
|
254
322
|
:param opacity: Fill Opacity, Set amount of opacity for exported UV layout
|
|
255
|
-
:type opacity: float | None
|
|
256
323
|
:param check_existing: check_existing
|
|
257
|
-
:type check_existing: bool | None
|
|
258
324
|
"""
|
|
259
325
|
|
|
260
326
|
def follow_active_quads(
|
|
@@ -263,11 +329,9 @@ def follow_active_quads(
|
|
|
263
329
|
/,
|
|
264
330
|
*,
|
|
265
331
|
mode: typing.Literal["EVEN", "LENGTH", "LENGTH_AVERAGE"] | None = "LENGTH_AVERAGE",
|
|
266
|
-
):
|
|
332
|
+
) -> None:
|
|
267
333
|
"""Follow UVs from active quads along continuous face loops
|
|
268
334
|
|
|
269
|
-
:type execution_context: int | str | None
|
|
270
|
-
:type undo: bool | None
|
|
271
335
|
:param mode: Edge Length Mode, Method to space UV edge loops
|
|
272
336
|
|
|
273
337
|
EVEN
|
|
@@ -278,7 +342,6 @@ def follow_active_quads(
|
|
|
278
342
|
|
|
279
343
|
LENGTH_AVERAGE
|
|
280
344
|
Length Average -- Average space UVs edge length of each loop.
|
|
281
|
-
:type mode: typing.Literal['EVEN','LENGTH','LENGTH_AVERAGE'] | None
|
|
282
345
|
"""
|
|
283
346
|
|
|
284
347
|
def hide(
|
|
@@ -287,13 +350,10 @@ def hide(
|
|
|
287
350
|
/,
|
|
288
351
|
*,
|
|
289
352
|
unselected: bool | None = False,
|
|
290
|
-
):
|
|
353
|
+
) -> None:
|
|
291
354
|
"""Hide (un)selected UV vertices
|
|
292
355
|
|
|
293
|
-
:type execution_context: int | str | None
|
|
294
|
-
:type undo: bool | None
|
|
295
356
|
:param unselected: Unselected, Hide unselected rather than selected
|
|
296
|
-
:type unselected: bool | None
|
|
297
357
|
"""
|
|
298
358
|
|
|
299
359
|
def lightmap_pack(
|
|
@@ -306,11 +366,9 @@ def lightmap_pack(
|
|
|
306
366
|
PREF_NEW_UVLAYER: bool | None = False,
|
|
307
367
|
PREF_BOX_DIV: int | None = 12,
|
|
308
368
|
PREF_MARGIN_DIV: float | None = 0.1,
|
|
309
|
-
):
|
|
310
|
-
"""Pack each
|
|
369
|
+
) -> None:
|
|
370
|
+
"""Pack each faces UVs into the UV bounds
|
|
311
371
|
|
|
312
|
-
:type execution_context: int | str | None
|
|
313
|
-
:type undo: bool | None
|
|
314
372
|
:param PREF_CONTEXT: Selection
|
|
315
373
|
|
|
316
374
|
SEL_FACES
|
|
@@ -318,15 +376,10 @@ def lightmap_pack(
|
|
|
318
376
|
|
|
319
377
|
ALL_FACES
|
|
320
378
|
All Faces -- Average space UVs edge length of each loop.
|
|
321
|
-
:type PREF_CONTEXT: typing.Literal['SEL_FACES','ALL_FACES'] | None
|
|
322
379
|
:param PREF_PACK_IN_ONE: Share Texture Space, Objects share texture space, map all objects into a single UV map
|
|
323
|
-
:type PREF_PACK_IN_ONE: bool | None
|
|
324
380
|
:param PREF_NEW_UVLAYER: New UV Map, Create a new UV map for every mesh packed
|
|
325
|
-
:type PREF_NEW_UVLAYER: bool | None
|
|
326
381
|
:param PREF_BOX_DIV: Pack Quality, Quality of the packing. Higher values will be slower but waste less space
|
|
327
|
-
:type PREF_BOX_DIV: int | None
|
|
328
382
|
:param PREF_MARGIN_DIV: Margin, Size of the margin as a division of the UV
|
|
329
|
-
:type PREF_MARGIN_DIV: float | None
|
|
330
383
|
"""
|
|
331
384
|
|
|
332
385
|
def mark_seam(
|
|
@@ -335,13 +388,10 @@ def mark_seam(
|
|
|
335
388
|
/,
|
|
336
389
|
*,
|
|
337
390
|
clear: bool | None = False,
|
|
338
|
-
):
|
|
391
|
+
) -> None:
|
|
339
392
|
"""Mark selected UV edges as seams
|
|
340
393
|
|
|
341
|
-
:type execution_context: int | str | None
|
|
342
|
-
:type undo: bool | None
|
|
343
394
|
:param clear: Clear Seams, Clear instead of marking seams
|
|
344
|
-
:type clear: bool | None
|
|
345
395
|
"""
|
|
346
396
|
|
|
347
397
|
def minimize_stretch(
|
|
@@ -352,17 +402,43 @@ def minimize_stretch(
|
|
|
352
402
|
fill_holes: bool | None = True,
|
|
353
403
|
blend: float | None = 0.0,
|
|
354
404
|
iterations: int | None = 0,
|
|
355
|
-
):
|
|
405
|
+
) -> None:
|
|
356
406
|
"""Reduce UV stretching by relaxing angles
|
|
357
407
|
|
|
358
|
-
:type execution_context: int | str | None
|
|
359
|
-
:type undo: bool | None
|
|
360
408
|
:param fill_holes: Fill Holes, Virtually fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry
|
|
361
|
-
:type fill_holes: bool | None
|
|
362
409
|
:param blend: Blend, Blend factor between stretch minimized and original
|
|
363
|
-
:type blend: float | None
|
|
364
410
|
:param iterations: Iterations, Number of iterations to run, 0 is unlimited when run interactively
|
|
365
|
-
|
|
411
|
+
"""
|
|
412
|
+
|
|
413
|
+
def move_on_axis(
|
|
414
|
+
execution_context: int | str | None = None,
|
|
415
|
+
undo: bool | None = None,
|
|
416
|
+
/,
|
|
417
|
+
*,
|
|
418
|
+
type: typing.Literal["DYNAMIC", "PIXEL", "UDIM"] | None = "UDIM",
|
|
419
|
+
axis: typing.Literal["X", "Y"] | None = "X",
|
|
420
|
+
distance: int | None = 1,
|
|
421
|
+
) -> None:
|
|
422
|
+
"""Move UVs on an axis
|
|
423
|
+
|
|
424
|
+
:param type: Type, Move Type
|
|
425
|
+
|
|
426
|
+
DYNAMIC
|
|
427
|
+
Dynamic -- Move by dynamic grid.
|
|
428
|
+
|
|
429
|
+
PIXEL
|
|
430
|
+
Pixel -- Move by pixel.
|
|
431
|
+
|
|
432
|
+
UDIM
|
|
433
|
+
UDIM -- Move by UDIM.
|
|
434
|
+
:param axis: Axis, Axis to move UVs on
|
|
435
|
+
|
|
436
|
+
X
|
|
437
|
+
X axis -- Move vertices on the X axis.
|
|
438
|
+
|
|
439
|
+
Y
|
|
440
|
+
Y axis -- Move vertices on the Y axis.
|
|
441
|
+
:param distance: Distance, Distance to move UVs
|
|
366
442
|
"""
|
|
367
443
|
|
|
368
444
|
def pack_islands(
|
|
@@ -370,7 +446,9 @@ def pack_islands(
|
|
|
370
446
|
undo: bool | None = None,
|
|
371
447
|
/,
|
|
372
448
|
*,
|
|
373
|
-
udim_source: typing.Literal[
|
|
449
|
+
udim_source: typing.Literal[
|
|
450
|
+
"CLOSEST_UDIM", "ACTIVE_UDIM", "ORIGINAL_AABB", "CUSTOM_REGION"
|
|
451
|
+
]
|
|
374
452
|
| None = "CLOSEST_UDIM",
|
|
375
453
|
rotate: bool | None = True,
|
|
376
454
|
rotate_method: typing.Literal[
|
|
@@ -385,11 +463,9 @@ def pack_islands(
|
|
|
385
463
|
pin_method: typing.Literal["SCALE", "ROTATION", "ROTATION_SCALE", "LOCKED"]
|
|
386
464
|
| None = "LOCKED",
|
|
387
465
|
shape_method: typing.Literal["CONCAVE", "CONVEX", "AABB"] | None = "CONCAVE",
|
|
388
|
-
):
|
|
466
|
+
) -> None:
|
|
389
467
|
"""Transform all islands so that they fill up the UV/UDIM space as much as possible
|
|
390
468
|
|
|
391
|
-
:type execution_context: int | str | None
|
|
392
|
-
:type undo: bool | None
|
|
393
469
|
:param udim_source: Pack to
|
|
394
470
|
|
|
395
471
|
CLOSEST_UDIM
|
|
@@ -400,9 +476,10 @@ def pack_islands(
|
|
|
400
476
|
|
|
401
477
|
ORIGINAL_AABB
|
|
402
478
|
Original bounding box -- Pack to starting bounding box of islands.
|
|
403
|
-
|
|
479
|
+
|
|
480
|
+
CUSTOM_REGION
|
|
481
|
+
Custom Region -- Pack islands to custom region.
|
|
404
482
|
:param rotate: Rotate, Rotate islands to improve layout
|
|
405
|
-
:type rotate: bool | None
|
|
406
483
|
:param rotate_method: Rotation Method
|
|
407
484
|
|
|
408
485
|
ANY
|
|
@@ -419,11 +496,8 @@ def pack_islands(
|
|
|
419
496
|
|
|
420
497
|
AXIS_ALIGNED_Y
|
|
421
498
|
Axis-aligned (Vertical) -- Rotate islands to be aligned vertically.
|
|
422
|
-
:type rotate_method: typing.Literal['ANY','CARDINAL','AXIS_ALIGNED','AXIS_ALIGNED_X','AXIS_ALIGNED_Y'] | None
|
|
423
499
|
:param scale: Scale, Scale islands to fill unit square
|
|
424
|
-
:type scale: bool | None
|
|
425
500
|
:param merge_overlap: Merge Overlapping, Overlapping islands stick together
|
|
426
|
-
:type merge_overlap: bool | None
|
|
427
501
|
:param margin_method: Margin Method
|
|
428
502
|
|
|
429
503
|
SCALED
|
|
@@ -434,25 +508,21 @@ def pack_islands(
|
|
|
434
508
|
|
|
435
509
|
FRACTION
|
|
436
510
|
Fraction -- Specify a precise fraction of final UV output.
|
|
437
|
-
:type margin_method: typing.Literal['SCALED','ADD','FRACTION'] | None
|
|
438
511
|
:param margin: Margin, Space between islands
|
|
439
|
-
:
|
|
440
|
-
:param pin: Lock Pinned Islands, Constrain islands containing any pinned UV's
|
|
441
|
-
:type pin: bool | None
|
|
512
|
+
:param pin: Lock Pinned Islands, Constrain islands containing any pinned UVs
|
|
442
513
|
:param pin_method: Pin Method
|
|
443
514
|
|
|
444
515
|
SCALE
|
|
445
|
-
Scale -- Pinned islands
|
|
516
|
+
Scale -- Pinned islands wont rescale.
|
|
446
517
|
|
|
447
518
|
ROTATION
|
|
448
|
-
Rotation -- Pinned islands
|
|
519
|
+
Rotation -- Pinned islands wont rotate.
|
|
449
520
|
|
|
450
521
|
ROTATION_SCALE
|
|
451
522
|
Rotation and Scale -- Pinned islands will translate only.
|
|
452
523
|
|
|
453
524
|
LOCKED
|
|
454
525
|
All -- Pinned islands are locked in place.
|
|
455
|
-
:type pin_method: typing.Literal['SCALE','ROTATION','ROTATION_SCALE','LOCKED'] | None
|
|
456
526
|
:param shape_method: Shape Method
|
|
457
527
|
|
|
458
528
|
CONCAVE
|
|
@@ -463,15 +533,14 @@ def pack_islands(
|
|
|
463
533
|
|
|
464
534
|
AABB
|
|
465
535
|
Bounding Box -- Uses bounding boxes.
|
|
466
|
-
:type shape_method: typing.Literal['CONCAVE','CONVEX','AABB'] | None
|
|
467
536
|
"""
|
|
468
537
|
|
|
469
|
-
def paste(
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
"""
|
|
538
|
+
def paste(
|
|
539
|
+
execution_context: int | str | None = None,
|
|
540
|
+
undo: bool | None = None,
|
|
541
|
+
/,
|
|
542
|
+
) -> None:
|
|
543
|
+
"""Paste selected UV vertices"""
|
|
475
544
|
|
|
476
545
|
def pin(
|
|
477
546
|
execution_context: int | str | None = None,
|
|
@@ -480,15 +549,11 @@ def pin(
|
|
|
480
549
|
*,
|
|
481
550
|
clear: bool | None = False,
|
|
482
551
|
invert: bool | None = False,
|
|
483
|
-
):
|
|
552
|
+
) -> None:
|
|
484
553
|
"""Set/clear selected UV vertices as anchored between multiple unwrap operations
|
|
485
554
|
|
|
486
|
-
:type execution_context: int | str | None
|
|
487
|
-
:type undo: bool | None
|
|
488
555
|
:param clear: Clear, Clear pinning for the selection instead of setting it
|
|
489
|
-
:type clear: bool | None
|
|
490
556
|
:param invert: Invert, Invert pinning for the selection instead of setting it
|
|
491
|
-
:type invert: bool | None
|
|
492
557
|
"""
|
|
493
558
|
|
|
494
559
|
def project_from_view(
|
|
@@ -501,21 +566,14 @@ def project_from_view(
|
|
|
501
566
|
correct_aspect: bool | None = True,
|
|
502
567
|
clip_to_bounds: bool | None = False,
|
|
503
568
|
scale_to_bounds: bool | None = False,
|
|
504
|
-
):
|
|
569
|
+
) -> None:
|
|
505
570
|
"""Project the UV vertices of the mesh as seen in current 3D view
|
|
506
571
|
|
|
507
|
-
:type execution_context: int | str | None
|
|
508
|
-
:type undo: bool | None
|
|
509
572
|
:param orthographic: Orthographic, Use orthographic projection
|
|
510
|
-
:type orthographic: bool | None
|
|
511
573
|
:param camera_bounds: Camera Bounds, Map UVs to the camera region taking resolution and aspect into account
|
|
512
|
-
:type camera_bounds: bool | None
|
|
513
574
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
514
|
-
:type correct_aspect: bool | None
|
|
515
575
|
:param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping
|
|
516
|
-
:type clip_to_bounds: bool | None
|
|
517
576
|
:param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping
|
|
518
|
-
:type scale_to_bounds: bool | None
|
|
519
577
|
"""
|
|
520
578
|
|
|
521
579
|
def randomize_uv_transform(
|
|
@@ -531,27 +589,17 @@ def randomize_uv_transform(
|
|
|
531
589
|
use_scale: bool | None = True,
|
|
532
590
|
scale_even: bool | None = False,
|
|
533
591
|
scale: collections.abc.Iterable[float] | None = (1.0, 1.0),
|
|
534
|
-
):
|
|
535
|
-
"""Randomize the UV
|
|
592
|
+
) -> None:
|
|
593
|
+
"""Randomize the UV islands location, rotation, and scale
|
|
536
594
|
|
|
537
|
-
:type execution_context: int | str | None
|
|
538
|
-
:type undo: bool | None
|
|
539
595
|
:param random_seed: Random Seed, Seed value for the random generator
|
|
540
|
-
:type random_seed: int | None
|
|
541
596
|
:param use_loc: Randomize Location, Randomize the location values
|
|
542
|
-
:type use_loc: bool | None
|
|
543
597
|
:param loc: Location, Maximum distance the objects can spread over each axis
|
|
544
|
-
:type loc: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
545
598
|
:param use_rot: Randomize Rotation, Randomize the rotation value
|
|
546
|
-
:type use_rot: bool | None
|
|
547
599
|
:param rot: Rotation, Maximum rotation
|
|
548
|
-
:type rot: float | None
|
|
549
600
|
:param use_scale: Randomize Scale, Randomize the scale values
|
|
550
|
-
:type use_scale: bool | None
|
|
551
601
|
:param scale_even: Scale Even, Use the same scale value for both axes
|
|
552
|
-
:type scale_even: bool | None
|
|
553
602
|
:param scale: Scale, Maximum scale randomization over each axis
|
|
554
|
-
:type scale: collections.abc.Iterable[float] | None
|
|
555
603
|
"""
|
|
556
604
|
|
|
557
605
|
def remove_doubles(
|
|
@@ -562,25 +610,20 @@ def remove_doubles(
|
|
|
562
610
|
threshold: float | None = 0.02,
|
|
563
611
|
use_unselected: bool | None = False,
|
|
564
612
|
use_shared_vertex: bool | None = False,
|
|
565
|
-
):
|
|
613
|
+
) -> None:
|
|
566
614
|
"""Selected UV vertices that are within a radius of each other are welded together
|
|
567
615
|
|
|
568
|
-
:type execution_context: int | str | None
|
|
569
|
-
:type undo: bool | None
|
|
570
616
|
:param threshold: Merge Distance, Maximum distance between welded vertices
|
|
571
|
-
:type threshold: float | None
|
|
572
617
|
:param use_unselected: Unselected, Merge selected to other unselected vertices
|
|
573
|
-
:type use_unselected: bool | None
|
|
574
618
|
:param use_shared_vertex: Shared Vertex, Weld UVs based on shared vertices
|
|
575
|
-
:type use_shared_vertex: bool | None
|
|
576
619
|
"""
|
|
577
620
|
|
|
578
|
-
def reset(
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
"""
|
|
621
|
+
def reset(
|
|
622
|
+
execution_context: int | str | None = None,
|
|
623
|
+
undo: bool | None = None,
|
|
624
|
+
/,
|
|
625
|
+
) -> None:
|
|
626
|
+
"""Reset UV projection"""
|
|
584
627
|
|
|
585
628
|
def reveal(
|
|
586
629
|
execution_context: int | str | None = None,
|
|
@@ -588,13 +631,10 @@ def reveal(
|
|
|
588
631
|
/,
|
|
589
632
|
*,
|
|
590
633
|
select: bool | None = True,
|
|
591
|
-
):
|
|
634
|
+
) -> None:
|
|
592
635
|
"""Reveal all hidden UV vertices
|
|
593
636
|
|
|
594
|
-
:type execution_context: int | str | None
|
|
595
|
-
:type undo: bool | None
|
|
596
637
|
:param select: Select
|
|
597
|
-
:type select: bool | None
|
|
598
638
|
"""
|
|
599
639
|
|
|
600
640
|
def rip(
|
|
@@ -606,19 +646,13 @@ def rip(
|
|
|
606
646
|
release_confirm: bool | None = False,
|
|
607
647
|
use_accurate: bool | None = False,
|
|
608
648
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
609
|
-
):
|
|
649
|
+
) -> None:
|
|
610
650
|
"""Rip selected vertices or a selected region
|
|
611
651
|
|
|
612
|
-
:type execution_context: int | str | None
|
|
613
|
-
:type undo: bool | None
|
|
614
652
|
:param mirror: Mirror Editing
|
|
615
|
-
:type mirror: bool | None
|
|
616
653
|
:param release_confirm: Confirm on Release, Always confirm operation when releasing button
|
|
617
|
-
:type release_confirm: bool | None
|
|
618
654
|
:param use_accurate: Accurate, Use accurate transformation
|
|
619
|
-
:type use_accurate: bool | None
|
|
620
655
|
:param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
|
|
621
|
-
:type location: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
622
656
|
"""
|
|
623
657
|
|
|
624
658
|
def rip_move(
|
|
@@ -628,15 +662,11 @@ def rip_move(
|
|
|
628
662
|
*,
|
|
629
663
|
UV_OT_rip: rip | None = None,
|
|
630
664
|
TRANSFORM_OT_translate: bpy.ops.transform.translate | None = None,
|
|
631
|
-
):
|
|
665
|
+
) -> None:
|
|
632
666
|
"""Unstitch UVs and move the result
|
|
633
667
|
|
|
634
|
-
:type execution_context: int | str | None
|
|
635
|
-
:type undo: bool | None
|
|
636
668
|
:param UV_OT_rip: UV Rip, Rip selected vertices or a selected region
|
|
637
|
-
:type UV_OT_rip: rip | None
|
|
638
669
|
:param TRANSFORM_OT_translate: Move, Move selected items
|
|
639
|
-
:type TRANSFORM_OT_translate: bpy.ops.transform.translate | None
|
|
640
670
|
"""
|
|
641
671
|
|
|
642
672
|
def seams_from_islands(
|
|
@@ -646,15 +676,11 @@ def seams_from_islands(
|
|
|
646
676
|
*,
|
|
647
677
|
mark_seams: bool | None = True,
|
|
648
678
|
mark_sharp: bool | None = False,
|
|
649
|
-
):
|
|
679
|
+
) -> None:
|
|
650
680
|
"""Set mesh seams according to island setup in the UV editor
|
|
651
681
|
|
|
652
|
-
:type execution_context: int | str | None
|
|
653
|
-
:type undo: bool | None
|
|
654
682
|
:param mark_seams: Mark Seams, Mark boundary edges as seams
|
|
655
|
-
:type mark_seams: bool | None
|
|
656
683
|
:param mark_sharp: Mark Sharp, Mark boundary edges as sharp
|
|
657
|
-
:type mark_sharp: bool | None
|
|
658
684
|
"""
|
|
659
685
|
|
|
660
686
|
def select(
|
|
@@ -668,23 +694,15 @@ def select(
|
|
|
668
694
|
deselect_all: bool | None = False,
|
|
669
695
|
select_passthrough: bool | None = False,
|
|
670
696
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
671
|
-
):
|
|
697
|
+
) -> None:
|
|
672
698
|
"""Select UV vertices
|
|
673
699
|
|
|
674
|
-
:type execution_context: int | str | None
|
|
675
|
-
:type undo: bool | None
|
|
676
700
|
:param extend: Extend, Extend selection instead of deselecting everything first
|
|
677
|
-
:type extend: bool | None
|
|
678
701
|
:param deselect: Deselect, Remove from selection
|
|
679
|
-
:type deselect: bool | None
|
|
680
702
|
:param toggle: Toggle Selection, Toggle the selection
|
|
681
|
-
:type toggle: bool | None
|
|
682
703
|
:param deselect_all: Deselect On Nothing, Deselect all when nothing under the cursor
|
|
683
|
-
:type deselect_all: bool | None
|
|
684
704
|
:param select_passthrough: Only Select Unselected, Ignore the select action when the element is already selected
|
|
685
|
-
:type select_passthrough: bool | None
|
|
686
705
|
:param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
|
|
687
|
-
:type location: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
688
706
|
"""
|
|
689
707
|
|
|
690
708
|
def select_all(
|
|
@@ -693,11 +711,9 @@ def select_all(
|
|
|
693
711
|
/,
|
|
694
712
|
*,
|
|
695
713
|
action: typing.Literal["TOGGLE", "SELECT", "DESELECT", "INVERT"] | None = "TOGGLE",
|
|
696
|
-
):
|
|
714
|
+
) -> None:
|
|
697
715
|
"""Change selection of all UV vertices
|
|
698
716
|
|
|
699
|
-
:type execution_context: int | str | None
|
|
700
|
-
:type undo: bool | None
|
|
701
717
|
:param action: Action, Selection action to execute
|
|
702
718
|
|
|
703
719
|
TOGGLE
|
|
@@ -711,7 +727,6 @@ def select_all(
|
|
|
711
727
|
|
|
712
728
|
INVERT
|
|
713
729
|
Invert -- Invert selection of all elements.
|
|
714
|
-
:type action: typing.Literal['TOGGLE','SELECT','DESELECT','INVERT'] | None
|
|
715
730
|
"""
|
|
716
731
|
|
|
717
732
|
def select_box(
|
|
@@ -726,23 +741,15 @@ def select_box(
|
|
|
726
741
|
ymax: int | None = 0,
|
|
727
742
|
wait_for_input: bool | None = True,
|
|
728
743
|
mode: typing.Literal["SET", "ADD", "SUB"] | None = "SET",
|
|
729
|
-
):
|
|
744
|
+
) -> None:
|
|
730
745
|
"""Select UV vertices using box selection
|
|
731
746
|
|
|
732
|
-
:type execution_context: int | str | None
|
|
733
|
-
:type undo: bool | None
|
|
734
747
|
:param pinned: Pinned, Border select pinned UVs only
|
|
735
|
-
:type pinned: bool | None
|
|
736
748
|
:param xmin: X Min
|
|
737
|
-
:type xmin: int | None
|
|
738
749
|
:param xmax: X Max
|
|
739
|
-
:type xmax: int | None
|
|
740
750
|
:param ymin: Y Min
|
|
741
|
-
:type ymin: int | None
|
|
742
751
|
:param ymax: Y Max
|
|
743
|
-
:type ymax: int | None
|
|
744
752
|
:param wait_for_input: Wait for Input
|
|
745
|
-
:type wait_for_input: bool | None
|
|
746
753
|
:param mode: Mode
|
|
747
754
|
|
|
748
755
|
SET
|
|
@@ -753,7 +760,6 @@ def select_box(
|
|
|
753
760
|
|
|
754
761
|
SUB
|
|
755
762
|
Subtract -- Subtract existing selection.
|
|
756
|
-
:type mode: typing.Literal['SET','ADD','SUB'] | None
|
|
757
763
|
"""
|
|
758
764
|
|
|
759
765
|
def select_circle(
|
|
@@ -766,19 +772,13 @@ def select_circle(
|
|
|
766
772
|
radius: int | None = 25,
|
|
767
773
|
wait_for_input: bool | None = True,
|
|
768
774
|
mode: typing.Literal["SET", "ADD", "SUB"] | None = "SET",
|
|
769
|
-
):
|
|
775
|
+
) -> None:
|
|
770
776
|
"""Select UV vertices using circle selection
|
|
771
777
|
|
|
772
|
-
:type execution_context: int | str | None
|
|
773
|
-
:type undo: bool | None
|
|
774
778
|
:param x: X
|
|
775
|
-
:type x: int | None
|
|
776
779
|
:param y: Y
|
|
777
|
-
:type y: int | None
|
|
778
780
|
:param radius: Radius
|
|
779
|
-
:type radius: int | None
|
|
780
781
|
:param wait_for_input: Wait for Input
|
|
781
|
-
:type wait_for_input: bool | None
|
|
782
782
|
:param mode: Mode
|
|
783
783
|
|
|
784
784
|
SET
|
|
@@ -789,7 +789,6 @@ def select_circle(
|
|
|
789
789
|
|
|
790
790
|
SUB
|
|
791
791
|
Subtract -- Subtract existing selection.
|
|
792
|
-
:type mode: typing.Literal['SET','ADD','SUB'] | None
|
|
793
792
|
"""
|
|
794
793
|
|
|
795
794
|
def select_edge_ring(
|
|
@@ -799,15 +798,11 @@ def select_edge_ring(
|
|
|
799
798
|
*,
|
|
800
799
|
extend: bool | None = False,
|
|
801
800
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
802
|
-
):
|
|
801
|
+
) -> None:
|
|
803
802
|
"""Select an edge ring of connected UV vertices
|
|
804
803
|
|
|
805
|
-
:type execution_context: int | str | None
|
|
806
|
-
:type undo: bool | None
|
|
807
804
|
:param extend: Extend, Extend selection rather than clearing the existing selection
|
|
808
|
-
:type extend: bool | None
|
|
809
805
|
:param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
|
|
810
|
-
:type location: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
811
806
|
"""
|
|
812
807
|
|
|
813
808
|
def select_lasso(
|
|
@@ -820,19 +815,13 @@ def select_lasso(
|
|
|
820
815
|
smooth_stroke_factor: float | None = 0.75,
|
|
821
816
|
smooth_stroke_radius: int | None = 35,
|
|
822
817
|
mode: typing.Literal["SET", "ADD", "SUB"] | None = "SET",
|
|
823
|
-
):
|
|
818
|
+
) -> None:
|
|
824
819
|
"""Select UVs using lasso selection
|
|
825
820
|
|
|
826
|
-
:type execution_context: int | str | None
|
|
827
|
-
:type undo: bool | None
|
|
828
821
|
:param path: Path
|
|
829
|
-
:type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None
|
|
830
822
|
:param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path
|
|
831
|
-
:type use_smooth_stroke: bool | None
|
|
832
823
|
:param smooth_stroke_factor: Smooth Stroke Factor, Higher values gives a smoother stroke
|
|
833
|
-
:type smooth_stroke_factor: float | None
|
|
834
824
|
:param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues
|
|
835
|
-
:type smooth_stroke_radius: int | None
|
|
836
825
|
:param mode: Mode
|
|
837
826
|
|
|
838
827
|
SET
|
|
@@ -843,22 +832,21 @@ def select_lasso(
|
|
|
843
832
|
|
|
844
833
|
SUB
|
|
845
834
|
Subtract -- Subtract existing selection.
|
|
846
|
-
:type mode: typing.Literal['SET','ADD','SUB'] | None
|
|
847
|
-
"""
|
|
848
|
-
|
|
849
|
-
def select_less(execution_context: int | str | None = None, undo: bool | None = None):
|
|
850
|
-
"""Deselect UV vertices at the boundary of each selection region
|
|
851
|
-
|
|
852
|
-
:type execution_context: int | str | None
|
|
853
|
-
:type undo: bool | None
|
|
854
835
|
"""
|
|
855
836
|
|
|
856
|
-
def
|
|
857
|
-
|
|
837
|
+
def select_less(
|
|
838
|
+
execution_context: int | str | None = None,
|
|
839
|
+
undo: bool | None = None,
|
|
840
|
+
/,
|
|
841
|
+
) -> None:
|
|
842
|
+
"""Deselect UV vertices at the boundary of each selection region"""
|
|
858
843
|
|
|
859
|
-
|
|
860
|
-
:
|
|
861
|
-
|
|
844
|
+
def select_linked(
|
|
845
|
+
execution_context: int | str | None = None,
|
|
846
|
+
undo: bool | None = None,
|
|
847
|
+
/,
|
|
848
|
+
) -> None:
|
|
849
|
+
"""Select all UV vertices linked to the active UV map"""
|
|
862
850
|
|
|
863
851
|
def select_linked_pick(
|
|
864
852
|
execution_context: int | str | None = None,
|
|
@@ -868,17 +856,12 @@ def select_linked_pick(
|
|
|
868
856
|
extend: bool | None = False,
|
|
869
857
|
deselect: bool | None = False,
|
|
870
858
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
871
|
-
):
|
|
859
|
+
) -> None:
|
|
872
860
|
"""Select all UV vertices linked under the mouse
|
|
873
861
|
|
|
874
|
-
:type execution_context: int | str | None
|
|
875
|
-
:type undo: bool | None
|
|
876
862
|
:param extend: Extend, Extend selection rather than clearing the existing selection
|
|
877
|
-
:type extend: bool | None
|
|
878
863
|
:param deselect: Deselect, Deselect linked UV vertices rather than selecting them
|
|
879
|
-
:type deselect: bool | None
|
|
880
864
|
:param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
|
|
881
|
-
:type location: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
882
865
|
"""
|
|
883
866
|
|
|
884
867
|
def select_loop(
|
|
@@ -888,15 +871,11 @@ def select_loop(
|
|
|
888
871
|
*,
|
|
889
872
|
extend: bool | None = False,
|
|
890
873
|
location: collections.abc.Sequence[float] | mathutils.Vector | None = (0.0, 0.0),
|
|
891
|
-
):
|
|
874
|
+
) -> None:
|
|
892
875
|
"""Select a loop of connected UV vertices
|
|
893
876
|
|
|
894
|
-
:type execution_context: int | str | None
|
|
895
|
-
:type undo: bool | None
|
|
896
877
|
:param extend: Extend, Extend selection rather than clearing the existing selection
|
|
897
|
-
:type extend: bool | None
|
|
898
878
|
:param location: Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
|
|
899
|
-
:type location: collections.abc.Sequence[float] | mathutils.Vector | None
|
|
900
879
|
"""
|
|
901
880
|
|
|
902
881
|
def select_mode(
|
|
@@ -904,22 +883,19 @@ def select_mode(
|
|
|
904
883
|
undo: bool | None = None,
|
|
905
884
|
/,
|
|
906
885
|
*,
|
|
907
|
-
type: bpy.
|
|
908
|
-
):
|
|
886
|
+
type: bpy.stub_internal.rna_enums.MeshSelectModeUvItems | None = "VERTEX",
|
|
887
|
+
) -> None:
|
|
909
888
|
"""Change UV selection mode
|
|
910
889
|
|
|
911
|
-
:type execution_context: int | str | None
|
|
912
|
-
:type undo: bool | None
|
|
913
890
|
:param type: Type
|
|
914
|
-
:type type: bpy._typing.rna_enums.MeshSelectModeUvItems | None
|
|
915
891
|
"""
|
|
916
892
|
|
|
917
|
-
def select_more(
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
"""
|
|
893
|
+
def select_more(
|
|
894
|
+
execution_context: int | str | None = None,
|
|
895
|
+
undo: bool | None = None,
|
|
896
|
+
/,
|
|
897
|
+
) -> None:
|
|
898
|
+
"""Select more UV vertices connected to initial selection"""
|
|
923
899
|
|
|
924
900
|
def select_overlap(
|
|
925
901
|
execution_context: int | str | None = None,
|
|
@@ -927,21 +903,18 @@ def select_overlap(
|
|
|
927
903
|
/,
|
|
928
904
|
*,
|
|
929
905
|
extend: bool | None = False,
|
|
930
|
-
):
|
|
906
|
+
) -> None:
|
|
931
907
|
"""Select all UV faces which overlap each other
|
|
932
908
|
|
|
933
|
-
:type execution_context: int | str | None
|
|
934
|
-
:type undo: bool | None
|
|
935
909
|
:param extend: Extend, Extend selection rather than clearing the existing selection
|
|
936
|
-
:type extend: bool | None
|
|
937
910
|
"""
|
|
938
911
|
|
|
939
|
-
def select_pinned(
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
"""
|
|
912
|
+
def select_pinned(
|
|
913
|
+
execution_context: int | str | None = None,
|
|
914
|
+
undo: bool | None = None,
|
|
915
|
+
/,
|
|
916
|
+
) -> None:
|
|
917
|
+
"""Select all pinned UV vertices"""
|
|
945
918
|
|
|
946
919
|
def select_similar(
|
|
947
920
|
execution_context: int | str | None = None,
|
|
@@ -963,24 +936,63 @@ def select_similar(
|
|
|
963
936
|
| None = "PIN",
|
|
964
937
|
compare: typing.Literal["EQUAL", "GREATER", "LESS"] | None = "EQUAL",
|
|
965
938
|
threshold: float | None = 0.0,
|
|
966
|
-
):
|
|
939
|
+
) -> None:
|
|
967
940
|
"""Select similar UVs by property types
|
|
968
941
|
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
942
|
+
:param type: Type
|
|
943
|
+
|
|
944
|
+
PIN
|
|
945
|
+
Pinned.
|
|
946
|
+
|
|
947
|
+
LENGTH
|
|
948
|
+
Length -- Edge length in UV space.
|
|
949
|
+
|
|
950
|
+
LENGTH_3D
|
|
951
|
+
Length 3D -- Length of edge in 3D space.
|
|
952
|
+
|
|
953
|
+
AREA
|
|
954
|
+
Area -- Face area in UV space.
|
|
955
|
+
|
|
956
|
+
AREA_3D
|
|
957
|
+
Area 3D -- Area of face in 3D space.
|
|
958
|
+
|
|
959
|
+
MATERIAL
|
|
960
|
+
Material.
|
|
961
|
+
|
|
962
|
+
OBJECT
|
|
963
|
+
Object.
|
|
964
|
+
|
|
965
|
+
SIDES
|
|
966
|
+
Polygon Sides.
|
|
967
|
+
|
|
968
|
+
WINDING
|
|
969
|
+
Winding -- Face direction defined by (clockwise or anti-clockwise winding (facing up or facing down).
|
|
970
|
+
|
|
971
|
+
FACE
|
|
972
|
+
Amount of Faces in Island.
|
|
973
|
+
:param compare: Compare
|
|
974
|
+
:param threshold: Threshold
|
|
977
975
|
"""
|
|
978
976
|
|
|
979
|
-
def select_split(
|
|
980
|
-
|
|
977
|
+
def select_split(
|
|
978
|
+
execution_context: int | str | None = None,
|
|
979
|
+
undo: bool | None = None,
|
|
980
|
+
/,
|
|
981
|
+
) -> None:
|
|
982
|
+
"""Select only entirely selected faces"""
|
|
981
983
|
|
|
982
|
-
|
|
983
|
-
:
|
|
984
|
+
def select_tile(
|
|
985
|
+
execution_context: int | str | None = None,
|
|
986
|
+
undo: bool | None = None,
|
|
987
|
+
/,
|
|
988
|
+
*,
|
|
989
|
+
extend: bool | None = False,
|
|
990
|
+
tile: collections.abc.Iterable[int] | None = (0, 0),
|
|
991
|
+
) -> None:
|
|
992
|
+
"""Select UVs in specified tile
|
|
993
|
+
|
|
994
|
+
:param extend: Extend, Extend the selection
|
|
995
|
+
:param tile: Tile, Tile location to select UVs
|
|
984
996
|
"""
|
|
985
997
|
|
|
986
998
|
def shortest_path_pick(
|
|
@@ -996,25 +1008,15 @@ def shortest_path_pick(
|
|
|
996
1008
|
offset: int | None = 0,
|
|
997
1009
|
object_index: int | None = -1,
|
|
998
1010
|
index: int | None = -1,
|
|
999
|
-
):
|
|
1011
|
+
) -> None:
|
|
1000
1012
|
"""Select shortest path between two selections
|
|
1001
1013
|
|
|
1002
|
-
:type execution_context: int | str | None
|
|
1003
|
-
:type undo: bool | None
|
|
1004
1014
|
:param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
|
|
1005
|
-
:type use_face_step: bool | None
|
|
1006
1015
|
:param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance
|
|
1007
|
-
:type use_topology_distance: bool | None
|
|
1008
1016
|
:param use_fill: Fill Region, Select all paths between the source/destination elements
|
|
1009
|
-
:type use_fill: bool | None
|
|
1010
1017
|
:param skip: Deselected, Number of deselected elements in the repetitive sequence
|
|
1011
|
-
:type skip: int | None
|
|
1012
1018
|
:param nth: Selected, Number of selected elements in the repetitive sequence
|
|
1013
|
-
:type nth: int | None
|
|
1014
1019
|
:param offset: Offset, Offset from the starting point
|
|
1015
|
-
:type offset: int | None
|
|
1016
|
-
:type object_index: int | None
|
|
1017
|
-
:type index: int | None
|
|
1018
1020
|
"""
|
|
1019
1021
|
|
|
1020
1022
|
def shortest_path_select(
|
|
@@ -1028,23 +1030,15 @@ def shortest_path_select(
|
|
|
1028
1030
|
skip: int | None = 0,
|
|
1029
1031
|
nth: int | None = 1,
|
|
1030
1032
|
offset: int | None = 0,
|
|
1031
|
-
):
|
|
1033
|
+
) -> None:
|
|
1032
1034
|
"""Selected shortest path between two vertices/edges/faces
|
|
1033
1035
|
|
|
1034
|
-
:type execution_context: int | str | None
|
|
1035
|
-
:type undo: bool | None
|
|
1036
1036
|
:param use_face_step: Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
|
|
1037
|
-
:type use_face_step: bool | None
|
|
1038
1037
|
:param use_topology_distance: Topology Distance, Find the minimum number of steps, ignoring spatial distance
|
|
1039
|
-
:type use_topology_distance: bool | None
|
|
1040
1038
|
:param use_fill: Fill Region, Select all paths between the source/destination elements
|
|
1041
|
-
:type use_fill: bool | None
|
|
1042
1039
|
:param skip: Deselected, Number of deselected elements in the repetitive sequence
|
|
1043
|
-
:type skip: int | None
|
|
1044
1040
|
:param nth: Selected, Number of selected elements in the repetitive sequence
|
|
1045
|
-
:type nth: int | None
|
|
1046
1041
|
:param offset: Offset, Offset from the starting point
|
|
1047
|
-
:type offset: int | None
|
|
1048
1042
|
"""
|
|
1049
1043
|
|
|
1050
1044
|
def smart_project(
|
|
@@ -1060,13 +1054,10 @@ def smart_project(
|
|
|
1060
1054
|
area_weight: float | None = 0.0,
|
|
1061
1055
|
correct_aspect: bool | None = True,
|
|
1062
1056
|
scale_to_bounds: bool | None = False,
|
|
1063
|
-
):
|
|
1057
|
+
) -> None:
|
|
1064
1058
|
"""Projection unwraps the selected faces of mesh objects
|
|
1065
1059
|
|
|
1066
|
-
:type execution_context: int | str | None
|
|
1067
|
-
:type undo: bool | None
|
|
1068
1060
|
:param angle_limit: Angle Limit, Lower for more projection groups, higher for less distortion
|
|
1069
|
-
:type angle_limit: float | None
|
|
1070
1061
|
:param margin_method: Margin Method
|
|
1071
1062
|
|
|
1072
1063
|
SCALED
|
|
@@ -1077,7 +1068,6 @@ def smart_project(
|
|
|
1077
1068
|
|
|
1078
1069
|
FRACTION
|
|
1079
1070
|
Fraction -- Specify a precise fraction of final UV output.
|
|
1080
|
-
:type margin_method: typing.Literal['SCALED','ADD','FRACTION'] | None
|
|
1081
1071
|
:param rotate_method: Rotation Method
|
|
1082
1072
|
|
|
1083
1073
|
AXIS_ALIGNED
|
|
@@ -1088,15 +1078,10 @@ def smart_project(
|
|
|
1088
1078
|
|
|
1089
1079
|
AXIS_ALIGNED_Y
|
|
1090
1080
|
Axis-aligned (Vertical) -- Rotate islands to be aligned vertically.
|
|
1091
|
-
:type rotate_method: typing.Literal['AXIS_ALIGNED','AXIS_ALIGNED_X','AXIS_ALIGNED_Y'] | None
|
|
1092
1081
|
:param island_margin: Island Margin, Margin to reduce bleed from adjacent islands
|
|
1093
|
-
:
|
|
1094
|
-
:param area_weight: Area Weight, Weight projection's vector by faces with larger areas
|
|
1095
|
-
:type area_weight: float | None
|
|
1082
|
+
:param area_weight: Area Weight, Weight projections vector by faces with larger areas
|
|
1096
1083
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
1097
|
-
:type correct_aspect: bool | None
|
|
1098
1084
|
:param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping
|
|
1099
|
-
:type scale_to_bounds: bool | None
|
|
1100
1085
|
"""
|
|
1101
1086
|
|
|
1102
1087
|
def snap_cursor(
|
|
@@ -1105,13 +1090,10 @@ def snap_cursor(
|
|
|
1105
1090
|
/,
|
|
1106
1091
|
*,
|
|
1107
1092
|
target: typing.Literal["PIXELS", "SELECTED", "ORIGIN"] | None = "PIXELS",
|
|
1108
|
-
):
|
|
1093
|
+
) -> None:
|
|
1109
1094
|
"""Snap cursor to target type
|
|
1110
1095
|
|
|
1111
|
-
:type execution_context: int | str | None
|
|
1112
|
-
:type undo: bool | None
|
|
1113
1096
|
:param target: Target, Target to snap the selected UVs to
|
|
1114
|
-
:type target: typing.Literal['PIXELS','SELECTED','ORIGIN'] | None
|
|
1115
1097
|
"""
|
|
1116
1098
|
|
|
1117
1099
|
def snap_selected(
|
|
@@ -1121,13 +1103,10 @@ def snap_selected(
|
|
|
1121
1103
|
*,
|
|
1122
1104
|
target: typing.Literal["PIXELS", "CURSOR", "CURSOR_OFFSET", "ADJACENT_UNSELECTED"]
|
|
1123
1105
|
| None = "PIXELS",
|
|
1124
|
-
):
|
|
1106
|
+
) -> None:
|
|
1125
1107
|
"""Snap selected UV vertices to target type
|
|
1126
1108
|
|
|
1127
|
-
:type execution_context: int | str | None
|
|
1128
|
-
:type undo: bool | None
|
|
1129
1109
|
:param target: Target, Target to snap the selected UVs to
|
|
1130
|
-
:type target: typing.Literal['PIXELS','CURSOR','CURSOR_OFFSET','ADJACENT_UNSELECTED'] | None
|
|
1131
1110
|
"""
|
|
1132
1111
|
|
|
1133
1112
|
def sphere_project(
|
|
@@ -1143,11 +1122,9 @@ def sphere_project(
|
|
|
1143
1122
|
correct_aspect: bool | None = True,
|
|
1144
1123
|
clip_to_bounds: bool | None = False,
|
|
1145
1124
|
scale_to_bounds: bool | None = False,
|
|
1146
|
-
):
|
|
1125
|
+
) -> None:
|
|
1147
1126
|
"""Project the UV vertices of the mesh over the curved surface of a sphere
|
|
1148
1127
|
|
|
1149
|
-
:type execution_context: int | str | None
|
|
1150
|
-
:type undo: bool | None
|
|
1151
1128
|
:param direction: Direction, Direction of the sphere or cylinder
|
|
1152
1129
|
|
|
1153
1130
|
VIEW_ON_EQUATOR
|
|
@@ -1158,7 +1135,6 @@ def sphere_project(
|
|
|
1158
1135
|
|
|
1159
1136
|
ALIGN_TO_OBJECT
|
|
1160
1137
|
Align to Object -- Align according to object transform.
|
|
1161
|
-
:type direction: typing.Literal['VIEW_ON_EQUATOR','VIEW_ON_POLES','ALIGN_TO_OBJECT'] | None
|
|
1162
1138
|
:param align: Align, How to determine rotation around the pole
|
|
1163
1139
|
|
|
1164
1140
|
POLAR_ZX
|
|
@@ -1166,7 +1142,6 @@ def sphere_project(
|
|
|
1166
1142
|
|
|
1167
1143
|
POLAR_ZY
|
|
1168
1144
|
Polar ZY -- Polar 0 is Y.
|
|
1169
|
-
:type align: typing.Literal['POLAR_ZX','POLAR_ZY'] | None
|
|
1170
1145
|
:param pole: Pole, How to handle faces at the poles
|
|
1171
1146
|
|
|
1172
1147
|
PINCH
|
|
@@ -1174,15 +1149,10 @@ def sphere_project(
|
|
|
1174
1149
|
|
|
1175
1150
|
FAN
|
|
1176
1151
|
Fan -- UVs are fanned at the poles.
|
|
1177
|
-
:type pole: typing.Literal['PINCH','FAN'] | None
|
|
1178
1152
|
:param seam: Preserve Seams, Separate projections by islands isolated by seams
|
|
1179
|
-
:type seam: bool | None
|
|
1180
1153
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
1181
|
-
:type correct_aspect: bool | None
|
|
1182
1154
|
:param clip_to_bounds: Clip to Bounds, Clip UV coordinates to bounds after unwrapping
|
|
1183
|
-
:type clip_to_bounds: bool | None
|
|
1184
1155
|
:param scale_to_bounds: Scale to Bounds, Scale UV coordinates to bounds after unwrapping
|
|
1185
|
-
:type scale_to_bounds: bool | None
|
|
1186
1156
|
"""
|
|
1187
1157
|
|
|
1188
1158
|
def stitch(
|
|
@@ -1201,33 +1171,20 @@ def stitch(
|
|
|
1201
1171
|
stored_mode: typing.Literal["VERTEX", "EDGE"] | None = "VERTEX",
|
|
1202
1172
|
selection: bpy.types.bpy_prop_collection[bpy.types.SelectedUvElement] | None = None,
|
|
1203
1173
|
objects_selection_count: collections.abc.Iterable[int] | None = (0, 0, 0, 0, 0, 0),
|
|
1204
|
-
):
|
|
1174
|
+
) -> None:
|
|
1205
1175
|
"""Stitch selected UV vertices by proximity
|
|
1206
1176
|
|
|
1207
|
-
:type execution_context: int | str | None
|
|
1208
|
-
:type undo: bool | None
|
|
1209
1177
|
:param use_limit: Use Limit, Stitch UVs within a specified limit distance
|
|
1210
|
-
:type use_limit: bool | None
|
|
1211
1178
|
:param snap_islands: Snap Islands, Snap islands together (on edge stitch mode, rotates the islands too)
|
|
1212
|
-
:type snap_islands: bool | None
|
|
1213
1179
|
:param limit: Limit, Limit distance in normalized coordinates
|
|
1214
|
-
:type limit: float | None
|
|
1215
1180
|
:param static_island: Static Island, Island that stays in place when stitching islands
|
|
1216
|
-
:type static_island: int | None
|
|
1217
1181
|
:param active_object_index: Active Object, Index of the active object
|
|
1218
|
-
:type active_object_index: int | None
|
|
1219
1182
|
:param midpoint_snap: Snap at Midpoint, UVs are stitched at midpoint instead of at static island
|
|
1220
|
-
:type midpoint_snap: bool | None
|
|
1221
1183
|
:param clear_seams: Clear Seams, Clear seams of stitched edges
|
|
1222
|
-
:type clear_seams: bool | None
|
|
1223
1184
|
:param mode: Operation Mode, Use vertex or edge stitching
|
|
1224
|
-
:type mode: typing.Literal['VERTEX','EDGE'] | None
|
|
1225
1185
|
:param stored_mode: Stored Operation Mode, Use vertex or edge stitching
|
|
1226
|
-
:type stored_mode: typing.Literal['VERTEX','EDGE'] | None
|
|
1227
1186
|
:param selection: Selection
|
|
1228
|
-
:type selection: bpy.types.bpy_prop_collection[bpy.types.SelectedUvElement] | None
|
|
1229
1187
|
:param objects_selection_count: Objects Selection Count
|
|
1230
|
-
:type objects_selection_count: collections.abc.Iterable[int] | None
|
|
1231
1188
|
"""
|
|
1232
1189
|
|
|
1233
1190
|
def unwrap(
|
|
@@ -1247,19 +1204,13 @@ def unwrap(
|
|
|
1247
1204
|
use_weights: bool | None = False,
|
|
1248
1205
|
weight_group: str = "uv_importance",
|
|
1249
1206
|
weight_factor: float | None = 1.0,
|
|
1250
|
-
):
|
|
1207
|
+
) -> None:
|
|
1251
1208
|
"""Unwrap the mesh of the object being edited
|
|
1252
1209
|
|
|
1253
|
-
:type execution_context: int | str | None
|
|
1254
|
-
:type undo: bool | None
|
|
1255
1210
|
:param method: Method, Unwrapping method (Angle Based usually gives better results than Conformal, while being somewhat slower)
|
|
1256
|
-
:type method: typing.Literal['ANGLE_BASED','CONFORMAL','MINIMUM_STRETCH'] | None
|
|
1257
1211
|
:param fill_holes: Fill Holes, Virtually fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry
|
|
1258
|
-
:type fill_holes: bool | None
|
|
1259
1212
|
:param correct_aspect: Correct Aspect, Map UVs taking aspect ratio of the image associated with the material into account
|
|
1260
|
-
:type correct_aspect: bool | None
|
|
1261
1213
|
:param use_subsurf_data: Use Subdivision Surface, Map UVs taking vertex position after Subdivision Surface modifier has been applied
|
|
1262
|
-
:type use_subsurf_data: bool | None
|
|
1263
1214
|
:param margin_method: Margin Method
|
|
1264
1215
|
|
|
1265
1216
|
SCALED
|
|
@@ -1270,24 +1221,17 @@ def unwrap(
|
|
|
1270
1221
|
|
|
1271
1222
|
FRACTION
|
|
1272
1223
|
Fraction -- Specify a precise fraction of final UV output.
|
|
1273
|
-
:type margin_method: typing.Literal['SCALED','ADD','FRACTION'] | None
|
|
1274
1224
|
:param margin: Margin, Space between islands
|
|
1275
|
-
:
|
|
1276
|
-
:param no_flip: No Flip, Prevent flipping UV's, flipping may lower distortion depending on the position of pins
|
|
1277
|
-
:type no_flip: bool | None
|
|
1225
|
+
:param no_flip: No Flip, Prevent flipping UVs, flipping may lower distortion depending on the position of pins
|
|
1278
1226
|
:param iterations: Iterations, Number of iterations when "Minimum Stretch" method is used
|
|
1279
|
-
:type iterations: int | None
|
|
1280
1227
|
:param use_weights: Importance Weights, Whether to take into account per-vertex importance weights
|
|
1281
|
-
:type use_weights: bool | None
|
|
1282
1228
|
:param weight_group: Weight Group, Vertex group name for importance weights (modulating the deform)
|
|
1283
|
-
:type weight_group: str
|
|
1284
1229
|
:param weight_factor: Weight Factor, How much influence the weightmap has for weighted parameterization, 0 being no influence
|
|
1285
|
-
:type weight_factor: float | None
|
|
1286
1230
|
"""
|
|
1287
1231
|
|
|
1288
|
-
def weld(
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
"""
|
|
1232
|
+
def weld(
|
|
1233
|
+
execution_context: int | str | None = None,
|
|
1234
|
+
undo: bool | None = None,
|
|
1235
|
+
/,
|
|
1236
|
+
) -> None:
|
|
1237
|
+
"""Weld selected UV vertices together"""
|