fake-bge-module 20250104__py3-none-any.whl → 20250202__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.
- addon_utils/__init__.pyi +11 -6
- aud/__init__.pyi +4 -0
- bge/types/__init__.pyi +66 -27
- bgl/__init__.pyi +2 -2
- bgui/image/__init__.pyi +3 -1
- bgui/system/__init__.pyi +12 -4
- bl_app_templates_system/Game_Engine/__init__.pyi +8 -0
- bl_app_templates_system/__init__.pyi +4 -0
- bl_app_templates_system/py.typed +0 -0
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +5 -2
- bl_console_utils/autocomplete/complete_import/__init__.pyi +6 -3
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +2 -1
- bl_console_utils/autocomplete/intellisense/__init__.pyi +8 -2
- bl_operators/node/__init__.pyi +78 -0
- bl_ui/anim/__init__.pyi +6 -0
- bl_ui/generic_ui_list/__init__.pyi +2 -2
- bl_ui/node_add_menu_shader/__init__.pyi +0 -1
- bl_ui/node_add_menu_texture/__init__.pyi +1 -0
- bl_ui/properties_data_camera/__init__.pyi +0 -2
- bl_ui/properties_mask_common/__init__.pyi +17 -0
- bl_ui/properties_material_gpencil/__init__.pyi +29 -0
- bl_ui/properties_scene/__init__.pyi +6 -0
- bl_ui/properties_view_layer/__init__.pyi +1 -0
- bl_ui/space_clip/__init__.pyi +53 -0
- bl_ui/space_graph/__init__.pyi +2 -0
- bl_ui/space_image/__init__.pyi +25 -0
- bl_ui/space_node/__init__.pyi +0 -1
- bl_ui/space_sequencer/__init__.pyi +2 -1
- blf/__init__.pyi +6 -3
- bmesh/ops/__init__.pyi +111 -54
- bmesh/types/__init__.pyi +134 -46
- bmesh/utils/__init__.pyi +17 -5
- bpy/__init__.pyi +1 -2
- bpy/_typing/__init__.pyi +4 -0
- bpy/{typing → _typing/rna_enums}/__init__.pyi +36 -36
- bpy/app/__init__.pyi +13 -5
- bpy/app/handlers/__init__.pyi +4 -2
- bpy/app/icons/__init__.pyi +6 -2
- bpy/app/translations/__init__.pyi +17 -8
- bpy/msgbus/__init__.pyi +14 -2
- bpy/ops/action/__init__.pyi +51 -151
- bpy/ops/anim/__init__.pyi +61 -179
- bpy/ops/armature/__init__.pyi +48 -147
- bpy/ops/asset/__init__.pyi +16 -71
- bpy/ops/boid/__init__.pyi +11 -44
- bpy/ops/brush/__init__.pyi +16 -42
- bpy/ops/buttons/__init__.pyi +6 -29
- bpy/ops/cachefile/__init__.pyi +5 -19
- bpy/ops/camera/__init__.pyi +2 -5
- bpy/ops/clip/__init__.pyi +95 -293
- bpy/ops/cloth/__init__.pyi +1 -3
- bpy/ops/collection/__init__.pyi +10 -26
- bpy/ops/console/__init__.pyi +21 -79
- bpy/ops/constraint/__init__.pyi +18 -45
- bpy/ops/curve/__init__.pyi +57 -186
- bpy/ops/curves/__init__.pyi +37 -109
- bpy/ops/cycles/__init__.pyi +3 -9
- bpy/ops/dpaint/__init__.pyi +8 -22
- bpy/ops/ed/__init__.pyi +20 -52
- bpy/ops/export_anim/__init__.pyi +1 -3
- bpy/ops/export_scene/__init__.pyi +55 -32
- bpy/ops/extensions/__init__.pyi +34 -110
- bpy/ops/file/__init__.pyi +40 -167
- bpy/ops/fluid/__init__.pyi +14 -77
- bpy/ops/font/__init__.pyi +23 -85
- bpy/ops/geometry/__init__.pyi +29 -46
- bpy/ops/gizmogroup/__init__.pyi +2 -9
- bpy/ops/gpencil/__init__.pyi +8 -32
- bpy/ops/graph/__init__.pyi +82 -201
- bpy/ops/grease_pencil/__init__.pyi +125 -324
- bpy/ops/image/__init__.pyi +61 -163
- bpy/ops/import_anim/__init__.pyi +1 -3
- bpy/ops/import_curve/__init__.pyi +1 -3
- bpy/ops/import_scene/__init__.pyi +4 -6
- bpy/ops/info/__init__.pyi +7 -29
- bpy/ops/lattice/__init__.pyi +11 -32
- bpy/ops/logic/__init__.pyi +26 -65
- bpy/ops/marker/__init__.pyi +11 -31
- bpy/ops/mask/__init__.pyi +39 -132
- bpy/ops/material/__init__.pyi +3 -19
- bpy/ops/mball/__init__.pyi +8 -19
- bpy/ops/mesh/__init__.pyi +223 -470
- bpy/ops/nla/__init__.pyi +42 -150
- bpy/ops/node/__init__.pyi +169 -393
- bpy/ops/object/__init__.pyi +320 -749
- bpy/ops/outliner/__init__.pyi +76 -268
- bpy/ops/paint/__init__.pyi +67 -147
- bpy/ops/paintcurve/__init__.pyi +8 -33
- bpy/ops/palette/__init__.pyi +7 -27
- bpy/ops/particle/__init__.pyi +39 -134
- bpy/ops/pose/__init__.pyi +64 -182
- bpy/ops/poselib/__init__.pyi +9 -33
- bpy/ops/preferences/__init__.pyi +35 -94
- bpy/ops/ptcache/__init__.pyi +7 -33
- bpy/ops/render/__init__.pyi +13 -37
- bpy/ops/rigidbody/__init__.pyi +22 -54
- bpy/ops/scene/__init__.pyi +47 -130
- bpy/ops/screen/__init__.pyi +46 -144
- bpy/ops/script/__init__.pyi +3 -11
- bpy/ops/sculpt/__init__.pyi +40 -94
- bpy/ops/sculpt_curves/__init__.pyi +4 -10
- bpy/ops/sequencer/__init__.pyi +104 -327
- bpy/ops/sound/__init__.pyi +17 -28
- bpy/ops/spreadsheet/__init__.pyi +4 -15
- bpy/ops/surface/__init__.pyi +6 -13
- bpy/ops/text/__init__.pyi +43 -175
- bpy/ops/text_editor/__init__.pyi +1 -3
- bpy/ops/texture/__init__.pyi +4 -21
- bpy/ops/transform/__init__.pyi +114 -134
- bpy/ops/ui/__init__.pyi +39 -120
- bpy/ops/uilist/__init__.pyi +3 -7
- bpy/ops/uv/__init__.pyi +58 -143
- bpy/ops/view2d/__init__.pyi +14 -39
- bpy/ops/view3d/__init__.pyi +68 -238
- bpy/ops/wm/__init__.pyi +178 -319
- bpy/ops/workspace/__init__.pyi +7 -33
- bpy/ops/world/__init__.pyi +2 -11
- bpy/path/__init__.pyi +16 -6
- bpy/props/__init__.pyi +157 -127
- bpy/types/__init__.pyi +35227 -34838
- bpy/utils/__init__.pyi +71 -25
- bpy/utils/previews/__init__.pyi +2 -1
- bpy/utils/units/__init__.pyi +2 -1
- bpy_extras/anim_utils/__init__.pyi +11 -3
- bpy_extras/bmesh_utils/__init__.pyi +2 -1
- bpy_extras/image_utils/__init__.pyi +5 -2
- bpy_extras/io_utils/__init__.pyi +12 -5
- bpy_extras/mesh_utils/__init__.pyi +27 -6
- bpy_extras/object_utils/__init__.pyi +6 -5
- bpy_extras/view3d_utils/__init__.pyi +9 -2
- {fake_bge_module-20250104.dist-info → fake_bge_module-20250202.dist-info}/METADATA +5 -4
- {fake_bge_module-20250104.dist-info → fake_bge_module-20250202.dist-info}/RECORD +156 -152
- {fake_bge_module-20250104.dist-info → fake_bge_module-20250202.dist-info}/WHEEL +1 -1
- {fake_bge_module-20250104.dist-info → fake_bge_module-20250202.dist-info}/top_level.txt +1 -0
- freestyle/chainingiterators/__init__.pyi +7 -2
- freestyle/functions/__init__.pyi +16 -4
- freestyle/shaders/__init__.pyi +5 -1
- freestyle/types/__init__.pyi +103 -30
- freestyle/utils/ContextFunctions/__init__.pyi +2 -2
- freestyle/utils/__init__.pyi +2 -1
- gpu/capabilities/__init__.pyi +2 -1
- gpu/matrix/__init__.pyi +4 -2
- gpu/state/__init__.pyi +2 -2
- gpu/types/__init__.pyi +40 -8
- gpu_extras/batch/__init__.pyi +13 -1
- gpu_extras/presets/__init__.pyi +10 -1
- idprop/types/__init__.pyi +4 -2
- imbuf/__init__.pyi +6 -3
- imbuf/types/__init__.pyi +5 -2
- mathutils/__init__.pyi +126 -35
- mathutils/bvhtree/__init__.pyi +21 -6
- mathutils/geometry/__init__.pyi +68 -22
- mathutils/interpolate/__init__.pyi +5 -1
- mathutils/kdtree/__init__.pyi +21 -8
- mathutils/noise/__init__.pyi +2 -1
- rna_info/__init__.pyi +2 -1
bmesh/types/__init__.pyi
CHANGED
|
@@ -29,7 +29,7 @@ class BMDeformVert:
|
|
|
29
29
|
def clear(self):
|
|
30
30
|
"""Clears all weights."""
|
|
31
31
|
|
|
32
|
-
def get(self, key: int, default=None):
|
|
32
|
+
def get(self, key: int, default: typing.Any | None = None):
|
|
33
33
|
"""Returns the deform weight matching the key or default
|
|
34
34
|
when not found (matches Python's dictionary function of the same name).
|
|
35
35
|
|
|
@@ -37,30 +37,34 @@ class BMDeformVert:
|
|
|
37
37
|
:type key: int
|
|
38
38
|
:param default: Optional argument for the value to return if
|
|
39
39
|
key is not found.
|
|
40
|
+
:type default: typing.Any | None
|
|
40
41
|
"""
|
|
41
42
|
|
|
42
|
-
def items(self):
|
|
43
|
+
def items(self) -> list[tuple[int, float]]:
|
|
43
44
|
"""Return (group, weight) pairs for this vertex
|
|
44
45
|
(matching Python's dict.items() functionality).
|
|
45
46
|
|
|
46
47
|
:return: (key, value) pairs for each deform weight of this vertex.
|
|
48
|
+
:rtype: list[tuple[int, float]]
|
|
47
49
|
"""
|
|
48
50
|
|
|
49
|
-
def keys(self):
|
|
51
|
+
def keys(self) -> list[int]:
|
|
50
52
|
"""Return the group indices used by this vertex
|
|
51
53
|
(matching Python's dict.keys() functionality).
|
|
52
54
|
|
|
53
55
|
:return: the deform group this vertex uses
|
|
56
|
+
:rtype: list[int]
|
|
54
57
|
"""
|
|
55
58
|
|
|
56
|
-
def values(self):
|
|
59
|
+
def values(self) -> list[float]:
|
|
57
60
|
"""Return the weights of the deform vertex
|
|
58
61
|
(matching Python's dict.values() functionality).
|
|
59
62
|
|
|
60
63
|
:return: The weights that influence this vertex
|
|
64
|
+
:rtype: list[float]
|
|
61
65
|
"""
|
|
62
66
|
|
|
63
|
-
class BMEdge
|
|
67
|
+
class BMEdge:
|
|
64
68
|
"""The BMesh edge connecting 2 verts"""
|
|
65
69
|
|
|
66
70
|
hide: bool
|
|
@@ -153,20 +157,22 @@ class BMEdge[_GenericType1]:
|
|
|
153
157
|
:type: BMElemSeq[BMVert]
|
|
154
158
|
"""
|
|
155
159
|
|
|
156
|
-
def calc_face_angle(self, fallback=None) -> float:
|
|
160
|
+
def calc_face_angle(self, fallback: typing.Any | None = None) -> float:
|
|
157
161
|
"""
|
|
158
162
|
|
|
159
163
|
:param fallback: return this when the edge doesn't have 2 faces
|
|
160
164
|
(instead of raising a `ValueError`).
|
|
165
|
+
:type fallback: typing.Any | None
|
|
161
166
|
:return: The angle between 2 connected faces in radians.
|
|
162
167
|
:rtype: float
|
|
163
168
|
"""
|
|
164
169
|
|
|
165
|
-
def calc_face_angle_signed(self, fallback=None) -> float:
|
|
170
|
+
def calc_face_angle_signed(self, fallback: typing.Any | None = None) -> float:
|
|
166
171
|
"""
|
|
167
172
|
|
|
168
173
|
:param fallback: return this when the edge doesn't have 2 faces
|
|
169
174
|
(instead of raising a `ValueError`).
|
|
175
|
+
:type fallback: typing.Any | None
|
|
170
176
|
:return: The angle between 2 connected faces in radians (negative for concave join).
|
|
171
177
|
:rtype: float
|
|
172
178
|
"""
|
|
@@ -206,12 +212,13 @@ class BMEdge[_GenericType1]:
|
|
|
206
212
|
def normal_update(self):
|
|
207
213
|
"""Update normals of all connected faces and the edge verts."""
|
|
208
214
|
|
|
209
|
-
def other_vert(self, vert: BMVert):
|
|
215
|
+
def other_vert(self, vert: BMVert) -> BMVert | None:
|
|
210
216
|
"""Return the other vertex on this edge or None if the vertex is not used by this edge.
|
|
211
217
|
|
|
212
218
|
:param vert: a vert in this edge.
|
|
213
219
|
:type vert: BMVert
|
|
214
220
|
:return: The edges other vert.
|
|
221
|
+
:rtype: BMVert | None
|
|
215
222
|
"""
|
|
216
223
|
|
|
217
224
|
def select_set(self, select: bool):
|
|
@@ -222,7 +229,9 @@ class BMEdge[_GenericType1]:
|
|
|
222
229
|
:type select: bool
|
|
223
230
|
"""
|
|
224
231
|
|
|
225
|
-
def __getitem__
|
|
232
|
+
def __getitem__[_GenericType1](
|
|
233
|
+
self, key: BMLayerItem[_GenericType1]
|
|
234
|
+
) -> _GenericType1:
|
|
226
235
|
"""
|
|
227
236
|
|
|
228
237
|
:param key:
|
|
@@ -231,7 +240,9 @@ class BMEdge[_GenericType1]:
|
|
|
231
240
|
:rtype: _GenericType1
|
|
232
241
|
"""
|
|
233
242
|
|
|
234
|
-
def __setitem__
|
|
243
|
+
def __setitem__[_GenericType1](
|
|
244
|
+
self, key: BMLayerItem[_GenericType1], value: _GenericType1
|
|
245
|
+
):
|
|
235
246
|
"""
|
|
236
247
|
|
|
237
248
|
:param key:
|
|
@@ -240,7 +251,7 @@ class BMEdge[_GenericType1]:
|
|
|
240
251
|
:type value: _GenericType1
|
|
241
252
|
"""
|
|
242
253
|
|
|
243
|
-
def __delitem__(self, key: BMLayerItem[_GenericType1]):
|
|
254
|
+
def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
|
|
244
255
|
"""
|
|
245
256
|
|
|
246
257
|
:param key:
|
|
@@ -257,10 +268,11 @@ class BMEdgeSeq:
|
|
|
257
268
|
def ensure_lookup_table(self):
|
|
258
269
|
"""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."""
|
|
259
270
|
|
|
260
|
-
def get(self, verts, fallback=None) -> BMEdge:
|
|
271
|
+
def get(self, verts: collections.abc.Sequence[BMVert], fallback=None) -> BMEdge:
|
|
261
272
|
"""Return an edge which uses the verts passed.
|
|
262
273
|
|
|
263
274
|
:param verts: Sequence of verts.
|
|
275
|
+
:type verts: collections.abc.Sequence[BMVert]
|
|
264
276
|
:param fallback: Return this value if nothing is found.
|
|
265
277
|
:return: The edge found or None
|
|
266
278
|
:rtype: BMEdge
|
|
@@ -269,10 +281,13 @@ class BMEdgeSeq:
|
|
|
269
281
|
def index_update(self):
|
|
270
282
|
"""Initialize the index values of this sequence.This is the equivalent of looping over all elements and assigning the index values."""
|
|
271
283
|
|
|
272
|
-
def new(
|
|
284
|
+
def new(
|
|
285
|
+
self, verts: collections.abc.Sequence[BMVert], example: BMEdge | None = None
|
|
286
|
+
) -> BMEdge:
|
|
273
287
|
"""Create a new edge from a given pair of verts.
|
|
274
288
|
|
|
275
289
|
:param verts: Vertex pair.
|
|
290
|
+
:type verts: collections.abc.Sequence[BMVert]
|
|
276
291
|
:param example: Existing edge to initialize settings (optional argument).
|
|
277
292
|
:type example: BMEdge | None
|
|
278
293
|
:return: The newly created edge.
|
|
@@ -286,12 +301,18 @@ class BMEdgeSeq:
|
|
|
286
301
|
:type edge: BMEdge
|
|
287
302
|
"""
|
|
288
303
|
|
|
289
|
-
def sort(
|
|
304
|
+
def sort(
|
|
305
|
+
self,
|
|
306
|
+
key: None
|
|
307
|
+
| collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
|
|
308
|
+
| None = None,
|
|
309
|
+
reverse: bool = False,
|
|
310
|
+
):
|
|
290
311
|
"""Sort the elements of this sequence, using an optional custom sort key.
|
|
291
312
|
Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
|
|
292
313
|
|
|
293
314
|
:param key: The key that sets the ordering of the elements.
|
|
294
|
-
:type key: collections.abc.Callable | None
|
|
315
|
+
:type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
|
|
295
316
|
:param reverse: Reverse the order of the elements
|
|
296
317
|
:type reverse: bool
|
|
297
318
|
"""
|
|
@@ -307,13 +328,13 @@ class BMEdgeSeq:
|
|
|
307
328
|
"""
|
|
308
329
|
|
|
309
330
|
@typing.overload
|
|
310
|
-
def __getitem__(self, key: slice) ->
|
|
331
|
+
def __getitem__(self, key: slice) -> list[BMEdge, ...]:
|
|
311
332
|
"""
|
|
312
333
|
|
|
313
334
|
:param key:
|
|
314
335
|
:type key: slice
|
|
315
336
|
:return:
|
|
316
|
-
:rtype:
|
|
337
|
+
:rtype: list[BMEdge, ...]
|
|
317
338
|
"""
|
|
318
339
|
|
|
319
340
|
def __iter__(self) -> BMIter[BMEdge]:
|
|
@@ -383,13 +404,13 @@ class BMElemSeq[_GenericType1]:
|
|
|
383
404
|
"""
|
|
384
405
|
|
|
385
406
|
@typing.overload
|
|
386
|
-
def __getitem__(self, key: slice) ->
|
|
407
|
+
def __getitem__(self, key: slice) -> list[_GenericType1, ...]:
|
|
387
408
|
"""
|
|
388
409
|
|
|
389
410
|
:param key:
|
|
390
411
|
:type key: slice
|
|
391
412
|
:return:
|
|
392
|
-
:rtype:
|
|
413
|
+
:rtype: list[_GenericType1, ...]
|
|
393
414
|
"""
|
|
394
415
|
|
|
395
416
|
def __iter__(self) -> BMIter[_GenericType1]:
|
|
@@ -406,7 +427,7 @@ class BMElemSeq[_GenericType1]:
|
|
|
406
427
|
:rtype: int
|
|
407
428
|
"""
|
|
408
429
|
|
|
409
|
-
class BMFace
|
|
430
|
+
class BMFace:
|
|
410
431
|
"""The BMesh face with 3 or more sides"""
|
|
411
432
|
|
|
412
433
|
edges: BMElemSeq[BMEdge]
|
|
@@ -590,7 +611,9 @@ class BMFace[_GenericType1]:
|
|
|
590
611
|
:type select: bool
|
|
591
612
|
"""
|
|
592
613
|
|
|
593
|
-
def __getitem__
|
|
614
|
+
def __getitem__[_GenericType1](
|
|
615
|
+
self, key: BMLayerItem[_GenericType1]
|
|
616
|
+
) -> _GenericType1:
|
|
594
617
|
"""
|
|
595
618
|
|
|
596
619
|
:param key:
|
|
@@ -599,7 +622,9 @@ class BMFace[_GenericType1]:
|
|
|
599
622
|
:rtype: _GenericType1
|
|
600
623
|
"""
|
|
601
624
|
|
|
602
|
-
def __setitem__
|
|
625
|
+
def __setitem__[_GenericType1](
|
|
626
|
+
self, key: BMLayerItem[_GenericType1], value: _GenericType1
|
|
627
|
+
):
|
|
603
628
|
"""
|
|
604
629
|
|
|
605
630
|
:param key:
|
|
@@ -608,7 +633,7 @@ class BMFace[_GenericType1]:
|
|
|
608
633
|
:type value: _GenericType1
|
|
609
634
|
"""
|
|
610
635
|
|
|
611
|
-
def __delitem__(self, key: BMLayerItem[_GenericType1]):
|
|
636
|
+
def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
|
|
612
637
|
"""
|
|
613
638
|
|
|
614
639
|
:param key:
|
|
@@ -631,10 +656,11 @@ class BMFaceSeq:
|
|
|
631
656
|
def ensure_lookup_table(self):
|
|
632
657
|
"""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."""
|
|
633
658
|
|
|
634
|
-
def get(self, verts, fallback=None) -> BMFace:
|
|
659
|
+
def get(self, verts: collections.abc.Sequence[BMVert], fallback=None) -> BMFace:
|
|
635
660
|
"""Return a face which uses the verts passed.
|
|
636
661
|
|
|
637
662
|
:param verts: Sequence of verts.
|
|
663
|
+
:type verts: collections.abc.Sequence[BMVert]
|
|
638
664
|
:param fallback: Return this value if nothing is found.
|
|
639
665
|
:return: The face found or None
|
|
640
666
|
:rtype: BMFace
|
|
@@ -643,10 +669,13 @@ class BMFaceSeq:
|
|
|
643
669
|
def index_update(self):
|
|
644
670
|
"""Initialize the index values of this sequence.This is the equivalent of looping over all elements and assigning the index values."""
|
|
645
671
|
|
|
646
|
-
def new(
|
|
672
|
+
def new(
|
|
673
|
+
self, verts: collections.abc.Sequence[BMVert], example: BMFace | None = None
|
|
674
|
+
) -> BMFace:
|
|
647
675
|
"""Create a new face from a given set of verts.
|
|
648
676
|
|
|
649
677
|
:param verts: Sequence of 3 or more verts.
|
|
678
|
+
:type verts: collections.abc.Sequence[BMVert]
|
|
650
679
|
:param example: Existing face to initialize settings (optional argument).
|
|
651
680
|
:type example: BMFace | None
|
|
652
681
|
:return: The newly created face.
|
|
@@ -660,12 +689,18 @@ class BMFaceSeq:
|
|
|
660
689
|
:type face: BMFace
|
|
661
690
|
"""
|
|
662
691
|
|
|
663
|
-
def sort(
|
|
692
|
+
def sort(
|
|
693
|
+
self,
|
|
694
|
+
key: None
|
|
695
|
+
| collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
|
|
696
|
+
| None = None,
|
|
697
|
+
reverse: bool = False,
|
|
698
|
+
):
|
|
664
699
|
"""Sort the elements of this sequence, using an optional custom sort key.
|
|
665
700
|
Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
|
|
666
701
|
|
|
667
702
|
:param key: The key that sets the ordering of the elements.
|
|
668
|
-
:type key: collections.abc.Callable | None
|
|
703
|
+
:type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
|
|
669
704
|
:param reverse: Reverse the order of the elements
|
|
670
705
|
:type reverse: bool
|
|
671
706
|
"""
|
|
@@ -681,13 +716,13 @@ class BMFaceSeq:
|
|
|
681
716
|
"""
|
|
682
717
|
|
|
683
718
|
@typing.overload
|
|
684
|
-
def __getitem__(self, key: slice) ->
|
|
719
|
+
def __getitem__(self, key: slice) -> list[BMFace, ...]:
|
|
685
720
|
"""
|
|
686
721
|
|
|
687
722
|
:param key:
|
|
688
723
|
:type key: slice
|
|
689
724
|
:return:
|
|
690
|
-
:rtype:
|
|
725
|
+
:rtype: list[BMFace, ...]
|
|
691
726
|
"""
|
|
692
727
|
|
|
693
728
|
def __iter__(self) -> BMIter[BMFace]:
|
|
@@ -950,11 +985,12 @@ class BMLayerCollection[_GenericType1]:
|
|
|
950
985
|
:rtype: list[str, BMLayerItem[_GenericType1]]
|
|
951
986
|
"""
|
|
952
987
|
|
|
953
|
-
def keys(self):
|
|
988
|
+
def keys(self) -> list[str]:
|
|
954
989
|
"""Return the identifiers of collection members
|
|
955
990
|
(matching Python's dict.keys() functionality).
|
|
956
991
|
|
|
957
992
|
:return: the identifiers for each member of this collection.
|
|
993
|
+
:rtype: list[str]
|
|
958
994
|
"""
|
|
959
995
|
|
|
960
996
|
def new(self, name: str | None = "") -> BMLayerItem[_GenericType1]:
|
|
@@ -1004,7 +1040,7 @@ class BMLayerItem[_GenericType1]:
|
|
|
1004
1040
|
:type other: typing_extensions.Self
|
|
1005
1041
|
"""
|
|
1006
1042
|
|
|
1007
|
-
class BMLoop
|
|
1043
|
+
class BMLoop:
|
|
1008
1044
|
"""This is normally accessed from `BMFace.loops` where each face loop represents a corner of the face."""
|
|
1009
1045
|
|
|
1010
1046
|
edge: BMEdge
|
|
@@ -1123,7 +1159,9 @@ class BMLoop[_GenericType1]:
|
|
|
1123
1159
|
:type multires: bool
|
|
1124
1160
|
"""
|
|
1125
1161
|
|
|
1126
|
-
def __getitem__
|
|
1162
|
+
def __getitem__[_GenericType1](
|
|
1163
|
+
self, key: BMLayerItem[_GenericType1]
|
|
1164
|
+
) -> _GenericType1:
|
|
1127
1165
|
"""
|
|
1128
1166
|
|
|
1129
1167
|
:param key:
|
|
@@ -1132,7 +1170,9 @@ class BMLoop[_GenericType1]:
|
|
|
1132
1170
|
:rtype: _GenericType1
|
|
1133
1171
|
"""
|
|
1134
1172
|
|
|
1135
|
-
def __setitem__
|
|
1173
|
+
def __setitem__[_GenericType1](
|
|
1174
|
+
self, key: BMLayerItem[_GenericType1], value: _GenericType1
|
|
1175
|
+
):
|
|
1136
1176
|
"""
|
|
1137
1177
|
|
|
1138
1178
|
:param key:
|
|
@@ -1141,7 +1181,7 @@ class BMLoop[_GenericType1]:
|
|
|
1141
1181
|
:type value: _GenericType1
|
|
1142
1182
|
"""
|
|
1143
1183
|
|
|
1144
|
-
def __delitem__(self, key: BMLayerItem[_GenericType1]):
|
|
1184
|
+
def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
|
|
1145
1185
|
"""
|
|
1146
1186
|
|
|
1147
1187
|
:param key:
|
|
@@ -1155,6 +1195,40 @@ class BMLoopSeq:
|
|
|
1155
1195
|
:type: BMLayerAccessLoop
|
|
1156
1196
|
"""
|
|
1157
1197
|
|
|
1198
|
+
@typing.overload
|
|
1199
|
+
def __getitem__(self, key: int) -> BMLoop:
|
|
1200
|
+
"""
|
|
1201
|
+
|
|
1202
|
+
:param key:
|
|
1203
|
+
:type key: int
|
|
1204
|
+
:return:
|
|
1205
|
+
:rtype: BMLoop
|
|
1206
|
+
"""
|
|
1207
|
+
|
|
1208
|
+
@typing.overload
|
|
1209
|
+
def __getitem__(self, key: slice) -> list[BMLoop, ...]:
|
|
1210
|
+
"""
|
|
1211
|
+
|
|
1212
|
+
:param key:
|
|
1213
|
+
:type key: slice
|
|
1214
|
+
:return:
|
|
1215
|
+
:rtype: list[BMLoop, ...]
|
|
1216
|
+
"""
|
|
1217
|
+
|
|
1218
|
+
def __iter__(self) -> BMIter[BMLoop]:
|
|
1219
|
+
"""
|
|
1220
|
+
|
|
1221
|
+
:return:
|
|
1222
|
+
:rtype: BMIter[BMLoop]
|
|
1223
|
+
"""
|
|
1224
|
+
|
|
1225
|
+
def __len__(self) -> int:
|
|
1226
|
+
"""
|
|
1227
|
+
|
|
1228
|
+
:return:
|
|
1229
|
+
:rtype: int
|
|
1230
|
+
"""
|
|
1231
|
+
|
|
1158
1232
|
class BMLoopUV:
|
|
1159
1233
|
pin_uv: bool
|
|
1160
1234
|
""" UV pin state.
|
|
@@ -1180,7 +1254,7 @@ class BMLoopUV:
|
|
|
1180
1254
|
:type: mathutils.Vector
|
|
1181
1255
|
"""
|
|
1182
1256
|
|
|
1183
|
-
class BMVert
|
|
1257
|
+
class BMVert:
|
|
1184
1258
|
"""The BMesh vertex type"""
|
|
1185
1259
|
|
|
1186
1260
|
co: mathutils.Vector
|
|
@@ -1261,11 +1335,12 @@ class BMVert[_GenericType1]:
|
|
|
1261
1335
|
:type: bool
|
|
1262
1336
|
"""
|
|
1263
1337
|
|
|
1264
|
-
def calc_edge_angle(self, fallback=None) -> float:
|
|
1338
|
+
def calc_edge_angle(self, fallback: typing.Any | None = None) -> float:
|
|
1265
1339
|
"""Return the angle between this vert's two connected edges.
|
|
1266
1340
|
|
|
1267
1341
|
:param fallback: return this when the vert doesn't have 2 edges
|
|
1268
1342
|
(instead of raising a `ValueError`).
|
|
1343
|
+
:type fallback: typing.Any | None
|
|
1269
1344
|
:return: Angle between edges in radians.
|
|
1270
1345
|
:rtype: float
|
|
1271
1346
|
"""
|
|
@@ -1293,10 +1368,13 @@ class BMVert[_GenericType1]:
|
|
|
1293
1368
|
:type face: BMFace
|
|
1294
1369
|
"""
|
|
1295
1370
|
|
|
1296
|
-
def copy_from_vert_interp(
|
|
1371
|
+
def copy_from_vert_interp(
|
|
1372
|
+
self, vert_pair: collections.abc.Sequence[BMVert], fac: float
|
|
1373
|
+
):
|
|
1297
1374
|
"""Interpolate the customdata from a vert between 2 other verts.
|
|
1298
1375
|
|
|
1299
1376
|
:param vert_pair: The verts between which to interpolate data from.
|
|
1377
|
+
:type vert_pair: collections.abc.Sequence[BMVert]
|
|
1300
1378
|
:param fac:
|
|
1301
1379
|
:type fac: float
|
|
1302
1380
|
"""
|
|
@@ -1323,7 +1401,9 @@ class BMVert[_GenericType1]:
|
|
|
1323
1401
|
:type select: bool
|
|
1324
1402
|
"""
|
|
1325
1403
|
|
|
1326
|
-
def __getitem__
|
|
1404
|
+
def __getitem__[_GenericType1](
|
|
1405
|
+
self, key: BMLayerItem[_GenericType1]
|
|
1406
|
+
) -> _GenericType1:
|
|
1327
1407
|
"""
|
|
1328
1408
|
|
|
1329
1409
|
:param key:
|
|
@@ -1332,7 +1412,9 @@ class BMVert[_GenericType1]:
|
|
|
1332
1412
|
:rtype: _GenericType1
|
|
1333
1413
|
"""
|
|
1334
1414
|
|
|
1335
|
-
def __setitem__
|
|
1415
|
+
def __setitem__[_GenericType1](
|
|
1416
|
+
self, key: BMLayerItem[_GenericType1], value: _GenericType1
|
|
1417
|
+
):
|
|
1336
1418
|
"""
|
|
1337
1419
|
|
|
1338
1420
|
:param key:
|
|
@@ -1341,7 +1423,7 @@ class BMVert[_GenericType1]:
|
|
|
1341
1423
|
:type value: _GenericType1
|
|
1342
1424
|
"""
|
|
1343
1425
|
|
|
1344
|
-
def __delitem__(self, key: BMLayerItem[_GenericType1]):
|
|
1426
|
+
def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
|
|
1345
1427
|
"""
|
|
1346
1428
|
|
|
1347
1429
|
:param key:
|
|
@@ -1383,12 +1465,18 @@ class BMVertSeq:
|
|
|
1383
1465
|
:type vert: BMVert
|
|
1384
1466
|
"""
|
|
1385
1467
|
|
|
1386
|
-
def sort(
|
|
1468
|
+
def sort(
|
|
1469
|
+
self,
|
|
1470
|
+
key: None
|
|
1471
|
+
| collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
|
|
1472
|
+
| None = None,
|
|
1473
|
+
reverse: bool = False,
|
|
1474
|
+
):
|
|
1387
1475
|
"""Sort the elements of this sequence, using an optional custom sort key.
|
|
1388
1476
|
Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
|
|
1389
1477
|
|
|
1390
1478
|
:param key: The key that sets the ordering of the elements.
|
|
1391
|
-
:type key: collections.abc.Callable | None
|
|
1479
|
+
:type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
|
|
1392
1480
|
:param reverse: Reverse the order of the elements
|
|
1393
1481
|
:type reverse: bool
|
|
1394
1482
|
"""
|
|
@@ -1404,13 +1492,13 @@ class BMVertSeq:
|
|
|
1404
1492
|
"""
|
|
1405
1493
|
|
|
1406
1494
|
@typing.overload
|
|
1407
|
-
def __getitem__(self, key: slice) ->
|
|
1495
|
+
def __getitem__(self, key: slice) -> list[BMVert, ...]:
|
|
1408
1496
|
"""
|
|
1409
1497
|
|
|
1410
1498
|
:param key:
|
|
1411
1499
|
:type key: slice
|
|
1412
1500
|
:return:
|
|
1413
|
-
:rtype:
|
|
1501
|
+
:rtype: list[BMVert, ...]
|
|
1414
1502
|
"""
|
|
1415
1503
|
|
|
1416
1504
|
def __iter__(self) -> BMIter[BMVert]:
|
|
@@ -1478,11 +1566,11 @@ class BMesh:
|
|
|
1478
1566
|
:type: BMVertSeq
|
|
1479
1567
|
"""
|
|
1480
1568
|
|
|
1481
|
-
def calc_loop_triangles(self) -> BMLoop:
|
|
1569
|
+
def calc_loop_triangles(self) -> list[tuple[BMLoop, BMLoop, BMLoop]]:
|
|
1482
1570
|
"""Calculate triangle tessellation from quads/ngons.
|
|
1483
1571
|
|
|
1484
1572
|
:return: The triangulated faces.
|
|
1485
|
-
:rtype: BMLoop
|
|
1573
|
+
:rtype: list[tuple[BMLoop, BMLoop, BMLoop]]
|
|
1486
1574
|
"""
|
|
1487
1575
|
|
|
1488
1576
|
def calc_volume(self, signed: bool = False) -> float:
|
bmesh/utils/__init__.pyi
CHANGED
|
@@ -20,7 +20,9 @@ def edge_rotate(edge: bmesh.types.BMEdge, ccw: bool = False) -> bmesh.types.BMEd
|
|
|
20
20
|
:rtype: bmesh.types.BMEdge
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
def edge_split(
|
|
23
|
+
def edge_split(
|
|
24
|
+
edge: bmesh.types.BMEdge, vert: bmesh.types.BMVert, fac: float
|
|
25
|
+
) -> tuple[bmesh.types.BMEdge, bmesh.types.BMVert]:
|
|
24
26
|
"""Split an edge, return the newly created data.
|
|
25
27
|
|
|
26
28
|
:param edge: The edge to split.
|
|
@@ -30,6 +32,7 @@ def edge_split(edge: bmesh.types.BMEdge, vert: bmesh.types.BMVert, fac: float):
|
|
|
30
32
|
:param fac: The point on the edge where the new vert will be created [0 - 1].
|
|
31
33
|
:type fac: float
|
|
32
34
|
:return: The newly created (edge, vert) pair.
|
|
35
|
+
:rtype: tuple[bmesh.types.BMEdge, bmesh.types.BMVert]
|
|
33
36
|
"""
|
|
34
37
|
|
|
35
38
|
def face_flip(faces):
|
|
@@ -50,10 +53,10 @@ def face_split(
|
|
|
50
53
|
face: bmesh.types.BMFace,
|
|
51
54
|
vert_a: bmesh.types.BMVert,
|
|
52
55
|
vert_b: bmesh.types.BMVert,
|
|
53
|
-
coords=(),
|
|
56
|
+
coords: collections.abc.Sequence[collections.abc.Sequence[float]] = (),
|
|
54
57
|
use_exist: bool = True,
|
|
55
58
|
example: bmesh.types.BMEdge | None = None,
|
|
56
|
-
):
|
|
59
|
+
) -> tuple[bmesh.types.BMFace, bmesh.types.BMLoop]:
|
|
57
60
|
"""Face split with optional intermediate points.
|
|
58
61
|
|
|
59
62
|
:param face: The face to cut.
|
|
@@ -63,20 +66,26 @@ def face_split(
|
|
|
63
66
|
:param vert_b: Second vertex to cut in the face (face must contain the vert).
|
|
64
67
|
:type vert_b: bmesh.types.BMVert
|
|
65
68
|
:param coords: Optional sequence of 3D points in between vert_a and vert_b.
|
|
69
|
+
:type coords: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
66
70
|
:param use_exist: .Use an existing edge if it exists (Only used when coords argument is empty or omitted)
|
|
67
71
|
:type use_exist: bool
|
|
68
72
|
:param example: Newly created edge will copy settings from this one.
|
|
69
73
|
:type example: bmesh.types.BMEdge | None
|
|
70
74
|
:return: The newly created face or None on failure.
|
|
75
|
+
:rtype: tuple[bmesh.types.BMFace, bmesh.types.BMLoop]
|
|
71
76
|
"""
|
|
72
77
|
|
|
73
|
-
def face_split_edgenet(
|
|
78
|
+
def face_split_edgenet(
|
|
79
|
+
face: bmesh.types.BMFace, edgenet: collections.abc.Sequence[bmesh.types.BMEdge]
|
|
80
|
+
) -> tuple[bmesh.types.BMFace, ...]:
|
|
74
81
|
"""Splits a face into any number of regions defined by an edgenet.
|
|
75
82
|
|
|
76
83
|
:param face: The face to split.The face to split.
|
|
77
84
|
:type face: bmesh.types.BMFace
|
|
78
85
|
:param edgenet: Sequence of edges.
|
|
86
|
+
:type edgenet: collections.abc.Sequence[bmesh.types.BMEdge]
|
|
79
87
|
:return: The newly created faces.
|
|
88
|
+
:rtype: tuple[bmesh.types.BMFace, ...]
|
|
80
89
|
"""
|
|
81
90
|
|
|
82
91
|
def face_vert_separate(
|
|
@@ -140,7 +149,9 @@ def vert_dissolve(vert: bmesh.types.BMVert) -> bool:
|
|
|
140
149
|
:rtype: bool
|
|
141
150
|
"""
|
|
142
151
|
|
|
143
|
-
def vert_separate(
|
|
152
|
+
def vert_separate(
|
|
153
|
+
vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge
|
|
154
|
+
) -> tuple[bmesh.types.BMVert, ...]:
|
|
144
155
|
"""Separate this vertex at every edge.
|
|
145
156
|
|
|
146
157
|
:param vert: The vert to be separated.
|
|
@@ -148,6 +159,7 @@ def vert_separate(vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge):
|
|
|
148
159
|
:param edges: The edges to separated.
|
|
149
160
|
:type edges: bmesh.types.BMEdge
|
|
150
161
|
:return: The newly separated verts (including the vertex passed).
|
|
162
|
+
:rtype: tuple[bmesh.types.BMVert, ...]
|
|
151
163
|
"""
|
|
152
164
|
|
|
153
165
|
def vert_splice(vert: bmesh.types.BMVert, vert_target: bmesh.types.BMVert):
|
bpy/__init__.pyi
CHANGED
|
@@ -16,10 +16,9 @@ from . import ops as ops
|
|
|
16
16
|
from . import path as path
|
|
17
17
|
from . import props as props
|
|
18
18
|
from . import types as types
|
|
19
|
-
from . import typing as typing
|
|
20
19
|
from . import utils as utils
|
|
21
20
|
|
|
22
|
-
context: bpy.types.Context
|
|
21
|
+
context: bpy.types.Context
|
|
23
22
|
|
|
24
23
|
data: bpy.types.BlendData
|
|
25
24
|
""" Access to Blender's internal data
|
bpy/_typing/__init__.pyi
ADDED