fake-bpy-module 20240411__py3-none-any.whl → 20240418__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.
- _bpy_internal/__init__.pyi +4 -0
- _bpy_internal/freedesktop/__init__.pyi +88 -0
- _bpy_internal/freedesktop/py.typed +0 -0
- _bpy_internal/py.typed +0 -0
- aud/__init__.pyi +121 -48
- bgl/__init__.pyi +2443 -1265
- bl_math/__init__.pyi +19 -3
- bl_operators/presets/__init__.pyi +7 -0
- bl_ui/node_add_menu/__init__.pyi +1 -1
- bl_ui/properties_data_lightprobe/__init__.pyi +1134 -0
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +3 -0
- bl_ui/properties_physics_fluid/__init__.pyi +3 -0
- bl_ui/space_toolsystem_toolbar/__init__.pyi +17 -0
- bl_ui/space_userpref/__init__.pyi +13 -4
- bl_ui/space_view3d/__init__.pyi +190 -0
- blf/__init__.pyi +63 -13
- bmesh/__init__.pyi +13 -0
- bmesh/geometry/__init__.pyi +5 -0
- bmesh/ops/__init__.pyi +157 -68
- bmesh/types/__init__.pyi +109 -62
- bmesh/utils/__init__.pyi +11 -2
- bpy/__init__.pyi +7 -0
- bpy/app/__init__.pyi +13 -0
- bpy/app/handlers/__init__.pyi +41 -0
- bpy/app/icons/__init__.pyi +4 -2
- bpy/app/timers/__init__.pyi +38 -2
- bpy/app/translations/__init__.pyi +59 -1
- bpy/msgbus/__init__.pyi +46 -0
- bpy/ops/__init__.pyi +151 -0
- bpy/ops/action/__init__.pyi +76 -76
- bpy/ops/anim/__init__.pyi +104 -104
- bpy/ops/armature/__init__.pyi +96 -96
- bpy/ops/asset/__init__.pyi +32 -32
- bpy/ops/boid/__init__.pyi +16 -16
- bpy/ops/brush/__init__.pyi +18 -18
- bpy/ops/buttons/__init__.pyi +12 -12
- bpy/ops/cachefile/__init__.pyi +10 -10
- bpy/ops/camera/__init__.pyi +4 -4
- bpy/ops/clip/__init__.pyi +184 -184
- bpy/ops/cloth/__init__.pyi +2 -2
- bpy/ops/collection/__init__.pyi +18 -18
- bpy/ops/console/__init__.pyi +42 -42
- bpy/ops/constraint/__init__.pyi +36 -36
- bpy/ops/curve/__init__.pyi +102 -102
- bpy/ops/curves/__init__.pyi +132 -50
- bpy/ops/cycles/__init__.pyi +6 -6
- bpy/ops/dpaint/__init__.pyi +10 -10
- bpy/ops/ed/__init__.pyi +24 -24
- bpy/ops/export_anim/__init__.pyi +2 -2
- bpy/ops/export_mesh/__init__.pyi +2 -2
- bpy/ops/export_scene/__init__.pyi +11 -8
- bpy/ops/file/__init__.pyi +80 -80
- bpy/ops/fluid/__init__.pyi +28 -28
- bpy/ops/font/__init__.pyi +46 -46
- bpy/ops/geometry/__init__.pyi +20 -20
- bpy/ops/gizmogroup/__init__.pyi +4 -4
- bpy/ops/gpencil/__init__.pyi +300 -300
- bpy/ops/graph/__init__.pyi +130 -130
- bpy/ops/grease_pencil/__init__.pyi +139 -110
- bpy/ops/image/__init__.pyi +92 -92
- bpy/ops/import_anim/__init__.pyi +2 -2
- bpy/ops/import_curve/__init__.pyi +2 -2
- bpy/ops/import_mesh/__init__.pyi +2 -2
- bpy/ops/import_scene/__init__.pyi +6 -6
- bpy/ops/info/__init__.pyi +14 -14
- bpy/ops/lattice/__init__.pyi +16 -16
- bpy/ops/marker/__init__.pyi +22 -22
- bpy/ops/mask/__init__.pyi +78 -78
- bpy/ops/material/__init__.pyi +6 -6
- bpy/ops/mball/__init__.pyi +16 -16
- bpy/ops/mesh/__init__.pyi +327 -327
- bpy/ops/nla/__init__.pyi +80 -80
- bpy/ops/node/__init__.pyi +203 -203
- bpy/ops/object/__init__.pyi +496 -508
- bpy/ops/outliner/__init__.pyi +139 -139
- bpy/ops/paint/__init__.pyi +104 -104
- bpy/ops/paintcurve/__init__.pyi +16 -16
- bpy/ops/palette/__init__.pyi +14 -14
- bpy/ops/particle/__init__.pyi +72 -72
- bpy/ops/pose/__init__.pyi +78 -78
- bpy/ops/poselib/__init__.pyi +18 -18
- bpy/ops/preferences/__init__.pyi +77 -77
- bpy/ops/ptcache/__init__.pyi +14 -14
- bpy/ops/render/__init__.pyi +24 -24
- bpy/ops/rigidbody/__init__.pyi +26 -26
- bpy/ops/scene/__init__.pyi +78 -78
- bpy/ops/screen/__init__.pyi +78 -78
- bpy/ops/script/__init__.pyi +6 -6
- bpy/ops/sculpt/__init__.pyi +68 -62
- bpy/ops/sculpt_curves/__init__.pyi +8 -8
- bpy/ops/sequencer/__init__.pyi +170 -170
- bpy/ops/sound/__init__.pyi +14 -14
- bpy/ops/spreadsheet/__init__.pyi +8 -8
- bpy/ops/surface/__init__.pyi +12 -12
- bpy/ops/text/__init__.pyi +86 -86
- bpy/ops/text_editor/__init__.pyi +2 -2
- bpy/ops/texture/__init__.pyi +8 -8
- bpy/ops/transform/__init__.pyi +54 -54
- bpy/ops/ui/__init__.pyi +64 -64
- bpy/ops/uilist/__init__.pyi +6 -6
- bpy/ops/uv/__init__.pyi +98 -98
- bpy/ops/view2d/__init__.pyi +28 -28
- bpy/ops/view3d/__init__.pyi +134 -134
- bpy/ops/wm/__init__.pyi +225 -225
- bpy/ops/workspace/__init__.pyi +14 -14
- bpy/ops/world/__init__.pyi +2 -2
- bpy/path/__init__.pyi +6 -0
- bpy/props/__init__.pyi +141 -29
- bpy/types/__init__.pyi +101773 -5222
- bpy/utils/__init__.pyi +18 -3
- bpy/utils/previews/__init__.pyi +15 -0
- bpy/utils/units/__init__.pyi +11 -3
- bpy_extras/__init__.pyi +19 -0
- bpy_extras/asset_utils/__init__.pyi +5 -0
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/METADATA +1 -1
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/RECORD +145 -141
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/top_level.txt +1 -0
- freestyle/__init__.pyi +18 -0
- freestyle/chainingiterators/__init__.pyi +20 -5
- freestyle/functions/__init__.pyi +151 -155
- freestyle/predicates/__init__.pyi +53 -46
- freestyle/shaders/__init__.pyi +91 -32
- freestyle/types/__init__.pyi +362 -120
- freestyle/utils/ContextFunctions/__init__.pyi +32 -7
- freestyle/utils/__init__.pyi +13 -1
- gpu/__init__.pyi +225 -0
- gpu/capabilities/__init__.pyi +37 -15
- gpu/matrix/__init__.pyi +7 -1
- gpu/platform/__init__.pyi +5 -0
- gpu/select/__init__.pyi +5 -0
- gpu/shader/__init__.pyi +77 -0
- gpu/state/__init__.pyi +15 -4
- gpu/texture/__init__.pyi +5 -0
- gpu/types/__init__.pyi +91 -33
- gpu_extras/__init__.pyi +15 -0
- gpu_extras/presets/__init__.pyi +16 -4
- imbuf/__init__.pyi +13 -0
- imbuf/types/__init__.pyi +20 -5
- mathutils/__init__.pyi +349 -227
- mathutils/bvhtree/__init__.pyi +21 -8
- mathutils/geometry/__init__.pyi +23 -9
- mathutils/interpolate/__init__.pyi +5 -0
- mathutils/kdtree/__init__.pyi +19 -5
- mathutils/noise/__init__.pyi +87 -41
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/WHEEL +0 -0
mathutils/bvhtree/__init__.pyi
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
"""
|
|
2
|
+
BVH tree structures for proximity searches and ray casts on geometry.
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
|
|
1
6
|
import typing
|
|
2
7
|
import bmesh.types
|
|
3
8
|
import bpy.types
|
|
@@ -9,12 +14,13 @@ class BVHTree:
|
|
|
9
14
|
""" """
|
|
10
15
|
|
|
11
16
|
@classmethod
|
|
12
|
-
def FromBMesh(cls, bmesh: bmesh.types.BMesh, epsilon=0.0):
|
|
17
|
+
def FromBMesh(cls, bmesh: bmesh.types.BMesh, epsilon: float = 0.0):
|
|
13
18
|
"""BVH tree based on `BMesh` data.
|
|
14
19
|
|
|
15
20
|
:param bmesh: BMesh data.
|
|
16
21
|
:type bmesh: bmesh.types.BMesh
|
|
17
22
|
:param epsilon: Increase the threshold for detecting overlap and raycast hits.
|
|
23
|
+
:type epsilon: float
|
|
18
24
|
"""
|
|
19
25
|
...
|
|
20
26
|
|
|
@@ -26,7 +32,7 @@ class BVHTree:
|
|
|
26
32
|
deform: bool = True,
|
|
27
33
|
render=False,
|
|
28
34
|
cage: bool = False,
|
|
29
|
-
epsilon=0.0,
|
|
35
|
+
epsilon: float = 0.0,
|
|
30
36
|
):
|
|
31
37
|
"""BVH tree based on `Object` data.
|
|
32
38
|
|
|
@@ -40,11 +46,14 @@ class BVHTree:
|
|
|
40
46
|
:param cage: Use modifiers cage.
|
|
41
47
|
:type cage: bool
|
|
42
48
|
:param epsilon: Increase the threshold for detecting overlap and raycast hits.
|
|
49
|
+
:type epsilon: float
|
|
43
50
|
"""
|
|
44
51
|
...
|
|
45
52
|
|
|
46
53
|
@classmethod
|
|
47
|
-
def FromPolygons(
|
|
54
|
+
def FromPolygons(
|
|
55
|
+
cls, vertices, polygons, all_triangles: bool = False, epsilon: float = 0.0
|
|
56
|
+
):
|
|
48
57
|
"""BVH tree constructed geometry passed in as arguments.
|
|
49
58
|
|
|
50
59
|
:param vertices: float triplets each representing (x, y, z)
|
|
@@ -52,14 +61,16 @@ class BVHTree:
|
|
|
52
61
|
:param all_triangles: Use when all polygons are triangles for more efficient conversion.
|
|
53
62
|
:type all_triangles: bool
|
|
54
63
|
:param epsilon: Increase the threshold for detecting overlap and raycast hits.
|
|
64
|
+
:type epsilon: float
|
|
55
65
|
"""
|
|
56
66
|
...
|
|
57
67
|
|
|
58
|
-
def find_nearest(self, origin, distance=1.84467e19):
|
|
68
|
+
def find_nearest(self, origin, distance: float = 1.84467e19) -> tuple:
|
|
59
69
|
"""Find the nearest element (typically face index) to a point.
|
|
60
70
|
|
|
61
71
|
:param origin:
|
|
62
72
|
:param distance: Maximum distance threshold.
|
|
73
|
+
:type distance: float
|
|
63
74
|
:return: Returns a tuple
|
|
64
75
|
(`Vector` location, `Vector` normal, int index, float distance),
|
|
65
76
|
Values will all be None if no hit is found.
|
|
@@ -67,18 +78,19 @@ class BVHTree:
|
|
|
67
78
|
"""
|
|
68
79
|
...
|
|
69
80
|
|
|
70
|
-
def find_nearest_range(self, origin, distance=1.84467e19):
|
|
81
|
+
def find_nearest_range(self, origin, distance: float = 1.84467e19) -> list:
|
|
71
82
|
"""Find the nearest elements (typically face index) to a point in the distance range.
|
|
72
83
|
|
|
73
84
|
:param origin:
|
|
74
85
|
:param distance: Maximum distance threshold.
|
|
86
|
+
:type distance: float
|
|
75
87
|
:return: Returns a list of tuples
|
|
76
88
|
(`Vector` location, `Vector` normal, int index, float distance),
|
|
77
89
|
:rtype: list
|
|
78
90
|
"""
|
|
79
91
|
...
|
|
80
92
|
|
|
81
|
-
def overlap(self, other_tree: BVHTree) ->
|
|
93
|
+
def overlap(self, other_tree: BVHTree) -> list:
|
|
82
94
|
"""Find overlapping indices between 2 trees.
|
|
83
95
|
|
|
84
96
|
:param other_tree: Other tree to perform overlap test on.
|
|
@@ -92,8 +104,8 @@ class BVHTree:
|
|
|
92
104
|
self,
|
|
93
105
|
origin: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
94
106
|
direction: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
95
|
-
distance=None,
|
|
96
|
-
):
|
|
107
|
+
distance: float = None,
|
|
108
|
+
) -> tuple:
|
|
97
109
|
"""Cast a ray onto the mesh.
|
|
98
110
|
|
|
99
111
|
:param origin: Start location of the ray in object space.
|
|
@@ -101,6 +113,7 @@ class BVHTree:
|
|
|
101
113
|
:param direction: Direction of the ray in object space.
|
|
102
114
|
:type direction: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
103
115
|
:param distance: Maximum distance threshold.
|
|
116
|
+
:type distance: float
|
|
104
117
|
:return: Returns a tuple
|
|
105
118
|
(`Vector` location, `Vector` normal, int index, float distance),
|
|
106
119
|
Values will all be None if no hit is found.
|
mathutils/geometry/__init__.pyi
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The Blender geometry module
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
|
|
1
6
|
import typing
|
|
2
7
|
import mathutils
|
|
3
8
|
|
|
@@ -7,7 +12,7 @@ def area_tri(
|
|
|
7
12
|
v1: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
8
13
|
v2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
9
14
|
v3: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
10
|
-
):
|
|
15
|
+
) -> float:
|
|
11
16
|
"""Returns the area size of the 2D or 3D triangle defined.
|
|
12
17
|
|
|
13
18
|
:param v1: Point1
|
|
@@ -16,6 +21,7 @@ def area_tri(
|
|
|
16
21
|
:type v2: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
17
22
|
:param v3: Point3
|
|
18
23
|
:type v3: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
24
|
+
:rtype: float
|
|
19
25
|
"""
|
|
20
26
|
|
|
21
27
|
...
|
|
@@ -50,12 +56,13 @@ def barycentric_transform(
|
|
|
50
56
|
|
|
51
57
|
...
|
|
52
58
|
|
|
53
|
-
def box_fit_2d(points: list):
|
|
59
|
+
def box_fit_2d(points: list) -> float:
|
|
54
60
|
"""Returns an angle that best fits the points to an axis aligned rectangle
|
|
55
61
|
|
|
56
62
|
:param points: list of 2d points.
|
|
57
63
|
:type points: list
|
|
58
64
|
:return: angle
|
|
65
|
+
:rtype: float
|
|
59
66
|
"""
|
|
60
67
|
|
|
61
68
|
...
|
|
@@ -139,7 +146,7 @@ def distance_point_to_plane(
|
|
|
139
146
|
pt: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
140
147
|
plane_co: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
141
148
|
plane_no: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
142
|
-
):
|
|
149
|
+
) -> float:
|
|
143
150
|
"""Returns the signed distance between a point and a plane (negative when below the normal).
|
|
144
151
|
|
|
145
152
|
:param pt: Point
|
|
@@ -148,6 +155,7 @@ def distance_point_to_plane(
|
|
|
148
155
|
:type plane_co: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
149
156
|
:param plane_no: The direction the plane is facing
|
|
150
157
|
:type plane_no: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
158
|
+
:rtype: float
|
|
151
159
|
"""
|
|
152
160
|
|
|
153
161
|
...
|
|
@@ -157,7 +165,7 @@ def interpolate_bezier(
|
|
|
157
165
|
handle1: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
158
166
|
handle2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
159
167
|
knot2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
160
|
-
resolution,
|
|
168
|
+
resolution: int,
|
|
161
169
|
):
|
|
162
170
|
"""Interpolate a bezier spline segment.
|
|
163
171
|
|
|
@@ -170,6 +178,7 @@ def interpolate_bezier(
|
|
|
170
178
|
:param knot2: Second bezier spline point.
|
|
171
179
|
:type knot2: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
172
180
|
:param resolution: Number of points to return.
|
|
181
|
+
:type resolution: int
|
|
173
182
|
:return: The interpolated points
|
|
174
183
|
"""
|
|
175
184
|
|
|
@@ -331,7 +340,7 @@ def intersect_point_quad_2d(
|
|
|
331
340
|
quad_p2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
332
341
|
quad_p3: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
333
342
|
quad_p4: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
334
|
-
):
|
|
343
|
+
) -> int:
|
|
335
344
|
"""Takes 5 vectors (using only the x and y coordinates): one is the point and the next 4 define the quad,
|
|
336
345
|
only the x and y are used from the vectors. Returns 1 if the point is within the quad, otherwise 0.
|
|
337
346
|
Works only with convex quads without singular edges.
|
|
@@ -346,6 +355,7 @@ def intersect_point_quad_2d(
|
|
|
346
355
|
:type quad_p3: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
347
356
|
:param quad_p4: Fourth point of the quad
|
|
348
357
|
:type quad_p4: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
358
|
+
:rtype: int
|
|
349
359
|
"""
|
|
350
360
|
|
|
351
361
|
...
|
|
@@ -376,7 +386,7 @@ def intersect_point_tri_2d(
|
|
|
376
386
|
tri_p1: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
377
387
|
tri_p2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
378
388
|
tri_p3: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
379
|
-
):
|
|
389
|
+
) -> int:
|
|
380
390
|
"""Takes 4 vectors (using only the x and y coordinates): one is the point and the next 3 define the triangle. Returns 1 if the point is within the triangle, otherwise 0.
|
|
381
391
|
|
|
382
392
|
:param pt: Point
|
|
@@ -387,6 +397,7 @@ def intersect_point_tri_2d(
|
|
|
387
397
|
:type tri_p2: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
388
398
|
:param tri_p3: Third point of the triangle
|
|
389
399
|
:type tri_p3: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
400
|
+
:rtype: int
|
|
390
401
|
"""
|
|
391
402
|
|
|
392
403
|
...
|
|
@@ -420,18 +431,20 @@ def intersect_ray_tri(
|
|
|
420
431
|
|
|
421
432
|
def intersect_sphere_sphere_2d(
|
|
422
433
|
p_a: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
423
|
-
radius_a,
|
|
434
|
+
radius_a: float,
|
|
424
435
|
p_b: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
425
|
-
radius_b,
|
|
436
|
+
radius_b: float,
|
|
426
437
|
) -> typing.Tuple[mathutils.Vector]:
|
|
427
438
|
"""Returns 2 points on between intersecting circles.
|
|
428
439
|
|
|
429
440
|
:param p_a: Center of the first circle
|
|
430
441
|
:type p_a: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
431
442
|
:param radius_a: Radius of the first circle
|
|
443
|
+
:type radius_a: float
|
|
432
444
|
:param p_b: Center of the second circle
|
|
433
445
|
:type p_b: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
434
446
|
:param radius_b: Radius of the second circle
|
|
447
|
+
:type radius_b: float
|
|
435
448
|
:rtype: typing.Tuple[mathutils.Vector]
|
|
436
449
|
"""
|
|
437
450
|
|
|
@@ -478,7 +491,7 @@ def volume_tetrahedron(
|
|
|
478
491
|
v2: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
479
492
|
v3: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
480
493
|
v4: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
481
|
-
):
|
|
494
|
+
) -> float:
|
|
482
495
|
"""Return the volume formed by a tetrahedron (points can be in any order).
|
|
483
496
|
|
|
484
497
|
:param v1: Point1
|
|
@@ -489,6 +502,7 @@ def volume_tetrahedron(
|
|
|
489
502
|
:type v3: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
490
503
|
:param v4: Point4
|
|
491
504
|
:type v4: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
505
|
+
:rtype: float
|
|
492
506
|
"""
|
|
493
507
|
|
|
494
508
|
...
|
mathutils/kdtree/__init__.pyi
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generic 3-dimensional kd-tree to perform spatial searches.
|
|
3
|
+
|
|
4
|
+
```../examples/mathutils.kdtree.py```
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
1
8
|
import typing
|
|
2
9
|
import mathutils
|
|
3
10
|
|
|
@@ -14,7 +21,7 @@ class KDTree:
|
|
|
14
21
|
self,
|
|
15
22
|
co: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
16
23
|
filter: typing.Callable = None,
|
|
17
|
-
) ->
|
|
24
|
+
) -> tuple:
|
|
18
25
|
"""Find nearest point to co.
|
|
19
26
|
|
|
20
27
|
:param co: 3d coordinates.
|
|
@@ -26,36 +33,43 @@ class KDTree:
|
|
|
26
33
|
"""
|
|
27
34
|
...
|
|
28
35
|
|
|
29
|
-
def find_n(
|
|
36
|
+
def find_n(
|
|
37
|
+
self, co: typing.Union[typing.Sequence[float], mathutils.Vector], n: int
|
|
38
|
+
) -> list:
|
|
30
39
|
"""Find nearest n points to co.
|
|
31
40
|
|
|
32
41
|
:param co: 3d coordinates.
|
|
33
42
|
:type co: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
34
43
|
:param n: Number of points to find.
|
|
44
|
+
:type n: int
|
|
35
45
|
:return: Returns a list of tuples (`Vector`, index, distance).
|
|
36
46
|
:rtype: list
|
|
37
47
|
"""
|
|
38
48
|
...
|
|
39
49
|
|
|
40
50
|
def find_range(
|
|
41
|
-
self, co: typing.Union[typing.Sequence[float], mathutils.Vector], radius
|
|
42
|
-
):
|
|
51
|
+
self, co: typing.Union[typing.Sequence[float], mathutils.Vector], radius: float
|
|
52
|
+
) -> list:
|
|
43
53
|
"""Find all points within radius of co.
|
|
44
54
|
|
|
45
55
|
:param co: 3d coordinates.
|
|
46
56
|
:type co: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
47
57
|
:param radius: Distance to search for points.
|
|
58
|
+
:type radius: float
|
|
48
59
|
:return: Returns a list of tuples (`Vector`, index, distance).
|
|
49
60
|
:rtype: list
|
|
50
61
|
"""
|
|
51
62
|
...
|
|
52
63
|
|
|
53
|
-
def insert(
|
|
64
|
+
def insert(
|
|
65
|
+
self, co: typing.Union[typing.Sequence[float], mathutils.Vector], index: int
|
|
66
|
+
):
|
|
54
67
|
"""Insert a point into the KDTree.
|
|
55
68
|
|
|
56
69
|
:param co: Point 3d position.
|
|
57
70
|
:type co: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
58
71
|
:param index: The index of the point.
|
|
72
|
+
:type index: int
|
|
59
73
|
"""
|
|
60
74
|
...
|
|
61
75
|
|
mathutils/noise/__init__.pyi
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The Blender noise module
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
|
|
1
6
|
import typing
|
|
2
7
|
import mathutils
|
|
3
8
|
|
|
4
9
|
GenericType = typing.TypeVar("GenericType")
|
|
5
10
|
|
|
6
|
-
def cell(position: typing.Union[typing.Sequence[float], mathutils.Vector]):
|
|
11
|
+
def cell(position: typing.Union[typing.Sequence[float], mathutils.Vector]) -> float:
|
|
7
12
|
"""Returns cell noise value at the specified position.
|
|
8
13
|
|
|
9
14
|
:param position: The position to evaluate the selected noise function.
|
|
10
15
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
11
16
|
:return: The cell noise value.
|
|
17
|
+
:rtype: float
|
|
12
18
|
"""
|
|
13
19
|
|
|
14
20
|
...
|
|
@@ -28,90 +34,109 @@ def cell_vector(
|
|
|
28
34
|
|
|
29
35
|
def fractal(
|
|
30
36
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
31
|
-
H,
|
|
32
|
-
lacunarity,
|
|
33
|
-
octaves,
|
|
37
|
+
H: float,
|
|
38
|
+
lacunarity: float,
|
|
39
|
+
octaves: int,
|
|
34
40
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
35
|
-
):
|
|
41
|
+
) -> float:
|
|
36
42
|
"""Returns the fractal Brownian motion (fBm) noise value from the noise basis at the specified position.
|
|
37
43
|
|
|
38
44
|
:param position: The position to evaluate the selected noise function.
|
|
39
45
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
40
46
|
:param H: The fractal increment factor.
|
|
47
|
+
:type H: float
|
|
41
48
|
:param lacunarity: The gap between successive frequencies.
|
|
49
|
+
:type lacunarity: float
|
|
42
50
|
:param octaves: The number of different noise frequencies used.
|
|
51
|
+
:type octaves: int
|
|
43
52
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
44
53
|
:type noise_basis: str
|
|
45
54
|
:return: The fractal Brownian motion noise value.
|
|
55
|
+
:rtype: float
|
|
46
56
|
"""
|
|
47
57
|
|
|
48
58
|
...
|
|
49
59
|
|
|
50
60
|
def hetero_terrain(
|
|
51
61
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
52
|
-
H,
|
|
53
|
-
lacunarity,
|
|
54
|
-
octaves,
|
|
55
|
-
offset,
|
|
62
|
+
H: float,
|
|
63
|
+
lacunarity: float,
|
|
64
|
+
octaves: int,
|
|
65
|
+
offset: float,
|
|
56
66
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
57
|
-
):
|
|
67
|
+
) -> float:
|
|
58
68
|
"""Returns the heterogeneous terrain value from the noise basis at the specified position.
|
|
59
69
|
|
|
60
70
|
:param position: The position to evaluate the selected noise function.
|
|
61
71
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
62
72
|
:param H: The fractal dimension of the roughest areas.
|
|
73
|
+
:type H: float
|
|
63
74
|
:param lacunarity: The gap between successive frequencies.
|
|
75
|
+
:type lacunarity: float
|
|
64
76
|
:param octaves: The number of different noise frequencies used.
|
|
77
|
+
:type octaves: int
|
|
65
78
|
:param offset: The height of the terrain above 'sea level'.
|
|
79
|
+
:type offset: float
|
|
66
80
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
67
81
|
:type noise_basis: str
|
|
68
82
|
:return: The heterogeneous terrain value.
|
|
83
|
+
:rtype: float
|
|
69
84
|
"""
|
|
70
85
|
|
|
71
86
|
...
|
|
72
87
|
|
|
73
88
|
def hybrid_multi_fractal(
|
|
74
89
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
75
|
-
H,
|
|
76
|
-
lacunarity,
|
|
77
|
-
octaves,
|
|
78
|
-
offset,
|
|
79
|
-
gain,
|
|
90
|
+
H: float,
|
|
91
|
+
lacunarity: float,
|
|
92
|
+
octaves: int,
|
|
93
|
+
offset: float,
|
|
94
|
+
gain: float,
|
|
80
95
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
81
|
-
):
|
|
96
|
+
) -> float:
|
|
82
97
|
"""Returns hybrid multifractal value from the noise basis at the specified position.
|
|
83
98
|
|
|
84
99
|
:param position: The position to evaluate the selected noise function.
|
|
85
100
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
86
101
|
:param H: The fractal dimension of the roughest areas.
|
|
102
|
+
:type H: float
|
|
87
103
|
:param lacunarity: The gap between successive frequencies.
|
|
104
|
+
:type lacunarity: float
|
|
88
105
|
:param octaves: The number of different noise frequencies used.
|
|
106
|
+
:type octaves: int
|
|
89
107
|
:param offset: The height of the terrain above 'sea level'.
|
|
108
|
+
:type offset: float
|
|
90
109
|
:param gain: Scaling applied to the values.
|
|
110
|
+
:type gain: float
|
|
91
111
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
92
112
|
:type noise_basis: str
|
|
93
113
|
:return: The hybrid multifractal value.
|
|
114
|
+
:rtype: float
|
|
94
115
|
"""
|
|
95
116
|
|
|
96
117
|
...
|
|
97
118
|
|
|
98
119
|
def multi_fractal(
|
|
99
120
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
100
|
-
H,
|
|
101
|
-
lacunarity,
|
|
102
|
-
octaves,
|
|
121
|
+
H: float,
|
|
122
|
+
lacunarity: float,
|
|
123
|
+
octaves: int,
|
|
103
124
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
104
|
-
):
|
|
125
|
+
) -> float:
|
|
105
126
|
"""Returns multifractal noise value from the noise basis at the specified position.
|
|
106
127
|
|
|
107
128
|
:param position: The position to evaluate the selected noise function.
|
|
108
129
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
109
130
|
:param H: The fractal increment factor.
|
|
131
|
+
:type H: float
|
|
110
132
|
:param lacunarity: The gap between successive frequencies.
|
|
133
|
+
:type lacunarity: float
|
|
111
134
|
:param octaves: The number of different noise frequencies used.
|
|
135
|
+
:type octaves: int
|
|
112
136
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
113
137
|
:type noise_basis: str
|
|
114
138
|
:return: The multifractal noise value.
|
|
139
|
+
:rtype: float
|
|
115
140
|
"""
|
|
116
141
|
|
|
117
142
|
...
|
|
@@ -119,7 +144,7 @@ def multi_fractal(
|
|
|
119
144
|
def noise(
|
|
120
145
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
121
146
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
122
|
-
):
|
|
147
|
+
) -> float:
|
|
123
148
|
"""Returns noise value from the noise basis at the position specified.
|
|
124
149
|
|
|
125
150
|
:param position: The position to evaluate the selected noise function.
|
|
@@ -127,6 +152,7 @@ def noise(
|
|
|
127
152
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
128
153
|
:type noise_basis: str
|
|
129
154
|
:return: The noise value.
|
|
155
|
+
:rtype: float
|
|
130
156
|
"""
|
|
131
157
|
|
|
132
158
|
...
|
|
@@ -147,28 +173,31 @@ def noise_vector(
|
|
|
147
173
|
|
|
148
174
|
...
|
|
149
175
|
|
|
150
|
-
def random():
|
|
176
|
+
def random() -> float:
|
|
151
177
|
"""Returns a random number in the range [0, 1).
|
|
152
178
|
|
|
153
179
|
:return: The random number.
|
|
180
|
+
:rtype: float
|
|
154
181
|
"""
|
|
155
182
|
|
|
156
183
|
...
|
|
157
184
|
|
|
158
|
-
def random_unit_vector(size=3) -> mathutils.Vector:
|
|
185
|
+
def random_unit_vector(size: int = 3) -> mathutils.Vector:
|
|
159
186
|
"""Returns a unit vector with random entries.
|
|
160
187
|
|
|
161
188
|
:param size: The size of the vector to be produced, in the range [2, 4].
|
|
189
|
+
:type size: int
|
|
162
190
|
:return: The random unit vector.
|
|
163
191
|
:rtype: mathutils.Vector
|
|
164
192
|
"""
|
|
165
193
|
|
|
166
194
|
...
|
|
167
195
|
|
|
168
|
-
def random_vector(size=3) -> mathutils.Vector:
|
|
196
|
+
def random_vector(size: int = 3) -> mathutils.Vector:
|
|
169
197
|
"""Returns a vector with random entries in the range (-1, 1).
|
|
170
198
|
|
|
171
199
|
:param size: The size of the vector to be produced.
|
|
200
|
+
:type size: int
|
|
172
201
|
:return: The random vector.
|
|
173
202
|
:rtype: mathutils.Vector
|
|
174
203
|
"""
|
|
@@ -177,81 +206,95 @@ def random_vector(size=3) -> mathutils.Vector:
|
|
|
177
206
|
|
|
178
207
|
def ridged_multi_fractal(
|
|
179
208
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
180
|
-
H,
|
|
181
|
-
lacunarity,
|
|
182
|
-
octaves,
|
|
183
|
-
offset,
|
|
184
|
-
gain,
|
|
209
|
+
H: float,
|
|
210
|
+
lacunarity: float,
|
|
211
|
+
octaves: int,
|
|
212
|
+
offset: float,
|
|
213
|
+
gain: float,
|
|
185
214
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
186
|
-
):
|
|
215
|
+
) -> float:
|
|
187
216
|
"""Returns ridged multifractal value from the noise basis at the specified position.
|
|
188
217
|
|
|
189
218
|
:param position: The position to evaluate the selected noise function.
|
|
190
219
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
191
220
|
:param H: The fractal dimension of the roughest areas.
|
|
221
|
+
:type H: float
|
|
192
222
|
:param lacunarity: The gap between successive frequencies.
|
|
223
|
+
:type lacunarity: float
|
|
193
224
|
:param octaves: The number of different noise frequencies used.
|
|
225
|
+
:type octaves: int
|
|
194
226
|
:param offset: The height of the terrain above 'sea level'.
|
|
227
|
+
:type offset: float
|
|
195
228
|
:param gain: Scaling applied to the values.
|
|
229
|
+
:type gain: float
|
|
196
230
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
197
231
|
:type noise_basis: str
|
|
198
232
|
:return: The ridged multifractal value.
|
|
233
|
+
:rtype: float
|
|
199
234
|
"""
|
|
200
235
|
|
|
201
236
|
...
|
|
202
237
|
|
|
203
|
-
def seed_set(seed):
|
|
238
|
+
def seed_set(seed: int):
|
|
204
239
|
"""Sets the random seed used for random_unit_vector, and random.
|
|
205
240
|
|
|
206
241
|
:param seed: Seed used for the random generator.
|
|
207
242
|
When seed is zero, the current time will be used instead.
|
|
243
|
+
:type seed: int
|
|
208
244
|
"""
|
|
209
245
|
|
|
210
246
|
...
|
|
211
247
|
|
|
212
248
|
def turbulence(
|
|
213
249
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
214
|
-
octaves,
|
|
250
|
+
octaves: int,
|
|
215
251
|
hard: bool,
|
|
216
252
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
217
|
-
amplitude_scale=0.5,
|
|
218
|
-
frequency_scale=2.0,
|
|
219
|
-
):
|
|
253
|
+
amplitude_scale: float = 0.5,
|
|
254
|
+
frequency_scale: float = 2.0,
|
|
255
|
+
) -> float:
|
|
220
256
|
"""Returns the turbulence value from the noise basis at the specified position.
|
|
221
257
|
|
|
222
258
|
:param position: The position to evaluate the selected noise function.
|
|
223
259
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
224
260
|
:param octaves: The number of different noise frequencies used.
|
|
261
|
+
:type octaves: int
|
|
225
262
|
:param hard: Specifies whether returned turbulence is hard (sharp transitions) or soft (smooth transitions).
|
|
226
263
|
:type hard: bool
|
|
227
264
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
228
265
|
:type noise_basis: str
|
|
229
266
|
:param amplitude_scale: The amplitude scaling factor.
|
|
267
|
+
:type amplitude_scale: float
|
|
230
268
|
:param frequency_scale: The frequency scaling factor
|
|
269
|
+
:type frequency_scale: float
|
|
231
270
|
:return: The turbulence value.
|
|
271
|
+
:rtype: float
|
|
232
272
|
"""
|
|
233
273
|
|
|
234
274
|
...
|
|
235
275
|
|
|
236
276
|
def turbulence_vector(
|
|
237
277
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
238
|
-
octaves,
|
|
278
|
+
octaves: int,
|
|
239
279
|
hard: bool,
|
|
240
280
|
noise_basis: str = "PERLIN_ORIGINAL",
|
|
241
|
-
amplitude_scale=0.5,
|
|
242
|
-
frequency_scale=2.0,
|
|
281
|
+
amplitude_scale: float = 0.5,
|
|
282
|
+
frequency_scale: float = 2.0,
|
|
243
283
|
) -> mathutils.Vector:
|
|
244
284
|
"""Returns the turbulence vector from the noise basis at the specified position.
|
|
245
285
|
|
|
246
286
|
:param position: The position to evaluate the selected noise function.
|
|
247
287
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
248
288
|
:param octaves: The number of different noise frequencies used.
|
|
289
|
+
:type octaves: int
|
|
249
290
|
:param hard: Specifies whether returned turbulence is hard (sharp transitions) or soft (smooth transitions).
|
|
250
291
|
:type hard: bool
|
|
251
292
|
:param noise_basis: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
252
293
|
:type noise_basis: str
|
|
253
294
|
:param amplitude_scale: The amplitude scaling factor.
|
|
295
|
+
:type amplitude_scale: float
|
|
254
296
|
:param frequency_scale: The frequency scaling factor
|
|
297
|
+
:type frequency_scale: float
|
|
255
298
|
:return: The turbulence vector.
|
|
256
299
|
:rtype: mathutils.Vector
|
|
257
300
|
"""
|
|
@@ -260,20 +303,22 @@ def turbulence_vector(
|
|
|
260
303
|
|
|
261
304
|
def variable_lacunarity(
|
|
262
305
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
263
|
-
distortion,
|
|
306
|
+
distortion: float,
|
|
264
307
|
noise_type1: str = "PERLIN_ORIGINAL",
|
|
265
308
|
noise_type2: str = "PERLIN_ORIGINAL",
|
|
266
|
-
):
|
|
309
|
+
) -> float:
|
|
267
310
|
"""Returns variable lacunarity noise value, a distorted variety of noise, from noise type 1 distorted by noise type 2 at the specified position.
|
|
268
311
|
|
|
269
312
|
:param position: The position to evaluate the selected noise function.
|
|
270
313
|
:type position: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
271
314
|
:param distortion: The amount of distortion.
|
|
315
|
+
:type distortion: float
|
|
272
316
|
:param noise_type1: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
273
317
|
:type noise_type1: str
|
|
274
318
|
:param noise_type2: Enumerator in ['BLENDER', 'PERLIN_ORIGINAL', 'PERLIN_NEW', 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', 'VORONOI_F2F1', 'VORONOI_CRACKLE', 'CELLNOISE'].
|
|
275
319
|
:type noise_type2: str
|
|
276
320
|
:return: The variable lacunarity noise value.
|
|
321
|
+
:rtype: float
|
|
277
322
|
"""
|
|
278
323
|
|
|
279
324
|
...
|
|
@@ -281,7 +326,7 @@ def variable_lacunarity(
|
|
|
281
326
|
def voronoi(
|
|
282
327
|
position: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
283
328
|
distance_metric: str = "DISTANCE",
|
|
284
|
-
exponent=2.5,
|
|
329
|
+
exponent: float = 2.5,
|
|
285
330
|
):
|
|
286
331
|
"""Returns a list of distances to the four closest features and their locations.
|
|
287
332
|
|
|
@@ -290,6 +335,7 @@ def voronoi(
|
|
|
290
335
|
:param distance_metric: Enumerator in ['DISTANCE', 'DISTANCE_SQUARED', 'MANHATTAN', 'CHEBYCHEV', 'MINKOVSKY', 'MINKOVSKY_HALF', 'MINKOVSKY_FOUR'].
|
|
291
336
|
:type distance_metric: str
|
|
292
337
|
:param exponent: The exponent for Minkowski distance metric.
|
|
338
|
+
:type exponent: float
|
|
293
339
|
:return: A list of distances to the four closest features and their locations.
|
|
294
340
|
"""
|
|
295
341
|
|
|
File without changes
|