fake-bpy-module-latest 20251003__py3-none-any.whl → 20260113__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.
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +2 -0
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- _bpy_internal/__init__.pyi +1 -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_types/__init__.pyi +17 -1
- aud/__init__.pyi +70 -0
- bl_math/__init__.pyi +3 -1
- bl_operators/__init__.pyi +1 -0
- bl_operators/anim/__init__.pyi +42 -0
- bl_operators/copy_global_transform/__init__.pyi +271 -0
- bl_operators/node/__init__.pyi +38 -4
- bl_operators/object/__init__.pyi +0 -7
- bl_operators/uvcalc_follow_active/__init__.pyi +1 -1
- bl_operators/uvcalc_transform/__init__.pyi +21 -8
- bl_ui/__init__.pyi +3 -0
- bl_ui/node_add_menu/__init__.pyi +13 -6
- bl_ui/node_add_menu_compositor/__init__.pyi +19 -19
- bl_ui/node_add_menu_geometry/__init__.pyi +56 -56
- bl_ui/node_add_menu_shader/__init__.pyi +10 -10
- bl_ui/node_add_menu_texture/__init__.pyi +1 -1
- bl_ui/properties_constraint/__init__.pyi +68 -0
- bl_ui/properties_object/__init__.pyi +37 -0
- bl_ui/properties_paint_common/__init__.pyi +23 -3
- bl_ui/properties_strip/__init__.pyi +786 -0
- bl_ui/properties_strip_modifier/__init__.pyi +47 -0
- bl_ui/properties_view_layer/__init__.pyi +7 -0
- bl_ui/space_clip/__init__.pyi +1 -0
- bl_ui/space_dopesheet/__init__.pyi +56 -0
- bl_ui/space_image/__init__.pyi +2 -2
- bl_ui/space_node/__init__.pyi +29 -2
- bl_ui/space_properties/__init__.pyi +31 -0
- bl_ui/space_sequencer/__init__.pyi +42 -772
- bl_ui/space_time/__init__.pyi +54 -0
- bl_ui/space_topbar/__init__.pyi +7 -0
- bl_ui/space_userpref/__init__.pyi +7 -2
- bl_ui/space_view3d/__init__.pyi +38 -10
- bl_ui/space_view3d_sidebar/__init__.pyi +135 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +2 -1
- blf/__init__.pyi +9 -6
- bmesh/ops/__init__.pyi +3 -0
- bmesh/types/__init__.pyi +184 -36
- bmesh/utils/__init__.pyi +22 -5
- bpy/app/__init__.pyi +54 -52
- bpy/app/translations/__init__.pyi +1 -1
- bpy/ops/anim/__init__.pyi +18 -12
- bpy/ops/armature/__init__.pyi +1 -1
- bpy/ops/curves/__init__.pyi +3 -3
- bpy/ops/export_anim/__init__.pyi +3 -0
- bpy/ops/export_scene/__init__.pyi +1 -1
- bpy/ops/geometry/__init__.pyi +0 -83
- bpy/ops/grease_pencil/__init__.pyi +3 -3
- bpy/ops/import_anim/__init__.pyi +2 -2
- bpy/ops/mesh/__init__.pyi +2 -2
- bpy/ops/nla/__init__.pyi +1 -1
- bpy/ops/node/__init__.pyi +29 -7
- bpy/ops/object/__init__.pyi +93 -0
- bpy/ops/pose/__init__.pyi +4 -4
- bpy/ops/render/__init__.pyi +4 -1
- bpy/ops/screen/__init__.pyi +29 -0
- bpy/ops/sculpt/__init__.pyi +30 -41
- bpy/ops/sequencer/__init__.pyi +67 -3
- bpy/ops/text/__init__.pyi +3 -0
- bpy/ops/transform/__init__.pyi +10 -3
- bpy/ops/uv/__init__.pyi +54 -0
- bpy/ops/wm/__init__.pyi +20 -32
- bpy/props/__init__.pyi +5 -11
- bpy/stub_internal/rna_enums/__init__.pyi +52 -20
- bpy/types/__init__.pyi +7912 -3664
- bpy/utils/__init__.pyi +3 -3
- bpy/utils/previews/__init__.pyi +1 -1
- bpy_extras/anim_utils/__init__.pyi +9 -0
- bpy_extras/id_map_utils/__init__.pyi +15 -6
- bpy_extras/keyconfig_utils/__init__.pyi +1 -1
- {fake_bpy_module_latest-20251003.dist-info → fake_bpy_module_latest-20260113.dist-info}/METADATA +3 -1
- {fake_bpy_module_latest-20251003.dist-info → fake_bpy_module_latest-20260113.dist-info}/RECORD +137 -128
- {fake_bpy_module_latest-20251003.dist-info → fake_bpy_module_latest-20260113.dist-info}/top_level.txt +14 -14
- freestyle/utils/__init__.pyi +1 -1
- gpu/matrix/__init__.pyi +1 -1
- gpu/shader/__init__.pyi +22 -1
- gpu/state/__init__.pyi +77 -27
- gpu/types/__init__.pyi +91 -20
- gpu_extras/presets/__init__.pyi +7 -0
- idprop/types/__init__.pyi +6 -2
- imbuf/__init__.pyi +2 -2
- imbuf/types/__init__.pyi +2 -2
- keyingsets_builtins/__init__.pyi +1 -1
- mathutils/__init__.pyi +53 -29
- mathutils/bvhtree/__init__.pyi +3 -2
- mathutils/geometry/__init__.pyi +31 -13
- mathutils/interpolate/__init__.pyi +4 -2
- {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/py.typed +0 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
- {bl_ui_utils → _bl_ui_utils}/py.typed +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {console_python → _console_python}/__init__.pyi +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/__init__.pyi +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/__init__.pyi +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/__init__.pyi +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/__init__.pyi +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
- {fake_bpy_module_latest-20251003.dist-info → fake_bpy_module_latest-20260113.dist-info}/WHEEL +0 -0
bmesh/types/__init__.pyi
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
"""
|
|
2
|
+
SUBSTITUTION REPLACEMENT 'UV_STICKY_SELECT_MODE_REF':
|
|
3
|
+
(bpy.types.ToolSettings.uv_sticky_select_mode which may be passed in directly).
|
|
4
|
+
|
|
5
|
+
SUBSTITUTION REPLACEMENT 'UV_STICKY_SELECT_MODE_TYPE':
|
|
6
|
+
Literal['SHARED_LOCATION', 'DISABLED', 'SHARED_VERTEX']
|
|
7
|
+
|
|
8
|
+
SUBSTITUTION REPLACEMENT 'UV_SELECT_FLUSH_MODE_NEEDED':
|
|
9
|
+
This function selection-mode independent, typically bmesh.types.BMesh.uv_select_flush_mode should be called afterwards.
|
|
10
|
+
|
|
11
|
+
SUBSTITUTION REPLACEMENT 'UV_SELECT_SYNC_TO_MESH_NEEDED':
|
|
12
|
+
This function doesn't flush the selection to the mesh, typically bmesh.types.BMesh.uv_select_sync_to_mesh should be called afterwards.
|
|
13
|
+
|
|
2
14
|
|
|
3
15
|
--------------------
|
|
4
16
|
|
|
@@ -260,12 +272,17 @@ class BMEdgeSeq:
|
|
|
260
272
|
def ensure_lookup_table(self) -> None:
|
|
261
273
|
"""Ensure internal data needed for int subscription is initialized with verts/edges/faces, eg bm.verts[index].This needs to be called again after adding/removing data in this sequence."""
|
|
262
274
|
|
|
263
|
-
def get(
|
|
275
|
+
def get(
|
|
276
|
+
self,
|
|
277
|
+
verts: collections.abc.Sequence[BMVert],
|
|
278
|
+
fallback: typing.Any | None = None,
|
|
279
|
+
) -> BMEdge:
|
|
264
280
|
"""Return an edge which uses the verts passed.
|
|
265
281
|
|
|
266
282
|
:param verts: Sequence of verts.
|
|
267
283
|
:type verts: collections.abc.Sequence[BMVert]
|
|
268
284
|
:param fallback: Return this value if nothing is found.
|
|
285
|
+
:type fallback: typing.Any | None
|
|
269
286
|
:return: The edge found or None
|
|
270
287
|
:rtype: BMEdge
|
|
271
288
|
"""
|
|
@@ -289,7 +306,7 @@ class BMEdgeSeq:
|
|
|
289
306
|
def remove(self, edge: BMEdge) -> None:
|
|
290
307
|
"""Remove an edge.
|
|
291
308
|
|
|
292
|
-
:param edge:
|
|
309
|
+
:param edge: The edge to remove.
|
|
293
310
|
:type edge: BMEdge
|
|
294
311
|
"""
|
|
295
312
|
|
|
@@ -321,13 +338,13 @@ class BMEdgeSeq:
|
|
|
321
338
|
"""
|
|
322
339
|
|
|
323
340
|
@typing.overload
|
|
324
|
-
def __getitem__(self, key: slice) -> list[BMEdge
|
|
341
|
+
def __getitem__(self, key: slice) -> list[BMEdge]:
|
|
325
342
|
"""
|
|
326
343
|
|
|
327
344
|
:param key:
|
|
328
345
|
:type key: slice
|
|
329
346
|
:return:
|
|
330
|
-
:rtype: list[BMEdge
|
|
347
|
+
:rtype: list[BMEdge]
|
|
331
348
|
"""
|
|
332
349
|
|
|
333
350
|
def __iter__(self) -> BMIter[BMEdge]:
|
|
@@ -397,13 +414,13 @@ class BMElemSeq[_GenericType1]:
|
|
|
397
414
|
"""
|
|
398
415
|
|
|
399
416
|
@typing.overload
|
|
400
|
-
def __getitem__(self, key: slice) -> list[_GenericType1
|
|
417
|
+
def __getitem__(self, key: slice) -> list[_GenericType1]:
|
|
401
418
|
"""
|
|
402
419
|
|
|
403
420
|
:param key:
|
|
404
421
|
:type key: slice
|
|
405
422
|
:return:
|
|
406
|
-
:rtype: list[_GenericType1
|
|
423
|
+
:rtype: list[_GenericType1]
|
|
407
424
|
"""
|
|
408
425
|
|
|
409
426
|
def __iter__(self) -> BMIter[_GenericType1]:
|
|
@@ -477,6 +494,12 @@ class BMFace:
|
|
|
477
494
|
:type: bool
|
|
478
495
|
"""
|
|
479
496
|
|
|
497
|
+
uv_select: bool
|
|
498
|
+
""" UV selected state of this element.
|
|
499
|
+
|
|
500
|
+
:type: bool
|
|
501
|
+
"""
|
|
502
|
+
|
|
480
503
|
verts: typing.Any
|
|
481
504
|
""" Verts of this face, (read-only)."""
|
|
482
505
|
|
|
@@ -597,6 +620,13 @@ class BMFace:
|
|
|
597
620
|
:type select: bool
|
|
598
621
|
"""
|
|
599
622
|
|
|
623
|
+
def uv_select_set(self, select: bool) -> None:
|
|
624
|
+
"""Select the face.
|
|
625
|
+
|
|
626
|
+
:param select: Select or de-select.
|
|
627
|
+
:type select: bool
|
|
628
|
+
"""
|
|
629
|
+
|
|
600
630
|
def __getitem__[_GenericType1](
|
|
601
631
|
self, key: BMLayerItem[_GenericType1]
|
|
602
632
|
) -> _GenericType1:
|
|
@@ -642,12 +672,17 @@ class BMFaceSeq:
|
|
|
642
672
|
def ensure_lookup_table(self) -> None:
|
|
643
673
|
"""Ensure internal data needed for int subscription is initialized with verts/edges/faces, eg bm.verts[index].This needs to be called again after adding/removing data in this sequence."""
|
|
644
674
|
|
|
645
|
-
def get(
|
|
675
|
+
def get(
|
|
676
|
+
self,
|
|
677
|
+
verts: collections.abc.Sequence[BMVert],
|
|
678
|
+
fallback: typing.Any | None = None,
|
|
679
|
+
) -> BMFace:
|
|
646
680
|
"""Return a face which uses the verts passed.
|
|
647
681
|
|
|
648
682
|
:param verts: Sequence of verts.
|
|
649
683
|
:type verts: collections.abc.Sequence[BMVert]
|
|
650
684
|
:param fallback: Return this value if nothing is found.
|
|
685
|
+
:type fallback: typing.Any | None
|
|
651
686
|
:return: The face found or None
|
|
652
687
|
:rtype: BMFace
|
|
653
688
|
"""
|
|
@@ -671,7 +706,7 @@ class BMFaceSeq:
|
|
|
671
706
|
def remove(self, face: BMFace) -> None:
|
|
672
707
|
"""Remove a face.
|
|
673
708
|
|
|
674
|
-
:param face:
|
|
709
|
+
:param face: The face to remove.
|
|
675
710
|
:type face: BMFace
|
|
676
711
|
"""
|
|
677
712
|
|
|
@@ -703,13 +738,13 @@ class BMFaceSeq:
|
|
|
703
738
|
"""
|
|
704
739
|
|
|
705
740
|
@typing.overload
|
|
706
|
-
def __getitem__(self, key: slice) -> list[BMFace
|
|
741
|
+
def __getitem__(self, key: slice) -> list[BMFace]:
|
|
707
742
|
"""
|
|
708
743
|
|
|
709
744
|
:param key:
|
|
710
745
|
:type key: slice
|
|
711
746
|
:return:
|
|
712
|
-
:rtype: list[BMFace
|
|
747
|
+
:rtype: list[BMFace]
|
|
713
748
|
"""
|
|
714
749
|
|
|
715
750
|
def __iter__(self) -> BMIter[BMFace]:
|
|
@@ -940,7 +975,7 @@ class BMLayerItem[_GenericType1]:
|
|
|
940
975
|
"""
|
|
941
976
|
|
|
942
977
|
def copy_from(self, other: typing_extensions.Self) -> None:
|
|
943
|
-
"""
|
|
978
|
+
"""Copy data from another layer.
|
|
944
979
|
|
|
945
980
|
:param other: Another layer to copy from.
|
|
946
981
|
:type other: typing_extensions.Self
|
|
@@ -1012,6 +1047,18 @@ class BMLoop:
|
|
|
1012
1047
|
:type: bool
|
|
1013
1048
|
"""
|
|
1014
1049
|
|
|
1050
|
+
uv_select_edge: bool
|
|
1051
|
+
""" UV selected state of this element.
|
|
1052
|
+
|
|
1053
|
+
:type: bool
|
|
1054
|
+
"""
|
|
1055
|
+
|
|
1056
|
+
uv_select_vert: bool
|
|
1057
|
+
""" UV selected state of this element.
|
|
1058
|
+
|
|
1059
|
+
:type: bool
|
|
1060
|
+
"""
|
|
1061
|
+
|
|
1015
1062
|
vert: BMVert
|
|
1016
1063
|
""" The loop's vertex (read-only).
|
|
1017
1064
|
|
|
@@ -1062,6 +1109,20 @@ class BMLoop:
|
|
|
1062
1109
|
:type multires: bool
|
|
1063
1110
|
"""
|
|
1064
1111
|
|
|
1112
|
+
def uv_select_edge_set(self, select: bool) -> None:
|
|
1113
|
+
"""Set the UV edge selection state.
|
|
1114
|
+
|
|
1115
|
+
:param select: Select or de-select.
|
|
1116
|
+
:type select: bool
|
|
1117
|
+
"""
|
|
1118
|
+
|
|
1119
|
+
def uv_select_vert_set(self, select: bool) -> None:
|
|
1120
|
+
"""Select the UV vertex.
|
|
1121
|
+
|
|
1122
|
+
:param select: Select or de-select.
|
|
1123
|
+
:type select: bool
|
|
1124
|
+
"""
|
|
1125
|
+
|
|
1065
1126
|
def __getitem__[_GenericType1](
|
|
1066
1127
|
self, key: BMLayerItem[_GenericType1]
|
|
1067
1128
|
) -> _GenericType1:
|
|
@@ -1109,13 +1170,13 @@ class BMLoopSeq:
|
|
|
1109
1170
|
"""
|
|
1110
1171
|
|
|
1111
1172
|
@typing.overload
|
|
1112
|
-
def __getitem__(self, key: slice) -> list[BMLoop
|
|
1173
|
+
def __getitem__(self, key: slice) -> list[BMLoop]:
|
|
1113
1174
|
"""
|
|
1114
1175
|
|
|
1115
1176
|
:param key:
|
|
1116
1177
|
:type key: slice
|
|
1117
1178
|
:return:
|
|
1118
|
-
:rtype: list[BMLoop
|
|
1179
|
+
:rtype: list[BMLoop]
|
|
1119
1180
|
"""
|
|
1120
1181
|
|
|
1121
1182
|
def __iter__(self) -> BMIter[BMLoop]:
|
|
@@ -1139,18 +1200,6 @@ class BMLoopUV:
|
|
|
1139
1200
|
:type: bool
|
|
1140
1201
|
"""
|
|
1141
1202
|
|
|
1142
|
-
select: bool
|
|
1143
|
-
""" UV select state.
|
|
1144
|
-
|
|
1145
|
-
:type: bool
|
|
1146
|
-
"""
|
|
1147
|
-
|
|
1148
|
-
select_edge: bool
|
|
1149
|
-
""" UV edge select state.
|
|
1150
|
-
|
|
1151
|
-
:type: bool
|
|
1152
|
-
"""
|
|
1153
|
-
|
|
1154
1203
|
uv: mathutils.Vector
|
|
1155
1204
|
""" Loops UV (as a 2D Vector).
|
|
1156
1205
|
|
|
@@ -1269,7 +1318,7 @@ class BMVert:
|
|
|
1269
1318
|
|
|
1270
1319
|
:param vert_pair: The verts between which to interpolate data from.
|
|
1271
1320
|
:type vert_pair: collections.abc.Sequence[BMVert]
|
|
1272
|
-
:param fac:
|
|
1321
|
+
:param fac: The interpolation factor.
|
|
1273
1322
|
:type fac: float
|
|
1274
1323
|
"""
|
|
1275
1324
|
|
|
@@ -1355,7 +1404,7 @@ class BMVertSeq:
|
|
|
1355
1404
|
def remove(self, vert: BMVert) -> None:
|
|
1356
1405
|
"""Remove a vert.
|
|
1357
1406
|
|
|
1358
|
-
:param vert:
|
|
1407
|
+
:param vert: The vert to remove.
|
|
1359
1408
|
:type vert: BMVert
|
|
1360
1409
|
"""
|
|
1361
1410
|
|
|
@@ -1387,13 +1436,13 @@ class BMVertSeq:
|
|
|
1387
1436
|
"""
|
|
1388
1437
|
|
|
1389
1438
|
@typing.overload
|
|
1390
|
-
def __getitem__(self, key: slice) -> list[BMVert
|
|
1439
|
+
def __getitem__(self, key: slice) -> list[BMVert]:
|
|
1391
1440
|
"""
|
|
1392
1441
|
|
|
1393
1442
|
:param key:
|
|
1394
1443
|
:type key: slice
|
|
1395
1444
|
:return:
|
|
1396
|
-
:rtype: list[BMVert
|
|
1445
|
+
:rtype: list[BMVert]
|
|
1397
1446
|
"""
|
|
1398
1447
|
|
|
1399
1448
|
def __iter__(self) -> BMIter[BMVert]:
|
|
@@ -1452,6 +1501,12 @@ class BMesh:
|
|
|
1452
1501
|
select_mode: typing.Any
|
|
1453
1502
|
""" The selection mode, cannot be assigned an empty set."""
|
|
1454
1503
|
|
|
1504
|
+
uv_select_sync_valid: bool
|
|
1505
|
+
""" When true, the UV selection has been synchronized. Setting to False means the UV selection will be ignored. While setting to true is supported it is up to the script author to ensure a correct selection state before doing so.
|
|
1506
|
+
|
|
1507
|
+
:type: bool
|
|
1508
|
+
"""
|
|
1509
|
+
|
|
1455
1510
|
verts: BMVertSeq
|
|
1456
1511
|
""" This meshes vert sequence (read-only).
|
|
1457
1512
|
|
|
@@ -1500,9 +1555,9 @@ class BMesh:
|
|
|
1500
1555
|
|
|
1501
1556
|
:param mesh: The mesh data to load.
|
|
1502
1557
|
:type mesh: bpy.types.Mesh
|
|
1503
|
-
:param face_normals:
|
|
1558
|
+
:param face_normals: Calculate face normals.
|
|
1504
1559
|
:type face_normals: bool
|
|
1505
|
-
:param vertex_normals:
|
|
1560
|
+
:param vertex_normals: Calculate vertex normals.
|
|
1506
1561
|
:type vertex_normals: bool
|
|
1507
1562
|
:param use_shape_key: Use the locations from a shape key.
|
|
1508
1563
|
:type use_shape_key: bool
|
|
@@ -1523,7 +1578,7 @@ class BMesh:
|
|
|
1523
1578
|
|
|
1524
1579
|
:param object: The object data to load.
|
|
1525
1580
|
:type object: bpy.types.Object
|
|
1526
|
-
:param depsgraph:
|
|
1581
|
+
:param depsgraph: The dependency graph for evaluated data.
|
|
1527
1582
|
:type depsgraph: bpy.types.Depsgraph
|
|
1528
1583
|
:param cage: Get the mesh as a deformed cage.
|
|
1529
1584
|
:type cage: bool
|
|
@@ -1543,8 +1598,12 @@ class BMesh:
|
|
|
1543
1598
|
:type select: bool
|
|
1544
1599
|
"""
|
|
1545
1600
|
|
|
1546
|
-
def select_flush_mode(self) -> None:
|
|
1547
|
-
"""
|
|
1601
|
+
def select_flush_mode(self, *, flush_down: bool = False) -> None:
|
|
1602
|
+
"""Flush selection based on the current mode current `bmesh.types.BMesh.select_mode`.
|
|
1603
|
+
|
|
1604
|
+
:param flush_down: Flush selection down from faces to edges & verts or from edges to verts. This option is ignored when vertex selection mode is enabled.
|
|
1605
|
+
:type flush_down: bool
|
|
1606
|
+
"""
|
|
1548
1607
|
|
|
1549
1608
|
def to_mesh(self, mesh: bpy.types.Mesh) -> None:
|
|
1550
1609
|
"""Writes this BMesh data into an existing Mesh data-block.
|
|
@@ -1562,7 +1621,96 @@ class BMesh:
|
|
|
1562
1621
|
) -> None:
|
|
1563
1622
|
"""Transform the mesh (optionally filtering flagged data only).
|
|
1564
1623
|
|
|
1565
|
-
:param matrix:
|
|
1624
|
+
:param matrix: 4x4 transform matrix.
|
|
1566
1625
|
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1567
|
-
:param filter: Flag to filter vertices
|
|
1626
|
+
:param filter: Flag to filter vertices.
|
|
1627
|
+
"""
|
|
1628
|
+
|
|
1629
|
+
def uv_select_flush(self, select: bool) -> None:
|
|
1630
|
+
"""Flush selection from UV vertices to edges & faces independent of the selection mode.
|
|
1631
|
+
|
|
1632
|
+
:param select: Flush selection or de-selected elements.
|
|
1633
|
+
:type select: bool
|
|
1634
|
+
"""
|
|
1635
|
+
|
|
1636
|
+
def uv_select_flush_mode(self, *, flush_down: bool = False) -> None:
|
|
1637
|
+
"""Flush selection based on the current mode current `BMesh.select_mode`.
|
|
1638
|
+
|
|
1639
|
+
:param flush_down: Flush selection down from faces to edges & verts or from edges to verts. This option is ignored when vertex selection mode is enabled.
|
|
1640
|
+
:type flush_down: bool
|
|
1641
|
+
"""
|
|
1642
|
+
|
|
1643
|
+
def uv_select_flush_shared(self, select: bool) -> None:
|
|
1644
|
+
"""Flush selection from UV vertices to contiguous UVs independent of the selection mode.
|
|
1645
|
+
|
|
1646
|
+
:param select: Flush selection or de-selected elements.
|
|
1647
|
+
:type select: bool
|
|
1648
|
+
"""
|
|
1649
|
+
|
|
1650
|
+
def uv_select_foreach_set(
|
|
1651
|
+
self,
|
|
1652
|
+
select: bool,
|
|
1653
|
+
/,
|
|
1654
|
+
*,
|
|
1655
|
+
loop_verts: collections.abc.Iterable[BMLoop] = (),
|
|
1656
|
+
loop_edges: collections.abc.Iterable[BMLoop] = (),
|
|
1657
|
+
faces: collections.abc.Iterable[BMFace] = (),
|
|
1658
|
+
sticky_select_mode: typing.Literal[
|
|
1659
|
+
"SHARED_LOCATION", "DISABLED", "SHARED_VERTEX"
|
|
1660
|
+
] = "SHARED_LOCATION",
|
|
1661
|
+
) -> None:
|
|
1662
|
+
"""Set the UV selection state for loop-vertices, loop-edges & faces.This is a close equivalent to selecting in the UV editor.
|
|
1663
|
+
|
|
1664
|
+
:param select: The selection state to set.
|
|
1665
|
+
:type select: bool
|
|
1666
|
+
:param loop_verts: Loop verts to operate on.
|
|
1667
|
+
:type loop_verts: collections.abc.Iterable[BMLoop]
|
|
1668
|
+
:param loop_edges: Loop edges to operate on.
|
|
1669
|
+
:type loop_edges: collections.abc.Iterable[BMLoop]
|
|
1670
|
+
:param faces: Faces to operate on.
|
|
1671
|
+
:type faces: collections.abc.Iterable[BMFace]
|
|
1672
|
+
:param sticky_select_mode: See UV_STICKY_SELECT_MODE_REF.
|
|
1673
|
+
:type sticky_select_mode: typing.Literal['SHARED_LOCATION', 'DISABLED', 'SHARED_VERTEX']
|
|
1674
|
+
"""
|
|
1675
|
+
|
|
1676
|
+
def uv_select_foreach_set_from_mesh(
|
|
1677
|
+
self,
|
|
1678
|
+
select: bool,
|
|
1679
|
+
/,
|
|
1680
|
+
*,
|
|
1681
|
+
verts: collections.abc.Iterable[BMVert] = (),
|
|
1682
|
+
edges: collections.abc.Iterable[BMEdge] = (),
|
|
1683
|
+
faces: collections.abc.Iterable[BMFace] = (),
|
|
1684
|
+
sticky_select_mode: typing.Literal[
|
|
1685
|
+
"SHARED_LOCATION", "DISABLED", "SHARED_VERTEX"
|
|
1686
|
+
] = "SHARED_LOCATION",
|
|
1687
|
+
) -> None:
|
|
1688
|
+
"""Select or de-select mesh elements, updating the UV selection.An equivalent to selecting from the 3D viewport for selection operations that support maintaining a synchronized UV selection.
|
|
1689
|
+
|
|
1690
|
+
:param select: The selection state to set.
|
|
1691
|
+
:type select: bool
|
|
1692
|
+
:param verts: Verts to operate on.
|
|
1693
|
+
:type verts: collections.abc.Iterable[BMVert]
|
|
1694
|
+
:param edges: Edges to operate on.
|
|
1695
|
+
:type edges: collections.abc.Iterable[BMEdge]
|
|
1696
|
+
:param faces: Faces to operate on.
|
|
1697
|
+
:type faces: collections.abc.Iterable[BMFace]
|
|
1698
|
+
:param sticky_select_mode: See UV_STICKY_SELECT_MODE_REF.
|
|
1699
|
+
:type sticky_select_mode: typing.Literal['SHARED_LOCATION', 'DISABLED', 'SHARED_VERTEX']
|
|
1700
|
+
"""
|
|
1701
|
+
|
|
1702
|
+
def uv_select_sync_from_mesh(
|
|
1703
|
+
self,
|
|
1704
|
+
*,
|
|
1705
|
+
sticky_select_mode: typing.Literal[
|
|
1706
|
+
"SHARED_LOCATION", "DISABLED", "SHARED_VERTEX"
|
|
1707
|
+
] = "SHARED_LOCATION",
|
|
1708
|
+
) -> None:
|
|
1709
|
+
"""Sync selection from mesh to UVs.
|
|
1710
|
+
|
|
1711
|
+
:param sticky_select_mode: Behavior when flushing from the mesh to UV selection UV_STICKY_SELECT_MODE_REF. This should only be used when preparing to create a UV selection.
|
|
1712
|
+
:type sticky_select_mode: typing.Literal['SHARED_LOCATION', 'DISABLED', 'SHARED_VERTEX']
|
|
1568
1713
|
"""
|
|
1714
|
+
|
|
1715
|
+
def uv_select_sync_to_mesh(self) -> None:
|
|
1716
|
+
"""Sync selection from UVs to the mesh."""
|
bmesh/utils/__init__.pyi
CHANGED
|
@@ -39,11 +39,13 @@ def edge_split(
|
|
|
39
39
|
def face_flip(faces) -> None:
|
|
40
40
|
"""Flip the faces direction."""
|
|
41
41
|
|
|
42
|
-
def face_join(
|
|
42
|
+
def face_join(
|
|
43
|
+
faces: collections.abc.Sequence[bmesh.types.BMFace], remove: bool = True
|
|
44
|
+
) -> bmesh.types.BMFace:
|
|
43
45
|
"""Joins a sequence of faces.
|
|
44
46
|
|
|
45
47
|
:param faces: Sequence of faces.
|
|
46
|
-
:type faces: bmesh.types.BMFace
|
|
48
|
+
:type faces: collections.abc.Sequence[bmesh.types.BMFace]
|
|
47
49
|
:param remove: Remove the edges and vertices between the faces.
|
|
48
50
|
:type remove: bool
|
|
49
51
|
:return: The newly created face or None on failure.
|
|
@@ -82,7 +84,7 @@ def face_split_edgenet(
|
|
|
82
84
|
) -> tuple[bmesh.types.BMFace, ...]:
|
|
83
85
|
"""Splits a face into any number of regions defined by an edgenet.
|
|
84
86
|
|
|
85
|
-
:param face: The face to split.
|
|
87
|
+
:param face: The face to split.
|
|
86
88
|
:type face: bmesh.types.BMFace
|
|
87
89
|
:param edgenet: Sequence of edges.
|
|
88
90
|
:type edgenet: collections.abc.Sequence[bmesh.types.BMEdge]
|
|
@@ -112,6 +114,21 @@ def loop_separate(loop: bmesh.types.BMLoop) -> bmesh.types.BMVert:
|
|
|
112
114
|
:rtype: bmesh.types.BMVert
|
|
113
115
|
"""
|
|
114
116
|
|
|
117
|
+
def uv_select_check(
|
|
118
|
+
bm, /, *, sync: bool = True, flush: bool = False, contiguous: bool = False
|
|
119
|
+
) -> None | dict[str, int]:
|
|
120
|
+
"""Check UV selection state for consistency issues.
|
|
121
|
+
|
|
122
|
+
:param sync: Check the data is properly synchronized between UVs and the underlying mesh. Failure to synchronize with the mesh selection may cause tools not to behave properly.
|
|
123
|
+
:type sync: bool
|
|
124
|
+
:param flush: Check the selection has been properly flushed between elements (based on the current `BMesh.select_mode`).
|
|
125
|
+
:type flush: bool
|
|
126
|
+
:param contiguous: Check connected UVs and edges have a matching selection state.
|
|
127
|
+
:type contiguous: bool
|
|
128
|
+
:return: An error dictionary or None when there are no errors found.
|
|
129
|
+
:rtype: None | dict[str, int]
|
|
130
|
+
"""
|
|
131
|
+
|
|
115
132
|
def vert_collapse_edge(
|
|
116
133
|
vert: bmesh.types.BMVert, edge: bmesh.types.BMEdge
|
|
117
134
|
) -> bmesh.types.BMEdge:
|
|
@@ -152,14 +169,14 @@ def vert_dissolve(vert: bmesh.types.BMVert) -> bool:
|
|
|
152
169
|
"""
|
|
153
170
|
|
|
154
171
|
def vert_separate(
|
|
155
|
-
vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge
|
|
172
|
+
vert: bmesh.types.BMVert, edges: collections.abc.Sequence[bmesh.types.BMEdge]
|
|
156
173
|
) -> tuple[bmesh.types.BMVert, ...]:
|
|
157
174
|
"""Separate this vertex at every edge.
|
|
158
175
|
|
|
159
176
|
:param vert: The vert to be separated.
|
|
160
177
|
:type vert: bmesh.types.BMVert
|
|
161
178
|
:param edges: The edges to separated.
|
|
162
|
-
:type edges: bmesh.types.BMEdge
|
|
179
|
+
:type edges: collections.abc.Sequence[bmesh.types.BMEdge]
|
|
163
180
|
:return: The newly separated verts (including the vertex passed).
|
|
164
181
|
:rtype: tuple[bmesh.types.BMVert, ...]
|
|
165
182
|
"""
|