fake-bpy-module 20240801__py3-none-any.whl → 20240802__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fake-bpy-module might be problematic. Click here for more details.
- bmesh/ops/__init__.pyi +28 -28
- bmesh/types/__init__.pyi +5 -5
- bmesh/utils/__init__.pyi +2 -2
- bpy/path/__init__.pyi +33 -39
- bpy/props/__init__.pyi +4 -4
- bpy/types/__init__.pyi +2 -2
- bpy/utils/__init__.pyi +71 -81
- {fake_bpy_module-20240801.dist-info → fake_bpy_module-20240802.dist-info}/METADATA +1 -1
- {fake_bpy_module-20240801.dist-info → fake_bpy_module-20240802.dist-info}/RECORD +16 -16
- freestyle/functions/__init__.pyi +47 -19
- freestyle/predicates/__init__.pyi +1 -1
- gpu/types/__init__.pyi +4 -6
- imbuf/__init__.pyi +2 -2
- mathutils/bvhtree/__init__.pyi +1 -1
- {fake_bpy_module-20240801.dist-info → fake_bpy_module-20240802.dist-info}/WHEEL +0 -0
- {fake_bpy_module-20240801.dist-info → fake_bpy_module-20240802.dist-info}/top_level.txt +0 -0
bmesh/ops/__init__.pyi
CHANGED
|
@@ -175,8 +175,8 @@ def bisect_plane(
|
|
|
175
175
|
| list[bmesh.types.BMFace]
|
|
176
176
|
| list[bmesh.types.BMVert] = [],
|
|
177
177
|
dist: float = 0,
|
|
178
|
-
plane_co: collections.abc.Sequence[float] | mathutils.Vector =
|
|
179
|
-
plane_no: collections.abc.Sequence[float] | mathutils.Vector =
|
|
178
|
+
plane_co: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
179
|
+
plane_no: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
180
180
|
use_snap_center: bool = False,
|
|
181
181
|
clear_outer: bool = False,
|
|
182
182
|
clear_inner: bool = False,
|
|
@@ -462,7 +462,7 @@ def create_circle(
|
|
|
462
462
|
segments: int = 0,
|
|
463
463
|
radius: float = 0,
|
|
464
464
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
465
|
-
| mathutils.Matrix =
|
|
465
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
466
466
|
calc_uvs: bool = False,
|
|
467
467
|
) -> dict[str, typing.Any]:
|
|
468
468
|
"""Creates a Circle.
|
|
@@ -498,7 +498,7 @@ def create_cone(
|
|
|
498
498
|
radius2: float = 0,
|
|
499
499
|
depth: float = 0,
|
|
500
500
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
501
|
-
| mathutils.Matrix =
|
|
501
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
502
502
|
calc_uvs: bool = False,
|
|
503
503
|
) -> dict[str, typing.Any]:
|
|
504
504
|
"""Create Cone.Creates a cone with variable depth at both ends
|
|
@@ -533,7 +533,7 @@ def create_cube(
|
|
|
533
533
|
bm: bmesh.types.BMesh,
|
|
534
534
|
size: float = 0,
|
|
535
535
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
536
|
-
| mathutils.Matrix =
|
|
536
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
537
537
|
calc_uvs: bool = False,
|
|
538
538
|
) -> dict[str, typing.Any]:
|
|
539
539
|
"""Create CubeCreates a cube.
|
|
@@ -560,7 +560,7 @@ def create_grid(
|
|
|
560
560
|
y_segments: int = 0,
|
|
561
561
|
size: float = 0,
|
|
562
562
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
563
|
-
| mathutils.Matrix =
|
|
563
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
564
564
|
calc_uvs: bool = False,
|
|
565
565
|
) -> dict[str, typing.Any]:
|
|
566
566
|
"""Create Grid.Creates a grid with a variable number of subdivisions
|
|
@@ -590,7 +590,7 @@ def create_icosphere(
|
|
|
590
590
|
subdivisions: int = 0,
|
|
591
591
|
radius: float = 0,
|
|
592
592
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
593
|
-
| mathutils.Matrix =
|
|
593
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
594
594
|
calc_uvs: bool = False,
|
|
595
595
|
) -> dict[str, typing.Any]:
|
|
596
596
|
"""Create Ico-Sphere.Creates a grid with a variable number of subdivisions
|
|
@@ -616,7 +616,7 @@ def create_icosphere(
|
|
|
616
616
|
def create_monkey(
|
|
617
617
|
bm: bmesh.types.BMesh,
|
|
618
618
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
619
|
-
| mathutils.Matrix =
|
|
619
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
620
620
|
calc_uvs: bool = False,
|
|
621
621
|
) -> dict[str, typing.Any]:
|
|
622
622
|
"""Create Suzanne.Creates a monkey (standard blender primitive).
|
|
@@ -641,7 +641,7 @@ def create_uvsphere(
|
|
|
641
641
|
v_segments: int = 0,
|
|
642
642
|
radius: float = 0,
|
|
643
643
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
644
|
-
| mathutils.Matrix =
|
|
644
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
645
645
|
calc_uvs: bool = False,
|
|
646
646
|
) -> dict[str, typing.Any]:
|
|
647
647
|
"""Create UV Sphere.Creates a grid with a variable number of subdivisions
|
|
@@ -668,7 +668,7 @@ def create_uvsphere(
|
|
|
668
668
|
|
|
669
669
|
def create_vert(
|
|
670
670
|
bm: bmesh.types.BMesh,
|
|
671
|
-
co: collections.abc.Sequence[float] | mathutils.Vector =
|
|
671
|
+
co: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
672
672
|
) -> dict[str, typing.Any]:
|
|
673
673
|
"""Make Vertex.Creates a single vertex; this BMOP was necessary
|
|
674
674
|
for click-create-vertex.
|
|
@@ -1297,7 +1297,7 @@ def mirror(
|
|
|
1297
1297
|
| list[bmesh.types.BMFace]
|
|
1298
1298
|
| list[bmesh.types.BMVert] = [],
|
|
1299
1299
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
1300
|
-
| mathutils.Matrix =
|
|
1300
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
1301
1301
|
merge_dist: float = 0,
|
|
1302
1302
|
axis: str = "X",
|
|
1303
1303
|
mirror_u: bool = False,
|
|
@@ -1399,7 +1399,7 @@ def planar_faces(
|
|
|
1399
1399
|
def pointmerge(
|
|
1400
1400
|
bm: bmesh.types.BMesh,
|
|
1401
1401
|
verts: list[bmesh.types.BMVert] = [],
|
|
1402
|
-
merge_co: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1402
|
+
merge_co: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1403
1403
|
):
|
|
1404
1404
|
"""Point Merge.Merge verts together at a point.
|
|
1405
1405
|
|
|
@@ -1566,12 +1566,12 @@ def reverse_uvs(bm: bmesh.types.BMesh, faces: list[bmesh.types.BMFace] = []):
|
|
|
1566
1566
|
|
|
1567
1567
|
def rotate(
|
|
1568
1568
|
bm: bmesh.types.BMesh,
|
|
1569
|
-
cent: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1569
|
+
cent: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1570
1570
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
1571
|
-
| mathutils.Matrix =
|
|
1571
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
1572
1572
|
verts: list[bmesh.types.BMVert] = [],
|
|
1573
1573
|
space: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
1574
|
-
| mathutils.Matrix =
|
|
1574
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
1575
1575
|
use_shapekey: bool = False,
|
|
1576
1576
|
):
|
|
1577
1577
|
"""Rotate.Rotate vertices around a center, using a 3x3 rotation matrix.
|
|
@@ -1649,9 +1649,9 @@ def rotate_uvs(
|
|
|
1649
1649
|
|
|
1650
1650
|
def scale(
|
|
1651
1651
|
bm: bmesh.types.BMesh,
|
|
1652
|
-
vec: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1652
|
+
vec: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1653
1653
|
space: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
1654
|
-
| mathutils.Matrix =
|
|
1654
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
1655
1655
|
verts: list[bmesh.types.BMVert] = [],
|
|
1656
1656
|
use_shapekey: bool = False,
|
|
1657
1657
|
):
|
|
@@ -1770,12 +1770,12 @@ def spin(
|
|
|
1770
1770
|
geom: list[bmesh.types.BMEdge]
|
|
1771
1771
|
| list[bmesh.types.BMFace]
|
|
1772
1772
|
| list[bmesh.types.BMVert] = [],
|
|
1773
|
-
cent: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1774
|
-
axis: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1775
|
-
dvec: collections.abc.Sequence[float] | mathutils.Vector =
|
|
1773
|
+
cent: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1774
|
+
axis: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1775
|
+
dvec: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
1776
1776
|
angle: float = 0,
|
|
1777
1777
|
space: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
1778
|
-
| mathutils.Matrix =
|
|
1778
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
1779
1779
|
steps: int = 0,
|
|
1780
1780
|
use_merge: bool = False,
|
|
1781
1781
|
use_normal_flip: bool = False,
|
|
@@ -1852,7 +1852,7 @@ def split(
|
|
|
1852
1852
|
def split_edges(
|
|
1853
1853
|
bm: bmesh.types.BMesh,
|
|
1854
1854
|
edges: list[bmesh.types.BMEdge] = [],
|
|
1855
|
-
verts: list[bmesh.types.BMVert]
|
|
1855
|
+
verts: list[bmesh.types.BMVert] = [],
|
|
1856
1856
|
use_verts: bool = False,
|
|
1857
1857
|
) -> dict[str, typing.Any]:
|
|
1858
1858
|
"""Edge Split.Disconnects faces along input edges.
|
|
@@ -1862,7 +1862,7 @@ def split_edges(
|
|
|
1862
1862
|
:param edges: input edges
|
|
1863
1863
|
:type edges: list[bmesh.types.BMEdge]
|
|
1864
1864
|
:param verts: optional tag verts, use to have greater control of splits
|
|
1865
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1865
|
+
:type verts: list[bmesh.types.BMVert]
|
|
1866
1866
|
:param use_verts: use 'verts' for splitting, else just find verts to split from edges
|
|
1867
1867
|
:type use_verts: bool
|
|
1868
1868
|
:return: edges: old output disconnected edges
|
|
@@ -2008,9 +2008,9 @@ def symmetrize(
|
|
|
2008
2008
|
def transform(
|
|
2009
2009
|
bm: bmesh.types.BMesh,
|
|
2010
2010
|
matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
2011
|
-
| mathutils.Matrix =
|
|
2011
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
2012
2012
|
space: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
2013
|
-
| mathutils.Matrix =
|
|
2013
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
2014
2014
|
verts: list[bmesh.types.BMVert] = [],
|
|
2015
2015
|
use_shapekey: bool = False,
|
|
2016
2016
|
):
|
|
@@ -2033,9 +2033,9 @@ def transform(
|
|
|
2033
2033
|
|
|
2034
2034
|
def translate(
|
|
2035
2035
|
bm: bmesh.types.BMesh,
|
|
2036
|
-
vec: collections.abc.Sequence[float] | mathutils.Vector =
|
|
2036
|
+
vec: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
2037
2037
|
space: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
2038
|
-
| mathutils.Matrix =
|
|
2038
|
+
| mathutils.Matrix = mathutils.Matrix.Identity(4),
|
|
2039
2039
|
verts: list[bmesh.types.BMVert] = [],
|
|
2040
2040
|
use_shapekey: bool = False,
|
|
2041
2041
|
):
|
|
@@ -2060,7 +2060,7 @@ def triangle_fill(
|
|
|
2060
2060
|
use_beauty: bool = False,
|
|
2061
2061
|
use_dissolve: bool = False,
|
|
2062
2062
|
edges: list[bmesh.types.BMEdge] = [],
|
|
2063
|
-
normal: collections.abc.Sequence[float] | mathutils.Vector =
|
|
2063
|
+
normal: collections.abc.Sequence[float] | mathutils.Vector = mathutils.Vector(),
|
|
2064
2064
|
) -> dict[str, typing.Any]:
|
|
2065
2065
|
"""Triangle Fill.Fill edges with triangles
|
|
2066
2066
|
|
bmesh/types/__init__.pyi
CHANGED
|
@@ -1204,16 +1204,16 @@ class BMLoop:
|
|
|
1204
1204
|
...
|
|
1205
1205
|
|
|
1206
1206
|
def copy_from_face_interp(
|
|
1207
|
-
self, face: BMFace, vert: bool
|
|
1207
|
+
self, face: BMFace, vert: bool = True, multires: bool = True
|
|
1208
1208
|
):
|
|
1209
1209
|
"""Interpolate the customdata from a face onto this loop (the loops vert should overlap the face).
|
|
1210
1210
|
|
|
1211
1211
|
:param face: The face to interpolate data from.
|
|
1212
1212
|
:type face: BMFace
|
|
1213
1213
|
:param vert: When enabled, interpolate the loops vertex data (optional).
|
|
1214
|
-
:type vert: bool
|
|
1214
|
+
:type vert: bool
|
|
1215
1215
|
:param multires: When enabled, interpolate the loops multires data (optional).
|
|
1216
|
-
:type multires: bool
|
|
1216
|
+
:type multires: bool
|
|
1217
1217
|
"""
|
|
1218
1218
|
...
|
|
1219
1219
|
|
|
@@ -1475,13 +1475,13 @@ class BMVertSeq:
|
|
|
1475
1475
|
|
|
1476
1476
|
def new(
|
|
1477
1477
|
self,
|
|
1478
|
-
co: collections.abc.Sequence[float] | mathutils.Vector
|
|
1478
|
+
co: collections.abc.Sequence[float] | mathutils.Vector = (0.0, 0.0, 0.0),
|
|
1479
1479
|
example: BMVert = None,
|
|
1480
1480
|
) -> BMVert:
|
|
1481
1481
|
"""Create a new vertex.
|
|
1482
1482
|
|
|
1483
1483
|
:param co: The initial location of the vertex (optional argument).
|
|
1484
|
-
:type co: collections.abc.Sequence[float] | mathutils.Vector
|
|
1484
|
+
:type co: collections.abc.Sequence[float] | mathutils.Vector
|
|
1485
1485
|
:param example: Existing vert to initialize settings.
|
|
1486
1486
|
:type example: BMVert
|
|
1487
1487
|
:return: The newly created vertex.
|
bmesh/utils/__init__.pyi
CHANGED
|
@@ -62,7 +62,7 @@ def face_split(
|
|
|
62
62
|
face: bmesh.types.BMFace,
|
|
63
63
|
vert_a: bmesh.types.BMVert,
|
|
64
64
|
vert_b: bmesh.types.BMVert,
|
|
65
|
-
coords: list[float]
|
|
65
|
+
coords: list[float] = (),
|
|
66
66
|
use_exist: bool = True,
|
|
67
67
|
example: bmesh.types.BMEdge = None,
|
|
68
68
|
) -> tuple[bmesh.types.BMFace, bmesh.types.BMLoop]:
|
|
@@ -75,7 +75,7 @@ def face_split(
|
|
|
75
75
|
:param vert_b: Second vertex to cut in the face (face must contain the vert).
|
|
76
76
|
:type vert_b: bmesh.types.BMVert
|
|
77
77
|
:param coords: Optional argument to define points in between vert_a and vert_b.
|
|
78
|
-
:type coords: list[float]
|
|
78
|
+
:type coords: list[float]
|
|
79
79
|
:param use_exist: .Use an existing edge if it exists (Only used when coords argument is empty or omitted)
|
|
80
80
|
:type use_exist: bool
|
|
81
81
|
:param example: Newly created edge will copy settings from this one.
|
bpy/path/__init__.pyi
CHANGED
|
@@ -13,17 +13,17 @@ GenericType1 = typing.TypeVar("GenericType1")
|
|
|
13
13
|
GenericType2 = typing.TypeVar("GenericType2")
|
|
14
14
|
|
|
15
15
|
def abspath(
|
|
16
|
-
path, *, start: bytes | str
|
|
16
|
+
path, *, start: bytes | str = None, library: bpy.types.Library = None
|
|
17
17
|
) -> str:
|
|
18
18
|
"""Returns the absolute path relative to the current blend file
|
|
19
19
|
using the "//" prefix.
|
|
20
20
|
|
|
21
21
|
:param start: Relative to this path,
|
|
22
22
|
when not set the current filename is used.
|
|
23
|
-
:type start: bytes | str
|
|
23
|
+
:type start: bytes | str
|
|
24
24
|
:param library: The library this path is from. This is only included for
|
|
25
25
|
convenience, when the library is not None its path replaces start.
|
|
26
|
-
:type library: bpy.types.Library
|
|
26
|
+
:type library: bpy.types.Library
|
|
27
27
|
:return: The absolute path.
|
|
28
28
|
:rtype: str
|
|
29
29
|
"""
|
|
@@ -39,155 +39,149 @@ def basename(path) -> str:
|
|
|
39
39
|
|
|
40
40
|
...
|
|
41
41
|
|
|
42
|
-
def clean_name(name: bytes | str
|
|
42
|
+
def clean_name(name: bytes | str, *, replace: str = "_") -> str:
|
|
43
43
|
"""Returns a name with characters replaced that
|
|
44
44
|
may cause problems under various circumstances,
|
|
45
45
|
such as writing to a file.All characters besides A-Z/a-z, 0-9 are replaced with "_"
|
|
46
46
|
or the replace argument if defined.
|
|
47
47
|
|
|
48
48
|
:param name: The path name.
|
|
49
|
-
:type name: bytes | str
|
|
49
|
+
:type name: bytes | str
|
|
50
50
|
:param replace: The replacement for non-valid characters.
|
|
51
|
-
:type replace: str
|
|
51
|
+
:type replace: str
|
|
52
52
|
:return: The cleaned name.
|
|
53
53
|
:rtype: str
|
|
54
54
|
"""
|
|
55
55
|
|
|
56
56
|
...
|
|
57
57
|
|
|
58
|
-
def display_name(
|
|
59
|
-
name: str | None, *, has_ext: bool | None = True, title_case: bool | None = True
|
|
60
|
-
) -> str:
|
|
58
|
+
def display_name(name: str, *, has_ext: bool = True, title_case: bool = True) -> str:
|
|
61
59
|
"""Creates a display string from name to be used menus and the user interface.
|
|
62
60
|
Intended for use with filenames and module names.
|
|
63
61
|
|
|
64
62
|
:param name: The name to be used for displaying the user interface.
|
|
65
|
-
:type name: str
|
|
63
|
+
:type name: str
|
|
66
64
|
:param has_ext: Remove file extension from name.
|
|
67
|
-
:type has_ext: bool
|
|
65
|
+
:type has_ext: bool
|
|
68
66
|
:param title_case: Convert lowercase names to title case.
|
|
69
|
-
:type title_case: bool
|
|
67
|
+
:type title_case: bool
|
|
70
68
|
:return: The display string.
|
|
71
69
|
:rtype: str
|
|
72
70
|
"""
|
|
73
71
|
|
|
74
72
|
...
|
|
75
73
|
|
|
76
|
-
def display_name_from_filepath(name: str
|
|
74
|
+
def display_name_from_filepath(name: str) -> str:
|
|
77
75
|
"""Returns the path stripped of directory and extension,
|
|
78
76
|
ensured to be utf8 compatible.
|
|
79
77
|
|
|
80
78
|
:param name: The file path to convert.
|
|
81
|
-
:type name: str
|
|
79
|
+
:type name: str
|
|
82
80
|
:return: The display name.
|
|
83
81
|
:rtype: str
|
|
84
82
|
"""
|
|
85
83
|
|
|
86
84
|
...
|
|
87
85
|
|
|
88
|
-
def display_name_to_filepath(name: str
|
|
86
|
+
def display_name_to_filepath(name: str) -> str:
|
|
89
87
|
"""Performs the reverse of display_name using literal versions of characters
|
|
90
88
|
which aren't supported in a filepath.
|
|
91
89
|
|
|
92
90
|
:param name: The display name to convert.
|
|
93
|
-
:type name: str
|
|
91
|
+
:type name: str
|
|
94
92
|
:return: The file path.
|
|
95
93
|
:rtype: str
|
|
96
94
|
"""
|
|
97
95
|
|
|
98
96
|
...
|
|
99
97
|
|
|
100
|
-
def ensure_ext(
|
|
101
|
-
filepath: str | None, ext: str | None, *, case_sensitive: bool | None = False
|
|
102
|
-
) -> str:
|
|
98
|
+
def ensure_ext(filepath: str, ext: str, *, case_sensitive: bool = False) -> str:
|
|
103
99
|
"""Return the path with the extension added if it is not already set.
|
|
104
100
|
|
|
105
101
|
:param filepath: The file path.
|
|
106
|
-
:type filepath: str
|
|
102
|
+
:type filepath: str
|
|
107
103
|
:param ext: The extension to check for, can be a compound extension. Should
|
|
108
104
|
start with a dot, such as '.blend' or '.tar.gz'.
|
|
109
|
-
:type ext: str
|
|
105
|
+
:type ext: str
|
|
110
106
|
:param case_sensitive: Check for matching case when comparing extensions.
|
|
111
|
-
:type case_sensitive: bool
|
|
107
|
+
:type case_sensitive: bool
|
|
112
108
|
:return: The file path with the given extension.
|
|
113
109
|
:rtype: str
|
|
114
110
|
"""
|
|
115
111
|
|
|
116
112
|
...
|
|
117
113
|
|
|
118
|
-
def is_subdir(path: bytes | str
|
|
114
|
+
def is_subdir(path: bytes | str, directory) -> bool:
|
|
119
115
|
"""Returns true if path in a subdirectory of directory.
|
|
120
116
|
Both paths must be absolute.
|
|
121
117
|
|
|
122
118
|
:param path: An absolute path.
|
|
123
|
-
:type path: bytes | str
|
|
119
|
+
:type path: bytes | str
|
|
124
120
|
:return: Whether or not the path is a subdirectory.
|
|
125
121
|
:rtype: bool
|
|
126
122
|
"""
|
|
127
123
|
|
|
128
124
|
...
|
|
129
125
|
|
|
130
|
-
def module_names(
|
|
131
|
-
path: str | None, *, recursive: bool | None = False, package: str | None = ""
|
|
132
|
-
) -> list[str]:
|
|
126
|
+
def module_names(path: str, *, recursive: bool = False, package: str = "") -> list[str]:
|
|
133
127
|
"""Return a list of modules which can be imported from path.
|
|
134
128
|
|
|
135
129
|
:param path: a directory to scan.
|
|
136
|
-
:type path: str
|
|
130
|
+
:type path: str
|
|
137
131
|
:param recursive: Also return submodule names for packages.
|
|
138
|
-
:type recursive: bool
|
|
132
|
+
:type recursive: bool
|
|
139
133
|
:param package: Optional string, used as the prefix for module names (without the trailing ".").
|
|
140
|
-
:type package: str
|
|
134
|
+
:type package: str
|
|
141
135
|
:return: a list of string pairs (module_name, module_file).
|
|
142
136
|
:rtype: list[str]
|
|
143
137
|
"""
|
|
144
138
|
|
|
145
139
|
...
|
|
146
140
|
|
|
147
|
-
def native_pathsep(path: str
|
|
141
|
+
def native_pathsep(path: str) -> str:
|
|
148
142
|
"""Replace the path separator with the systems native os.sep.
|
|
149
143
|
|
|
150
144
|
:param path: The path to replace.
|
|
151
|
-
:type path: str
|
|
145
|
+
:type path: str
|
|
152
146
|
:return: The path with system native separators.
|
|
153
147
|
:rtype: str
|
|
154
148
|
"""
|
|
155
149
|
|
|
156
150
|
...
|
|
157
151
|
|
|
158
|
-
def reduce_dirs(dirs: list[str]
|
|
152
|
+
def reduce_dirs(dirs: list[str]) -> list[str]:
|
|
159
153
|
"""Given a sequence of directories, remove duplicates and
|
|
160
154
|
any directories nested in one of the other paths.
|
|
161
155
|
(Useful for recursive path searching).
|
|
162
156
|
|
|
163
157
|
:param dirs: Sequence of directory paths.
|
|
164
|
-
:type dirs: list[str]
|
|
158
|
+
:type dirs: list[str]
|
|
165
159
|
:return: A unique list of paths.
|
|
166
160
|
:rtype: list[str]
|
|
167
161
|
"""
|
|
168
162
|
|
|
169
163
|
...
|
|
170
164
|
|
|
171
|
-
def relpath(path: bytes | str
|
|
165
|
+
def relpath(path: bytes | str, *, start: bytes | str = None) -> str:
|
|
172
166
|
"""Returns the path relative to the current blend file using the "//" prefix.
|
|
173
167
|
|
|
174
168
|
:param path: An absolute path.
|
|
175
|
-
:type path: bytes | str
|
|
169
|
+
:type path: bytes | str
|
|
176
170
|
:param start: Relative to this path,
|
|
177
171
|
when not set the current filename is used.
|
|
178
|
-
:type start: bytes | str
|
|
172
|
+
:type start: bytes | str
|
|
179
173
|
:return: The relative path.
|
|
180
174
|
:rtype: str
|
|
181
175
|
"""
|
|
182
176
|
|
|
183
177
|
...
|
|
184
178
|
|
|
185
|
-
def resolve_ncase(path: str
|
|
179
|
+
def resolve_ncase(path: str) -> str:
|
|
186
180
|
"""Resolve a case insensitive path on a case sensitive system,
|
|
187
181
|
returning a string with the path if found else return the original path.
|
|
188
182
|
|
|
189
183
|
:param path: The path name to resolve.
|
|
190
|
-
:type path: str
|
|
184
|
+
:type path: str
|
|
191
185
|
:return: The resolved path.
|
|
192
186
|
:rtype: str
|
|
193
187
|
"""
|
bpy/props/__init__.pyi
CHANGED
|
@@ -388,10 +388,10 @@ def FloatVectorProperty(
|
|
|
388
388
|
description: str | None = "",
|
|
389
389
|
translation_context: str | None = "*",
|
|
390
390
|
default: collections.abc.Sequence | None = (0.0, 0.0, 0.0),
|
|
391
|
-
min: float | None =
|
|
392
|
-
max: float | None =
|
|
393
|
-
soft_min: float | None =
|
|
394
|
-
soft_max: float | None =
|
|
391
|
+
min: float | None = sys.float_info.min,
|
|
392
|
+
max: float | None = sys.float_info.max,
|
|
393
|
+
soft_min: float | None = sys.float_info.min,
|
|
394
|
+
soft_max: float | None = sys.float_info.max,
|
|
395
395
|
step: int | None = 3,
|
|
396
396
|
precision: int | None = 2,
|
|
397
397
|
options: set | None = {"ANIMATABLE"},
|
bpy/types/__init__.pyi
CHANGED
|
@@ -99010,7 +99010,7 @@ class bpy_struct(typing.Generic[GenericType1]):
|
|
|
99010
99010
|
self,
|
|
99011
99011
|
data_path: str | None,
|
|
99012
99012
|
index: int | None = -1,
|
|
99013
|
-
frame: float | None =
|
|
99013
|
+
frame: float | None = bpy.context.scene.frame_current,
|
|
99014
99014
|
group: str | None = "",
|
|
99015
99015
|
) -> bool:
|
|
99016
99016
|
"""Remove a keyframe from this properties fcurve.
|
|
@@ -99032,7 +99032,7 @@ class bpy_struct(typing.Generic[GenericType1]):
|
|
|
99032
99032
|
self,
|
|
99033
99033
|
data_path: str | None,
|
|
99034
99034
|
index: int | None = -1,
|
|
99035
|
-
frame: float | None =
|
|
99035
|
+
frame: float | None = bpy.context.scene.frame_current,
|
|
99036
99036
|
group: str | None = "",
|
|
99037
99037
|
options: set | None = set(),
|
|
99038
99038
|
keytype: str | None = "KEYFRAME",
|
bpy/utils/__init__.pyi
CHANGED
|
@@ -30,82 +30,78 @@ def app_template_paths(*, path: str | None = None):
|
|
|
30
30
|
...
|
|
31
31
|
|
|
32
32
|
def blend_paths(
|
|
33
|
-
absolute: bool
|
|
34
|
-
packed: bool | None = False,
|
|
35
|
-
local: bool | None = False,
|
|
33
|
+
absolute: bool = False, packed: bool = False, local: bool = False
|
|
36
34
|
) -> list[str]:
|
|
37
35
|
"""Returns a list of paths to external files referenced by the loaded .blend file.
|
|
38
36
|
|
|
39
37
|
:param absolute: When true the paths returned are made absolute.
|
|
40
|
-
:type absolute: bool
|
|
38
|
+
:type absolute: bool
|
|
41
39
|
:param packed: When true skip file paths for packed data.
|
|
42
|
-
:type packed: bool
|
|
40
|
+
:type packed: bool
|
|
43
41
|
:param local: When true skip linked library paths.
|
|
44
|
-
:type local: bool
|
|
42
|
+
:type local: bool
|
|
45
43
|
:return: path list.
|
|
46
44
|
:rtype: list[str]
|
|
47
45
|
"""
|
|
48
46
|
|
|
49
47
|
...
|
|
50
48
|
|
|
51
|
-
def escape_identifier(string: str
|
|
49
|
+
def escape_identifier(string: str) -> str:
|
|
52
50
|
"""Simple string escaping function used for animation paths.
|
|
53
51
|
|
|
54
52
|
:param string: text
|
|
55
|
-
:type string: str
|
|
53
|
+
:type string: str
|
|
56
54
|
:return: The escaped string.
|
|
57
55
|
:rtype: str
|
|
58
56
|
"""
|
|
59
57
|
|
|
60
58
|
...
|
|
61
59
|
|
|
62
|
-
def execfile(filepath: str
|
|
60
|
+
def execfile(filepath: str, *, mod=None):
|
|
63
61
|
"""Execute a file path as a Python script.
|
|
64
62
|
|
|
65
63
|
:param filepath: Path of the script to execute.
|
|
66
|
-
:type filepath: str
|
|
64
|
+
:type filepath: str
|
|
67
65
|
:param mod: Optional cached module, the result of a previous execution.
|
|
68
66
|
:return: The module which can be passed back in as mod.
|
|
69
67
|
"""
|
|
70
68
|
|
|
71
69
|
...
|
|
72
70
|
|
|
73
|
-
def extension_path_user(
|
|
74
|
-
package: str | None, *, path: str | None = "", create: bool | None = False
|
|
75
|
-
) -> str:
|
|
71
|
+
def extension_path_user(package: str, *, path: str = "", create: bool = False) -> str:
|
|
76
72
|
"""Return a user writable directory associated with an extension.
|
|
77
73
|
|
|
78
74
|
:param package: The __package__ of the extension.
|
|
79
|
-
:type package: str
|
|
75
|
+
:type package: str
|
|
80
76
|
:param path: Optional subdirectory.
|
|
81
|
-
:type path: str
|
|
77
|
+
:type path: str
|
|
82
78
|
:param create: Treat the path as a directory and create it if its not existing.
|
|
83
|
-
:type create: bool
|
|
79
|
+
:type create: bool
|
|
84
80
|
:return: a path.
|
|
85
81
|
:rtype: str
|
|
86
82
|
"""
|
|
87
83
|
|
|
88
84
|
...
|
|
89
85
|
|
|
90
|
-
def flip_name(name: str
|
|
86
|
+
def flip_name(name: str, strip_digits: bool = False) -> str:
|
|
91
87
|
"""Flip a name between left/right sides, useful for
|
|
92
88
|
mirroring bone names.
|
|
93
89
|
|
|
94
90
|
:param name: Bone name to flip.
|
|
95
|
-
:type name: str
|
|
91
|
+
:type name: str
|
|
96
92
|
:param strip_digits: Whether to remove .### suffix.
|
|
97
|
-
:type strip_digits: bool
|
|
93
|
+
:type strip_digits: bool
|
|
98
94
|
:return: The flipped name.
|
|
99
95
|
:rtype: str
|
|
100
96
|
"""
|
|
101
97
|
|
|
102
98
|
...
|
|
103
99
|
|
|
104
|
-
def is_path_builtin(path: str
|
|
100
|
+
def is_path_builtin(path: str) -> bool:
|
|
105
101
|
"""Returns True if the path is one of the built-in paths used by Blender.
|
|
106
102
|
|
|
107
103
|
:param path: Path you want to check if it is in the built-in settings directory
|
|
108
|
-
:type path: str
|
|
104
|
+
:type path: str
|
|
109
105
|
:rtype: bool
|
|
110
106
|
"""
|
|
111
107
|
|
|
@@ -115,45 +111,43 @@ def keyconfig_init(): ...
|
|
|
115
111
|
def keyconfig_set(filepath, *, report=None): ...
|
|
116
112
|
def load_scripts(
|
|
117
113
|
*,
|
|
118
|
-
reload_scripts: bool
|
|
119
|
-
refresh_scripts: bool
|
|
120
|
-
extensions: bool
|
|
114
|
+
reload_scripts: bool = False,
|
|
115
|
+
refresh_scripts: bool = False,
|
|
116
|
+
extensions: bool = True,
|
|
121
117
|
):
|
|
122
118
|
"""Load scripts and run each modules register function.
|
|
123
119
|
|
|
124
120
|
:param reload_scripts: Causes all scripts to have their unregister method
|
|
125
121
|
called before loading.
|
|
126
|
-
:type reload_scripts: bool
|
|
122
|
+
:type reload_scripts: bool
|
|
127
123
|
:param refresh_scripts: only load scripts which are not already loaded
|
|
128
124
|
as modules.
|
|
129
|
-
:type refresh_scripts: bool
|
|
125
|
+
:type refresh_scripts: bool
|
|
130
126
|
:param extensions: Loads additional scripts (add-ons & app-templates).
|
|
131
|
-
:type extensions: bool
|
|
127
|
+
:type extensions: bool
|
|
132
128
|
"""
|
|
133
129
|
|
|
134
130
|
...
|
|
135
131
|
|
|
136
|
-
def load_scripts_extensions(*, reload_scripts: bool
|
|
132
|
+
def load_scripts_extensions(*, reload_scripts: bool = False):
|
|
137
133
|
"""Load extensions scripts (add-ons and app-templates)
|
|
138
134
|
|
|
139
135
|
:param reload_scripts: Causes all scripts to have their unregister method
|
|
140
136
|
called before loading.
|
|
141
|
-
:type reload_scripts: bool
|
|
137
|
+
:type reload_scripts: bool
|
|
142
138
|
"""
|
|
143
139
|
|
|
144
140
|
...
|
|
145
141
|
|
|
146
|
-
def make_rna_paths(
|
|
147
|
-
struct_name: str | None, prop_name: str | None, enum_name: str | None
|
|
148
|
-
):
|
|
142
|
+
def make_rna_paths(struct_name: str, prop_name: str, enum_name: str):
|
|
149
143
|
"""Create RNA "paths" from given names.
|
|
150
144
|
|
|
151
145
|
:param struct_name: Name of a RNA struct (like e.g. "Scene").
|
|
152
|
-
:type struct_name: str
|
|
146
|
+
:type struct_name: str
|
|
153
147
|
:param prop_name: Name of a RNA struct's property.
|
|
154
|
-
:type prop_name: str
|
|
148
|
+
:type prop_name: str
|
|
155
149
|
:param enum_name: Name of a RNA enum identifier.
|
|
156
|
-
:type enum_name: str
|
|
150
|
+
:type enum_name: str
|
|
157
151
|
:return: A triple of three "RNA paths"
|
|
158
152
|
(most_complete_path, "struct.prop", "struct.prop:'enum'").
|
|
159
153
|
If no enum_name is given, the third element will always be void.
|
|
@@ -172,14 +166,14 @@ def manual_language_code(default="en") -> str:
|
|
|
172
166
|
...
|
|
173
167
|
|
|
174
168
|
def manual_map(): ...
|
|
175
|
-
def modules_from_path(path: str
|
|
169
|
+
def modules_from_path(path: str, loaded_modules: set) -> list:
|
|
176
170
|
"""Load all modules in a path and return them as a list.
|
|
177
171
|
|
|
178
172
|
:param path: this path is scanned for scripts and packages.
|
|
179
|
-
:type path: str
|
|
173
|
+
:type path: str
|
|
180
174
|
:param loaded_modules: already loaded module names, files matching these
|
|
181
175
|
names will be ignored.
|
|
182
|
-
:type loaded_modules: set
|
|
176
|
+
:type loaded_modules: set
|
|
183
177
|
:return: all loaded modules.
|
|
184
178
|
:rtype: list
|
|
185
179
|
"""
|
|
@@ -187,11 +181,11 @@ def modules_from_path(path: str | None, loaded_modules: set | None) -> list:
|
|
|
187
181
|
...
|
|
188
182
|
|
|
189
183
|
def preset_find(name, preset_path, *, display_name=False, ext=".py"): ...
|
|
190
|
-
def preset_paths(subdir: str
|
|
184
|
+
def preset_paths(subdir: str) -> list:
|
|
191
185
|
"""Returns a list of paths for a specific preset.
|
|
192
186
|
|
|
193
187
|
:param subdir: preset subdirectory (must not be an absolute path).
|
|
194
|
-
:type subdir: str
|
|
188
|
+
:type subdir: str
|
|
195
189
|
:return: script paths.
|
|
196
190
|
:rtype: list
|
|
197
191
|
"""
|
|
@@ -224,7 +218,7 @@ def register_classes_factory(classes):
|
|
|
224
218
|
|
|
225
219
|
...
|
|
226
220
|
|
|
227
|
-
def register_cli_command(id: str
|
|
221
|
+
def register_cli_command(id: str, execute: collections.abc.Callable):
|
|
228
222
|
"""Register a command, accessible via the (-c / --command) command-line argument.Custom CommandsRegistering commands makes it possible to conveniently expose command line
|
|
229
223
|
functionality via commands passed to (-c / --command).Using Python Argument ParsingThis example shows how the Python argparse module can be used with a custom command.Using argparse is generally recommended as it has many useful utilities and
|
|
230
224
|
generates a --help message for your command.
|
|
@@ -232,18 +226,18 @@ def register_cli_command(id: str | None, execute: collections.abc.Callable | Non
|
|
|
232
226
|
:param id: The command identifier (must pass an str.isidentifier check).
|
|
233
227
|
|
|
234
228
|
If the id is already registered, a warning is printed and the command is inaccessible to prevent accidents invoking the wrong command.
|
|
235
|
-
:type id: str
|
|
229
|
+
:type id: str
|
|
236
230
|
:param execute: Callback, taking a single list of strings and returns an int.
|
|
237
231
|
The arguments are built from all command-line arguments following the command id.
|
|
238
232
|
The return value should be 0 for success, 1 on failure (specific error codes from the os module can also be used).
|
|
239
|
-
:type execute: collections.abc.Callable
|
|
233
|
+
:type execute: collections.abc.Callable
|
|
240
234
|
:return: The command handle which can be passed to `unregister_cli_command`.
|
|
241
235
|
"""
|
|
242
236
|
|
|
243
237
|
...
|
|
244
238
|
|
|
245
239
|
def register_manual_map(manual_hook): ...
|
|
246
|
-
def register_preset_path(path: str
|
|
240
|
+
def register_preset_path(path: str) -> bool:
|
|
247
241
|
"""Register a preset search path.
|
|
248
242
|
|
|
249
243
|
:param path: preset directory (must be an absolute path).
|
|
@@ -254,55 +248,53 @@ def register_preset_path(path: str | None) -> bool:
|
|
|
254
248
|
When the __init__.py is in the same location as a presets directory.
|
|
255
249
|
For example an operators preset would be located under: presets/operator/{operator.id}/
|
|
256
250
|
where operator.id is the bl_idname of the operator.
|
|
257
|
-
:type path: str
|
|
251
|
+
:type path: str
|
|
258
252
|
:return: success
|
|
259
253
|
:rtype: bool
|
|
260
254
|
"""
|
|
261
255
|
|
|
262
256
|
...
|
|
263
257
|
|
|
264
|
-
def register_submodule_factory(
|
|
265
|
-
module_name: str | None, submodule_names: list[str] | None
|
|
266
|
-
):
|
|
258
|
+
def register_submodule_factory(module_name: str, submodule_names: list[str]):
|
|
267
259
|
"""Utility function to create register and unregister functions
|
|
268
260
|
which simply load submodules,
|
|
269
261
|
calling their register & unregister functions.
|
|
270
262
|
|
|
271
263
|
:param module_name: The module name, typically __name__.
|
|
272
|
-
:type module_name: str
|
|
264
|
+
:type module_name: str
|
|
273
265
|
:param submodule_names: List of submodule names to load and unload.
|
|
274
|
-
:type submodule_names: list[str]
|
|
266
|
+
:type submodule_names: list[str]
|
|
275
267
|
:return: register and unregister functions.
|
|
276
268
|
"""
|
|
277
269
|
|
|
278
270
|
...
|
|
279
271
|
|
|
280
272
|
def register_tool(
|
|
281
|
-
tool_cls, *, after=None, separator: bool
|
|
273
|
+
tool_cls, *, after=None, separator: bool = False, group: bool = False
|
|
282
274
|
):
|
|
283
275
|
"""Register a tool in the toolbar.
|
|
284
276
|
|
|
285
277
|
:param tool_cls: A tool subclass.
|
|
286
278
|
:param after: Optional identifiers this tool will be added after.
|
|
287
279
|
:param separator: When true, add a separator before this tool.
|
|
288
|
-
:type separator: bool
|
|
280
|
+
:type separator: bool
|
|
289
281
|
:param group: When true, add a new nested group of tools.
|
|
290
|
-
:type group: bool
|
|
282
|
+
:type group: bool
|
|
291
283
|
"""
|
|
292
284
|
|
|
293
285
|
...
|
|
294
286
|
|
|
295
287
|
def resource_path(
|
|
296
|
-
type: str
|
|
288
|
+
type: str, major: int = bpy.app.version[0], minor: str = bpy.app.version[1]
|
|
297
289
|
) -> str:
|
|
298
290
|
"""Return the base path for storing system files.
|
|
299
291
|
|
|
300
292
|
:param type: string in ['USER', 'LOCAL', 'SYSTEM'].
|
|
301
|
-
:type type: str
|
|
293
|
+
:type type: str
|
|
302
294
|
:param major: major version, defaults to current.
|
|
303
|
-
:type major: int
|
|
295
|
+
:type major: int
|
|
304
296
|
:param minor: minor version, defaults to current.
|
|
305
|
-
:type minor: str
|
|
297
|
+
:type minor: str
|
|
306
298
|
:return: the resource path (not necessarily existing).
|
|
307
299
|
:rtype: str
|
|
308
300
|
"""
|
|
@@ -317,23 +309,23 @@ def script_path_user():
|
|
|
317
309
|
def script_paths(
|
|
318
310
|
*,
|
|
319
311
|
subdir: str | None = None,
|
|
320
|
-
user_pref: bool
|
|
321
|
-
check_all: bool
|
|
322
|
-
use_user: bool
|
|
323
|
-
use_system_environment: bool
|
|
312
|
+
user_pref: bool = True,
|
|
313
|
+
check_all: bool = False,
|
|
314
|
+
use_user: bool = True,
|
|
315
|
+
use_system_environment: bool = True,
|
|
324
316
|
) -> list:
|
|
325
317
|
"""Returns a list of valid script paths.
|
|
326
318
|
|
|
327
319
|
:param subdir: Optional subdir.
|
|
328
320
|
:type subdir: str | None
|
|
329
321
|
:param user_pref: Include the user preference script paths.
|
|
330
|
-
:type user_pref: bool
|
|
322
|
+
:type user_pref: bool
|
|
331
323
|
:param check_all: Include local, user and system paths rather just the paths Blender uses.
|
|
332
|
-
:type check_all: bool
|
|
324
|
+
:type check_all: bool
|
|
333
325
|
:param use_user: Include user paths
|
|
334
|
-
:type use_user: bool
|
|
326
|
+
:type use_user: bool
|
|
335
327
|
:param use_system_environment: Include BLENDER_SYSTEM_SCRIPTS variable path
|
|
336
|
-
:type use_system_environment: bool
|
|
328
|
+
:type use_system_environment: bool
|
|
337
329
|
:return: script paths.
|
|
338
330
|
:rtype: list
|
|
339
331
|
"""
|
|
@@ -350,35 +342,35 @@ def script_paths_system_environment():
|
|
|
350
342
|
|
|
351
343
|
...
|
|
352
344
|
|
|
353
|
-
def smpte_from_frame(frame: int
|
|
345
|
+
def smpte_from_frame(frame: int, *, fps=None, fps_base=None) -> str:
|
|
354
346
|
"""Returns an SMPTE formatted string from the frame:
|
|
355
347
|
HH:MM:SS:FF.If fps and fps_base are not given the current scene is used.
|
|
356
348
|
|
|
357
349
|
:param frame: frame number.
|
|
358
|
-
:type frame: int
|
|
350
|
+
:type frame: int
|
|
359
351
|
:return: the frame string.
|
|
360
352
|
:rtype: str
|
|
361
353
|
"""
|
|
362
354
|
|
|
363
355
|
...
|
|
364
356
|
|
|
365
|
-
def smpte_from_seconds(time: float | int
|
|
357
|
+
def smpte_from_seconds(time: float | int, *, fps=None, fps_base=None) -> str:
|
|
366
358
|
"""Returns an SMPTE formatted string from the time:
|
|
367
359
|
HH:MM:SS:FF.If fps and fps_base are not given the current scene is used.
|
|
368
360
|
|
|
369
361
|
:param time: time in seconds.
|
|
370
|
-
:type time: float | int
|
|
362
|
+
:type time: float | int
|
|
371
363
|
:return: the frame string.
|
|
372
364
|
:rtype: str
|
|
373
365
|
"""
|
|
374
366
|
|
|
375
367
|
...
|
|
376
368
|
|
|
377
|
-
def time_from_frame(frame: int
|
|
369
|
+
def time_from_frame(frame: int, *, fps=None, fps_base=None):
|
|
378
370
|
"""Returns the time from a frame number .If fps and fps_base are not given the current scene is used.
|
|
379
371
|
|
|
380
372
|
:param frame: number.
|
|
381
|
-
:type frame: int
|
|
373
|
+
:type frame: int
|
|
382
374
|
:return: the time in seconds.
|
|
383
375
|
"""
|
|
384
376
|
|
|
@@ -395,12 +387,12 @@ def time_to_frame(time, *, fps=None, fps_base=None) -> float:
|
|
|
395
387
|
|
|
396
388
|
...
|
|
397
389
|
|
|
398
|
-
def unescape_identifier(string: str
|
|
390
|
+
def unescape_identifier(string: str) -> str:
|
|
399
391
|
"""Simple string un-escape function used for animation paths.
|
|
400
392
|
This performs the reverse of escape_identifier.
|
|
401
393
|
|
|
402
394
|
:param string: text
|
|
403
|
-
:type string: str
|
|
395
|
+
:type string: str
|
|
404
396
|
:return: The un-escaped string.
|
|
405
397
|
:rtype: str
|
|
406
398
|
"""
|
|
@@ -426,13 +418,13 @@ def unregister_cli_command(handle):
|
|
|
426
418
|
...
|
|
427
419
|
|
|
428
420
|
def unregister_manual_map(manual_hook): ...
|
|
429
|
-
def unregister_preset_path(path: str
|
|
421
|
+
def unregister_preset_path(path: str) -> bool:
|
|
430
422
|
"""Unregister a preset search path.
|
|
431
423
|
|
|
432
424
|
:param path: preset directory (must be an absolute path).
|
|
433
425
|
|
|
434
426
|
This must match the registered path exactly.
|
|
435
|
-
:type path: str
|
|
427
|
+
:type path: str
|
|
436
428
|
:return: success
|
|
437
429
|
:rtype: bool
|
|
438
430
|
"""
|
|
@@ -440,17 +432,15 @@ def unregister_preset_path(path: str | None) -> bool:
|
|
|
440
432
|
...
|
|
441
433
|
|
|
442
434
|
def unregister_tool(tool_cls): ...
|
|
443
|
-
def user_resource(
|
|
444
|
-
resource_type: str | None, *, path: str | None = "", create: bool | None = False
|
|
445
|
-
) -> str:
|
|
435
|
+
def user_resource(resource_type: str, *, path: str = "", create: bool = False) -> str:
|
|
446
436
|
"""Return a user resource path (normally from the users home directory).
|
|
447
437
|
|
|
448
438
|
:param resource_type: Resource type in ['DATAFILES', 'CONFIG', 'SCRIPTS', 'EXTENSIONS'].
|
|
449
|
-
:type resource_type: str
|
|
439
|
+
:type resource_type: str
|
|
450
440
|
:param path: Optional subdirectory.
|
|
451
|
-
:type path: str
|
|
441
|
+
:type path: str
|
|
452
442
|
:param create: Treat the path as a directory and create it if its not existing.
|
|
453
|
-
:type create: bool
|
|
443
|
+
:type create: bool
|
|
454
444
|
:return: a path.
|
|
455
445
|
:rtype: str
|
|
456
446
|
"""
|
|
@@ -181,9 +181,9 @@ blf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
181
181
|
bmesh/__init__.pyi,sha256=Vl3kfms133C_44cIoc_yK6U3dRQV102LIhkJlyWarzE,1583
|
|
182
182
|
bmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
183
|
bmesh/geometry/__init__.pyi,sha256=UJWjDzaBqiHR7NE_t6JEKNLzJQc5I36b_8GHcn5Ywlc,758
|
|
184
|
-
bmesh/ops/__init__.pyi,sha256=
|
|
185
|
-
bmesh/types/__init__.pyi,sha256=
|
|
186
|
-
bmesh/utils/__init__.pyi,sha256=
|
|
184
|
+
bmesh/ops/__init__.pyi,sha256=0nrxMnZUDa6Ds2ksNAoIJCM4jqWRB_gwDFPdcaq7Isg,73175
|
|
185
|
+
bmesh/types/__init__.pyi,sha256=VpFQqyWI7Zl88RvG37bLWK2ZQqWrP9UiGxENkISJrpE,41343
|
|
186
|
+
bmesh/utils/__init__.pyi,sha256=0uLRVNx3hdiu5sRbSRSbdMH0s6PyoA56zHG1HXZkjGc,6122
|
|
187
187
|
bpy/__init__.pyi,sha256=UNHjZG8rO0s6czpA3abLXpCy_-0Uq3ZyWeH6gufZUMw,497
|
|
188
188
|
bpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
189
|
bpy/app/__init__.pyi,sha256=0wlJPokK3GF_Jg6VGUrtzzw6dWScrLA7cB2jbpbhlkA,8253
|
|
@@ -269,10 +269,10 @@ bpy/ops/view3d/__init__.pyi,sha256=Tmxe1tUhHtqfUWqnFAin2o9g9E4IAVw0n9DBexKXG5s,4
|
|
|
269
269
|
bpy/ops/wm/__init__.pyi,sha256=Zsn9lJKxXB2-9bziAmRa8FzfAD2aduNQJ0CGJCcVCyM,216386
|
|
270
270
|
bpy/ops/workspace/__init__.pyi,sha256=OSELKT_HUs2W6cOk2wOigZgkbieGezMVWTi45f4x-Ik,3289
|
|
271
271
|
bpy/ops/world/__init__.pyi,sha256=_z3cX9CYV0nTmSiSQcC82nRiXYriWMcHomfxmSl2GxM,1057
|
|
272
|
-
bpy/path/__init__.pyi,sha256=
|
|
273
|
-
bpy/props/__init__.pyi,sha256=
|
|
274
|
-
bpy/types/__init__.pyi,sha256=
|
|
275
|
-
bpy/utils/__init__.pyi,sha256=
|
|
272
|
+
bpy/path/__init__.pyi,sha256=J_4vrRw_TTuMW4KHqSHZqYIKfDoCgG6Wv1PIFZx7__4,5612
|
|
273
|
+
bpy/props/__init__.pyi,sha256=5dF03F-bYYW-j5P9eDOgSJ07JYRVwMvjmMjBYjCrjS8,29631
|
|
274
|
+
bpy/types/__init__.pyi,sha256=xUx1qEPFIFSTuPOAEKyy_E9BklfTlUsDop9B5y9P4ik,5158887
|
|
275
|
+
bpy/utils/__init__.pyi,sha256=fuZc6nInRbbso-qzaeNWGfipuB37ySvxZVrJcEJ-RxM,13280
|
|
276
276
|
bpy/utils/previews/__init__.pyi,sha256=0mvcirUV7D4ByWzEUIBVEEJ1VTFhBjBcstllI7L6MRc,2439
|
|
277
277
|
bpy/utils/units/__init__.pyi,sha256=2OtqF54xi6peGyNeSGkuaLpytf2EESF753zqooe8bwc,2719
|
|
278
278
|
bpy_extras/__init__.pyi,sha256=2VLH9ypoDdQ26LNuGXzPoFLPKCf7sZWZJRBF1_mOV18,862
|
|
@@ -302,8 +302,8 @@ console_shell/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
302
302
|
freestyle/__init__.pyi,sha256=EfH5v6ffqL0kVjIYo9VhFAeDaCakVSZ7mTuihZg20y0,732
|
|
303
303
|
freestyle/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
304
304
|
freestyle/chainingiterators/__init__.pyi,sha256=Xqt-Ri8WUKaDz8_kVpRQ8EmMjFc6THz5ot48D1BC_NM,10889
|
|
305
|
-
freestyle/functions/__init__.pyi,sha256=
|
|
306
|
-
freestyle/predicates/__init__.pyi,sha256=
|
|
305
|
+
freestyle/functions/__init__.pyi,sha256=d7SyUcF7r3MQV3OARbT6cCbENGSmDKT--mkUp5JsrRY,49803
|
|
306
|
+
freestyle/predicates/__init__.pyi,sha256=J1vOBMRPvlHuqiErZabCtSgPUz2kzi8Oh_cc_OIMlD8,13860
|
|
307
307
|
freestyle/shaders/__init__.pyi,sha256=_yBIN2vWTq70X_8_MfUe4TqiL1Iri4OYjvIkXRQxG5M,24828
|
|
308
308
|
freestyle/types/__init__.pyi,sha256=IEVGlCVIX7hMCYKskB-TYzlvhi-QkupgJPiaYSimpA0,100396
|
|
309
309
|
freestyle/utils/__init__.pyi,sha256=52aR3yvD_c87cbV95i5UNJ8_qgcDVL4XsduGYi8U0zM,5415
|
|
@@ -317,7 +317,7 @@ gpu/select/__init__.pyi,sha256=LA2PPQq50c3QHm_FrU_ZkGxEqErloooQ4ghurzje_RE,309
|
|
|
317
317
|
gpu/shader/__init__.pyi,sha256=H_OSM6U4ZcEPs_ExI8lMxqb_LT6bf7aUDWusfomyEk4,2127
|
|
318
318
|
gpu/state/__init__.pyi,sha256=cPTgox0AW_OabUomyZNPJv-GafM16BPK-oB21hXIdlc,4547
|
|
319
319
|
gpu/texture/__init__.pyi,sha256=d7j_EqDplxMGriX2X8vucyjZNwPN6AHEVzB9v5N7s18,743
|
|
320
|
-
gpu/types/__init__.pyi,sha256=
|
|
320
|
+
gpu/types/__init__.pyi,sha256=gAseTPbPMHf93nFjZenJwrs9PeL99AaT0Us4nIj1nao,27541
|
|
321
321
|
gpu_extras/__init__.pyi,sha256=-NEEAL1gAmLIJmGm7VdrThYv5Qj_CUPL-SfxmBlKpc4,286
|
|
322
322
|
gpu_extras/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
323
323
|
gpu_extras/batch/__init__.pyi,sha256=qYYVMNIiU4mFLKO8nsbzGA6dCtQ_RERdkLyAdK2B6bU,763
|
|
@@ -327,7 +327,7 @@ graphviz_export/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
327
327
|
idprop/__init__.pyi,sha256=djL8F9bHhK9ARe17brTDWFNhKH75CAPPOP5HP6DFTrI,175
|
|
328
328
|
idprop/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
329
329
|
idprop/types/__init__.pyi,sha256=T614leJN7OyMohDTRhry7i-OttIlt7U2DpWOrbTjbNU,1866
|
|
330
|
-
imbuf/__init__.pyi,sha256=
|
|
330
|
+
imbuf/__init__.pyi,sha256=Z9sGlfURdAANhSbZYptEYQ12devwmm6B5qUcSzdfw1E,1179
|
|
331
331
|
imbuf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
332
332
|
imbuf/types/__init__.pyi,sha256=eRAZUjTlwmIspAK6rL3j0YYj-77OMyMBKD6hdesijas,1337
|
|
333
333
|
keyingsets_builtins/__init__.pyi,sha256=Qm8j2w0L6xWdJ6ufkvRcxX1baSKpS8oSrgQ1szbaln0,16678
|
|
@@ -336,7 +336,7 @@ keyingsets_utils/__init__.pyi,sha256=GM90DATed06QP-LtGvltmKfalWq6tTUeHhUeuRb3hNE
|
|
|
336
336
|
keyingsets_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
337
337
|
mathutils/__init__.pyi,sha256=lK1HJ1HghYCWuHH6VNP6a-GMUIed1V0xDXAoFTRIhOY,79017
|
|
338
338
|
mathutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
339
|
-
mathutils/bvhtree/__init__.pyi,sha256
|
|
339
|
+
mathutils/bvhtree/__init__.pyi,sha256=_7vxFslK-wfOcYOBDoHskq64H8Ti_SbQnvV_ciiom3w,4433
|
|
340
340
|
mathutils/geometry/__init__.pyi,sha256=V86d1sF454Aiu7gAfx4zWkaf4vrsgzDgz6Q_S9vRJws,21230
|
|
341
341
|
mathutils/interpolate/__init__.pyi,sha256=Zl76R_uMDu1-zJkGvOiqlBKv2btUpJpcOG71RZVupn0,403
|
|
342
342
|
mathutils/kdtree/__init__.pyi,sha256=W86zDhpTYhp7pMN1FPJWWkM0vtGohS-FEE-H5HIq_IQ,2334
|
|
@@ -355,7 +355,7 @@ rna_xml/__init__.pyi,sha256=aUk0kaxu1bMT5z1b2S_CnI0r-p7119GGYDjeV65sx6w,670
|
|
|
355
355
|
rna_xml/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
356
356
|
sys_info/__init__.pyi,sha256=-GCmGVtiditgEnxiqi7hwH2wbEMmrtUNGvMEbxVezU4,189
|
|
357
357
|
sys_info/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
358
|
-
fake_bpy_module-
|
|
359
|
-
fake_bpy_module-
|
|
360
|
-
fake_bpy_module-
|
|
361
|
-
fake_bpy_module-
|
|
358
|
+
fake_bpy_module-20240802.dist-info/METADATA,sha256=-dgjPL_IKOXv9rLSjuOYgLxkSl4cD-HJOqKN64eM9UM,7289
|
|
359
|
+
fake_bpy_module-20240802.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
360
|
+
fake_bpy_module-20240802.dist-info/top_level.txt,sha256=laOLfHIg0_6N4ntsGrWh85yODawYeLVGI-wex_FGLUI,509
|
|
361
|
+
fake_bpy_module-20240802.dist-info/RECORD,,
|
freestyle/functions/__init__.pyi
CHANGED
|
@@ -76,7 +76,9 @@ class Curvature2DAngleF0D:
|
|
|
76
76
|
class Curvature2DAngleF1D:
|
|
77
77
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `Curvature2DAngleF1D`"""
|
|
78
78
|
|
|
79
|
-
def __init__(
|
|
79
|
+
def __init__(
|
|
80
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
81
|
+
):
|
|
80
82
|
"""Builds a Curvature2DAngleF1D object.
|
|
81
83
|
|
|
82
84
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -128,7 +130,9 @@ class CurveNatureF0D:
|
|
|
128
130
|
class CurveNatureF1D:
|
|
129
131
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DEdgeNature` > `CurveNatureF1D`"""
|
|
130
132
|
|
|
131
|
-
def __init__(
|
|
133
|
+
def __init__(
|
|
134
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
135
|
+
):
|
|
132
136
|
"""Builds a CurveNatureF1D object.
|
|
133
137
|
|
|
134
138
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -187,7 +191,7 @@ class DensityF1D:
|
|
|
187
191
|
def __init__(
|
|
188
192
|
self,
|
|
189
193
|
sigma: float = 2.0,
|
|
190
|
-
integration_type: freestyle.types.IntegrationType =
|
|
194
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
191
195
|
sampling: float = 2.0,
|
|
192
196
|
):
|
|
193
197
|
"""Builds a DensityF1D object.
|
|
@@ -226,7 +230,7 @@ class GetCompleteViewMapDensityF1D:
|
|
|
226
230
|
def __init__(
|
|
227
231
|
self,
|
|
228
232
|
level: int,
|
|
229
|
-
integration_type: freestyle.types.IntegrationType =
|
|
233
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
230
234
|
sampling: float = 2.0,
|
|
231
235
|
):
|
|
232
236
|
"""Builds a GetCompleteViewMapDensityF1D object.
|
|
@@ -287,7 +291,7 @@ class GetDirectionalViewMapDensityF1D:
|
|
|
287
291
|
self,
|
|
288
292
|
orientation: int,
|
|
289
293
|
level: int,
|
|
290
|
-
integration_type: freestyle.types.IntegrationType =
|
|
294
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
291
295
|
sampling: float = 2.0,
|
|
292
296
|
):
|
|
293
297
|
"""Builds a GetDirectionalViewMapDensityF1D object.
|
|
@@ -435,7 +439,9 @@ class GetProjectedXF0D:
|
|
|
435
439
|
class GetProjectedXF1D:
|
|
436
440
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetProjectedXF1D`"""
|
|
437
441
|
|
|
438
|
-
def __init__(
|
|
442
|
+
def __init__(
|
|
443
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
444
|
+
):
|
|
439
445
|
"""Builds a GetProjectedXF1D object.
|
|
440
446
|
|
|
441
447
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -475,7 +481,9 @@ class GetProjectedYF0D:
|
|
|
475
481
|
class GetProjectedYF1D:
|
|
476
482
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetProjectedYF1D`"""
|
|
477
483
|
|
|
478
|
-
def __init__(
|
|
484
|
+
def __init__(
|
|
485
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
486
|
+
):
|
|
479
487
|
"""Builds a GetProjectedYF1D object.
|
|
480
488
|
|
|
481
489
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -515,7 +523,9 @@ class GetProjectedZF0D:
|
|
|
515
523
|
class GetProjectedZF1D:
|
|
516
524
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetProjectedZF1D`"""
|
|
517
525
|
|
|
518
|
-
def __init__(
|
|
526
|
+
def __init__(
|
|
527
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
528
|
+
):
|
|
519
529
|
"""Builds a GetProjectedZF1D object.
|
|
520
530
|
|
|
521
531
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -576,7 +586,7 @@ class GetSteerableViewMapDensityF1D:
|
|
|
576
586
|
def __init__(
|
|
577
587
|
self,
|
|
578
588
|
level: int,
|
|
579
|
-
integration_type: freestyle.types.IntegrationType =
|
|
589
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
580
590
|
sampling: float = 2.0,
|
|
581
591
|
):
|
|
582
592
|
"""Builds a GetSteerableViewMapDensityF1D object.
|
|
@@ -638,7 +648,7 @@ class GetViewMapGradientNormF1D:
|
|
|
638
648
|
def __init__(
|
|
639
649
|
self,
|
|
640
650
|
level: int,
|
|
641
|
-
integration_type: freestyle.types.IntegrationType =
|
|
651
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
642
652
|
sampling: float = 2.0,
|
|
643
653
|
):
|
|
644
654
|
"""Builds a GetViewMapGradientNormF1D object.
|
|
@@ -691,7 +701,9 @@ class GetXF0D:
|
|
|
691
701
|
class GetXF1D:
|
|
692
702
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetXF1D`"""
|
|
693
703
|
|
|
694
|
-
def __init__(
|
|
704
|
+
def __init__(
|
|
705
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
706
|
+
):
|
|
695
707
|
"""Builds a GetXF1D object.
|
|
696
708
|
|
|
697
709
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -731,7 +743,9 @@ class GetYF0D:
|
|
|
731
743
|
class GetYF1D:
|
|
732
744
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetYF1D`"""
|
|
733
745
|
|
|
734
|
-
def __init__(
|
|
746
|
+
def __init__(
|
|
747
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
748
|
+
):
|
|
735
749
|
"""Builds a GetYF1D object.
|
|
736
750
|
|
|
737
751
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -771,7 +785,9 @@ class GetZF0D:
|
|
|
771
785
|
class GetZF1D:
|
|
772
786
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `GetZF1D`"""
|
|
773
787
|
|
|
774
|
-
def __init__(
|
|
788
|
+
def __init__(
|
|
789
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
790
|
+
):
|
|
775
791
|
"""Builds a GetZF1D object.
|
|
776
792
|
|
|
777
793
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -833,7 +849,9 @@ class LocalAverageDepthF1D:
|
|
|
833
849
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `LocalAverageDepthF1D`"""
|
|
834
850
|
|
|
835
851
|
def __init__(
|
|
836
|
-
self,
|
|
852
|
+
self,
|
|
853
|
+
sigma: float,
|
|
854
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
837
855
|
):
|
|
838
856
|
"""Builds a LocalAverageDepthF1D object.
|
|
839
857
|
|
|
@@ -914,7 +932,9 @@ class Normal2DF0D:
|
|
|
914
932
|
class Normal2DF1D:
|
|
915
933
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DVec2f` > `Normal2DF1D`"""
|
|
916
934
|
|
|
917
|
-
def __init__(
|
|
935
|
+
def __init__(
|
|
936
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
937
|
+
):
|
|
918
938
|
"""Builds a Normal2DF1D object.
|
|
919
939
|
|
|
920
940
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -936,7 +956,9 @@ class Normal2DF1D:
|
|
|
936
956
|
class Orientation2DF1D:
|
|
937
957
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DVec2f` > `Orientation2DF1D`"""
|
|
938
958
|
|
|
939
|
-
def __init__(
|
|
959
|
+
def __init__(
|
|
960
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
961
|
+
):
|
|
940
962
|
"""Builds an Orientation2DF1D object.
|
|
941
963
|
|
|
942
964
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -958,7 +980,9 @@ class Orientation2DF1D:
|
|
|
958
980
|
class Orientation3DF1D:
|
|
959
981
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DVec3f` > `Orientation3DF1D`"""
|
|
960
982
|
|
|
961
|
-
def __init__(
|
|
983
|
+
def __init__(
|
|
984
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
985
|
+
):
|
|
962
986
|
"""Builds an Orientation3DF1D object.
|
|
963
987
|
|
|
964
988
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -1004,7 +1028,9 @@ class QuantitativeInvisibilityF0D:
|
|
|
1004
1028
|
class QuantitativeInvisibilityF1D:
|
|
1005
1029
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DUnsigned` > `QuantitativeInvisibilityF1D`"""
|
|
1006
1030
|
|
|
1007
|
-
def __init__(
|
|
1031
|
+
def __init__(
|
|
1032
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
1033
|
+
):
|
|
1008
1034
|
"""Builds a QuantitativeInvisibilityF1D object.
|
|
1009
1035
|
|
|
1010
1036
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -1206,7 +1232,9 @@ class ZDiscontinuityF0D:
|
|
|
1206
1232
|
class ZDiscontinuityF1D:
|
|
1207
1233
|
"""Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `ZDiscontinuityF1D`"""
|
|
1208
1234
|
|
|
1209
|
-
def __init__(
|
|
1235
|
+
def __init__(
|
|
1236
|
+
self, integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN
|
|
1237
|
+
):
|
|
1210
1238
|
"""Builds a ZDiscontinuityF1D object.
|
|
1211
1239
|
|
|
1212
1240
|
:param integration_type: The integration method used to compute a single value
|
|
@@ -315,7 +315,7 @@ class ViewMapGradientNormBP1D:
|
|
|
315
315
|
def __init__(
|
|
316
316
|
self,
|
|
317
317
|
level: int,
|
|
318
|
-
integration_type: freestyle.types.IntegrationType =
|
|
318
|
+
integration_type: freestyle.types.IntegrationType = IntegrationType.MEAN,
|
|
319
319
|
sampling: float = 2.0,
|
|
320
320
|
):
|
|
321
321
|
"""Builds a ViewMapGradientNormBP1D object.
|
gpu/types/__init__.pyi
CHANGED
|
@@ -119,7 +119,7 @@ class GPUFrameBuffer:
|
|
|
119
119
|
channels: int,
|
|
120
120
|
slot: int,
|
|
121
121
|
format: str,
|
|
122
|
-
data: Buffer
|
|
122
|
+
data: Buffer = data,
|
|
123
123
|
) -> Buffer:
|
|
124
124
|
"""Read a block of pixels from the frame buffer.
|
|
125
125
|
|
|
@@ -136,15 +136,13 @@ class GPUFrameBuffer:
|
|
|
136
136
|
Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8 and 10_11_11_REV.
|
|
137
137
|
:type format: str
|
|
138
138
|
:param data: Optional Buffer object to fill with the pixels values.
|
|
139
|
-
:type data: Buffer
|
|
139
|
+
:type data: Buffer
|
|
140
140
|
:return: The Buffer with the read pixels.
|
|
141
141
|
:rtype: Buffer
|
|
142
142
|
"""
|
|
143
143
|
...
|
|
144
144
|
|
|
145
|
-
def read_depth(
|
|
146
|
-
self, x: int, y, xsize: int, ysize, data: Buffer | None = data
|
|
147
|
-
) -> Buffer:
|
|
145
|
+
def read_depth(self, x: int, y, xsize: int, ysize, data: Buffer = data) -> Buffer:
|
|
148
146
|
"""Read a pixel depth block from the frame buffer.
|
|
149
147
|
|
|
150
148
|
:param x: Lower left corner of a rectangular block of pixels.
|
|
@@ -154,7 +152,7 @@ class GPUFrameBuffer:
|
|
|
154
152
|
:type xsize: int
|
|
155
153
|
:param ysize:
|
|
156
154
|
:param data: Optional Buffer object to fill with the pixels values.
|
|
157
|
-
:type data: Buffer
|
|
155
|
+
:type data: Buffer
|
|
158
156
|
:return: The Buffer with the read pixels.
|
|
159
157
|
:rtype: Buffer
|
|
160
158
|
"""
|
imbuf/__init__.pyi
CHANGED
|
@@ -42,13 +42,13 @@ def new(size) -> imbuf.types.ImBuf:
|
|
|
42
42
|
|
|
43
43
|
...
|
|
44
44
|
|
|
45
|
-
def write(image: imbuf.types.ImBuf, filepath: bytes | str
|
|
45
|
+
def write(image: imbuf.types.ImBuf, filepath: bytes | str = image.filepath):
|
|
46
46
|
"""Write an image.
|
|
47
47
|
|
|
48
48
|
:param image: the image to write.
|
|
49
49
|
:type image: imbuf.types.ImBuf
|
|
50
50
|
:param filepath: Optional filepath of the image (fallback to the images file path).
|
|
51
|
-
:type filepath: bytes | str
|
|
51
|
+
:type filepath: bytes | str
|
|
52
52
|
"""
|
|
53
53
|
|
|
54
54
|
...
|
mathutils/bvhtree/__init__.pyi
CHANGED
|
@@ -105,7 +105,7 @@ class BVHTree:
|
|
|
105
105
|
self,
|
|
106
106
|
origin: collections.abc.Sequence[float] | mathutils.Vector,
|
|
107
107
|
direction: collections.abc.Sequence[float] | mathutils.Vector,
|
|
108
|
-
distance: float =
|
|
108
|
+
distance: float = sys.float_info.max,
|
|
109
109
|
) -> tuple:
|
|
110
110
|
"""Cast a ray onto the mesh.
|
|
111
111
|
|
|
File without changes
|
|
File without changes
|