fake-bpy-module 20240417__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
- 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 +58 -0
- 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 +54 -54
- 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 +7 -7
- 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 +112 -112
- 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 +326 -326
- bpy/ops/nla/__init__.pyi +79 -79
- bpy/ops/node/__init__.pyi +202 -202
- bpy/ops/object/__init__.pyi +488 -500
- bpy/ops/outliner/__init__.pyi +138 -138
- 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 +76 -76
- 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 +62 -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 +224 -224
- 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 +101490 -5018
- 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-20240417.dist-info → fake_bpy_module-20240418.dist-info}/METADATA +1 -1
- {fake_bpy_module-20240417.dist-info → fake_bpy_module-20240418.dist-info}/RECORD +137 -133
- {fake_bpy_module-20240417.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-20240417.dist-info → fake_bpy_module-20240418.dist-info}/WHEEL +0 -0
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module contains predicates operating on vertices (0D elements)
|
|
3
|
+
and polylines (1D elements). It is also intended to be a collection
|
|
4
|
+
of examples for predicate definition in Python.
|
|
5
|
+
|
|
6
|
+
User-defined predicates inherit one of the following base classes,
|
|
7
|
+
depending on the object type (0D or 1D) to operate on and the arity
|
|
8
|
+
(unary or binary):
|
|
9
|
+
|
|
10
|
+
* freestyle.types.BinaryPredicate0D
|
|
11
|
+
* freestyle.types.BinaryPredicate1D
|
|
12
|
+
* freestyle.types.UnaryPredicate0D
|
|
13
|
+
* freestyle.types.UnaryPredicate1D
|
|
14
|
+
|
|
15
|
+
"""
|
|
16
|
+
|
|
1
17
|
import typing
|
|
2
18
|
import freestyle.types
|
|
3
19
|
|
|
@@ -16,9 +32,7 @@ class AndUP1D:
|
|
|
16
32
|
class ContourUP1D:
|
|
17
33
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `ContourUP1D`"""
|
|
18
34
|
|
|
19
|
-
def __call__(
|
|
20
|
-
self, inter: freestyle.types.Interface1D
|
|
21
|
-
) -> freestyle.types.Interface1D:
|
|
35
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
22
36
|
"""Returns true if the Interface1D is a contour. An Interface1D is a
|
|
23
37
|
contour if it is bordered by a different shape on each of its sides.
|
|
24
38
|
|
|
@@ -32,19 +46,19 @@ class ContourUP1D:
|
|
|
32
46
|
class DensityLowerThanUP1D:
|
|
33
47
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `DensityLowerThanUP1D`"""
|
|
34
48
|
|
|
35
|
-
def __init__(self, threshold, sigma=2.0):
|
|
49
|
+
def __init__(self, threshold: float, sigma: float = 2.0):
|
|
36
50
|
"""Builds a DensityLowerThanUP1D object.
|
|
37
51
|
|
|
38
52
|
:param threshold: The value of the threshold density. Any Interface1D
|
|
39
53
|
having a density lower than this threshold will match.
|
|
54
|
+
:type threshold: float
|
|
40
55
|
:param sigma: The sigma value defining the density evaluation window
|
|
41
56
|
size used in the `freestyle.functions.DensityF0D` functor.
|
|
57
|
+
:type sigma: float
|
|
42
58
|
"""
|
|
43
59
|
...
|
|
44
60
|
|
|
45
|
-
def __call__(
|
|
46
|
-
self, inter: freestyle.types.Interface1D
|
|
47
|
-
) -> freestyle.types.Interface1D:
|
|
61
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
48
62
|
"""Returns true if the density evaluated for the Interface1D is less
|
|
49
63
|
than a user-defined density value.
|
|
50
64
|
|
|
@@ -58,16 +72,15 @@ class DensityLowerThanUP1D:
|
|
|
58
72
|
class EqualToChainingTimeStampUP1D:
|
|
59
73
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `freestyle.types.EqualToChainingTimeStampUP1D`"""
|
|
60
74
|
|
|
61
|
-
def __init__(self, ts):
|
|
75
|
+
def __init__(self, ts: int):
|
|
62
76
|
"""Builds a EqualToChainingTimeStampUP1D object.
|
|
63
77
|
|
|
64
78
|
:param ts: A time stamp value.
|
|
79
|
+
:type ts: int
|
|
65
80
|
"""
|
|
66
81
|
...
|
|
67
82
|
|
|
68
|
-
def __call__(
|
|
69
|
-
self, inter: freestyle.types.Interface1D
|
|
70
|
-
) -> freestyle.types.Interface1D:
|
|
83
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
71
84
|
"""Returns true if the Interface1D's time stamp is equal to a certain
|
|
72
85
|
user-defined value.
|
|
73
86
|
|
|
@@ -81,16 +94,15 @@ class EqualToChainingTimeStampUP1D:
|
|
|
81
94
|
class EqualToTimeStampUP1D:
|
|
82
95
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `EqualToTimeStampUP1D`"""
|
|
83
96
|
|
|
84
|
-
def __init__(self, ts):
|
|
97
|
+
def __init__(self, ts: int):
|
|
85
98
|
"""Builds a EqualToTimeStampUP1D object.
|
|
86
99
|
|
|
87
100
|
:param ts: A time stamp value.
|
|
101
|
+
:type ts: int
|
|
88
102
|
"""
|
|
89
103
|
...
|
|
90
104
|
|
|
91
|
-
def __call__(
|
|
92
|
-
self, inter: freestyle.types.Interface1D
|
|
93
|
-
) -> freestyle.types.Interface1D:
|
|
105
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
94
106
|
"""Returns true if the Interface1D's time stamp is equal to a certain
|
|
95
107
|
user-defined value.
|
|
96
108
|
|
|
@@ -104,9 +116,7 @@ class EqualToTimeStampUP1D:
|
|
|
104
116
|
class ExternalContourUP1D:
|
|
105
117
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `ExternalContourUP1D`"""
|
|
106
118
|
|
|
107
|
-
def __call__(
|
|
108
|
-
self, inter: freestyle.types.Interface1D
|
|
109
|
-
) -> freestyle.types.Interface1D:
|
|
119
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
110
120
|
"""Returns true if the Interface1D is an external contour.
|
|
111
121
|
An Interface1D is an external contour if it is bordered by no shape on
|
|
112
122
|
one of its sides.
|
|
@@ -124,7 +134,7 @@ class FalseBP1D:
|
|
|
124
134
|
|
|
125
135
|
def __call__(
|
|
126
136
|
self, inter1: freestyle.types.Interface1D, inter2: freestyle.types.Interface1D
|
|
127
|
-
) ->
|
|
137
|
+
) -> bool:
|
|
128
138
|
"""Always returns false.
|
|
129
139
|
|
|
130
140
|
:param inter1: The first Interface1D object.
|
|
@@ -139,9 +149,7 @@ class FalseBP1D:
|
|
|
139
149
|
class FalseUP0D:
|
|
140
150
|
"""Class hierarchy: `freestyle.types.UnaryPredicate0D` > `FalseUP0D`"""
|
|
141
151
|
|
|
142
|
-
def __call__(
|
|
143
|
-
self, it: freestyle.types.Interface0DIterator
|
|
144
|
-
) -> freestyle.types.Interface0DIterator:
|
|
152
|
+
def __call__(self, it: freestyle.types.Interface0DIterator) -> bool:
|
|
145
153
|
"""Always returns false.
|
|
146
154
|
|
|
147
155
|
:param it: An Interface0DIterator object.
|
|
@@ -154,9 +162,7 @@ class FalseUP0D:
|
|
|
154
162
|
class FalseUP1D:
|
|
155
163
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `FalseUP1D`"""
|
|
156
164
|
|
|
157
|
-
def __call__(
|
|
158
|
-
self, inter: freestyle.types.Interface1D
|
|
159
|
-
) -> freestyle.types.Interface1D:
|
|
165
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
160
166
|
"""Always returns false.
|
|
161
167
|
|
|
162
168
|
:param inter: An Interface1D object.
|
|
@@ -171,7 +177,7 @@ class Length2DBP1D:
|
|
|
171
177
|
|
|
172
178
|
def __call__(
|
|
173
179
|
self, inter1: freestyle.types.Interface1D, inter2: freestyle.types.Interface1D
|
|
174
|
-
) ->
|
|
180
|
+
) -> bool:
|
|
175
181
|
"""Returns true if the 2D length of inter1 is less than the 2D length
|
|
176
182
|
of inter2.
|
|
177
183
|
|
|
@@ -222,17 +228,16 @@ class QuantitativeInvisibilityRangeUP1D:
|
|
|
222
228
|
class QuantitativeInvisibilityUP1D:
|
|
223
229
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `QuantitativeInvisibilityUP1D`"""
|
|
224
230
|
|
|
225
|
-
def __init__(self, qi=0):
|
|
231
|
+
def __init__(self, qi: int = 0):
|
|
226
232
|
"""Builds a QuantitativeInvisibilityUP1D object.
|
|
227
233
|
|
|
228
234
|
:param qi: The Quantitative Invisibility you want the Interface1D to
|
|
229
235
|
have.
|
|
236
|
+
:type qi: int
|
|
230
237
|
"""
|
|
231
238
|
...
|
|
232
239
|
|
|
233
|
-
def __call__(
|
|
234
|
-
self, inter: freestyle.types.Interface1D
|
|
235
|
-
) -> freestyle.types.Interface1D:
|
|
240
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
236
241
|
"""Returns true if the Quantitative Invisibility evaluated at an
|
|
237
242
|
Interface1D, using the
|
|
238
243
|
`freestyle.functions.QuantitativeInvisibilityF1D` functor,
|
|
@@ -251,7 +256,7 @@ class SameShapeIdBP1D:
|
|
|
251
256
|
|
|
252
257
|
def __call__(
|
|
253
258
|
self, inter1: freestyle.types.Interface1D, inter2: freestyle.types.Interface1D
|
|
254
|
-
) ->
|
|
259
|
+
) -> bool:
|
|
255
260
|
"""Returns true if inter1 and inter2 belong to the same shape.
|
|
256
261
|
|
|
257
262
|
:param inter1: The first Interface1D object.
|
|
@@ -266,17 +271,17 @@ class SameShapeIdBP1D:
|
|
|
266
271
|
class ShapeUP1D:
|
|
267
272
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `ShapeUP1D`"""
|
|
268
273
|
|
|
269
|
-
def __init__(self, first, second=0):
|
|
274
|
+
def __init__(self, first: int, second: int = 0):
|
|
270
275
|
"""Builds a ShapeUP1D object.
|
|
271
276
|
|
|
272
277
|
:param first: The first Id component.
|
|
278
|
+
:type first: int
|
|
273
279
|
:param second: The second Id component.
|
|
280
|
+
:type second: int
|
|
274
281
|
"""
|
|
275
282
|
...
|
|
276
283
|
|
|
277
|
-
def __call__(
|
|
278
|
-
self, inter: freestyle.types.Interface1D
|
|
279
|
-
) -> freestyle.types.Interface1D:
|
|
284
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
280
285
|
"""Returns true if the shape to which the Interface1D belongs to has the
|
|
281
286
|
same `freestyle.types.Id` as the one specified by the user.
|
|
282
287
|
|
|
@@ -293,7 +298,7 @@ class TrueBP1D:
|
|
|
293
298
|
|
|
294
299
|
def __call__(
|
|
295
300
|
self, inter1: freestyle.types.Interface1D, inter2: freestyle.types.Interface1D
|
|
296
|
-
) ->
|
|
301
|
+
) -> bool:
|
|
297
302
|
"""Always returns true.
|
|
298
303
|
|
|
299
304
|
:param inter1: The first Interface1D object.
|
|
@@ -308,9 +313,7 @@ class TrueBP1D:
|
|
|
308
313
|
class TrueUP0D:
|
|
309
314
|
"""Class hierarchy: `freestyle.types.UnaryPredicate0D` > `TrueUP0D`"""
|
|
310
315
|
|
|
311
|
-
def __call__(
|
|
312
|
-
self, it: freestyle.types.Interface0DIterator
|
|
313
|
-
) -> freestyle.types.Interface0DIterator:
|
|
316
|
+
def __call__(self, it: freestyle.types.Interface0DIterator) -> bool:
|
|
314
317
|
"""Always returns true.
|
|
315
318
|
|
|
316
319
|
:param it: An Interface0DIterator object.
|
|
@@ -323,9 +326,7 @@ class TrueUP0D:
|
|
|
323
326
|
class TrueUP1D:
|
|
324
327
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `TrueUP1D`"""
|
|
325
328
|
|
|
326
|
-
def __call__(
|
|
327
|
-
self, inter: freestyle.types.Interface1D
|
|
328
|
-
) -> freestyle.types.Interface1D:
|
|
329
|
+
def __call__(self, inter: freestyle.types.Interface1D) -> bool:
|
|
329
330
|
"""Always returns true.
|
|
330
331
|
|
|
331
332
|
:param inter: An Interface1D object.
|
|
@@ -340,14 +341,15 @@ class ViewMapGradientNormBP1D:
|
|
|
340
341
|
|
|
341
342
|
def __init__(
|
|
342
343
|
self,
|
|
343
|
-
level,
|
|
344
|
+
level: int,
|
|
344
345
|
integration_type: freestyle.types.IntegrationType = None,
|
|
345
|
-
sampling=2.0,
|
|
346
|
+
sampling: float = 2.0,
|
|
346
347
|
):
|
|
347
348
|
"""Builds a ViewMapGradientNormBP1D object.
|
|
348
349
|
|
|
349
350
|
:param level: The level of the pyramid from which the pixel must be
|
|
350
351
|
read.
|
|
352
|
+
:type level: int
|
|
351
353
|
:param integration_type: The integration method used to compute a single value
|
|
352
354
|
from a set of values.
|
|
353
355
|
:type integration_type: freestyle.types.IntegrationType
|
|
@@ -355,12 +357,13 @@ class ViewMapGradientNormBP1D:
|
|
|
355
357
|
GetViewMapGradientNormF0D is evaluated at each sample point and
|
|
356
358
|
the result is obtained by combining the resulting values into a
|
|
357
359
|
single one, following the method specified by integration_type.
|
|
360
|
+
:type sampling: float
|
|
358
361
|
"""
|
|
359
362
|
...
|
|
360
363
|
|
|
361
364
|
def __call__(
|
|
362
365
|
self, inter1: freestyle.types.Interface1D, inter2: freestyle.types.Interface1D
|
|
363
|
-
) ->
|
|
366
|
+
) -> bool:
|
|
364
367
|
"""Returns true if the evaluation of the Gradient norm Function is
|
|
365
368
|
higher for inter1 than for inter2.
|
|
366
369
|
|
|
@@ -376,13 +379,17 @@ class ViewMapGradientNormBP1D:
|
|
|
376
379
|
class WithinImageBoundaryUP1D:
|
|
377
380
|
"""Class hierarchy: `freestyle.types.UnaryPredicate1D` > `WithinImageBoundaryUP1D`"""
|
|
378
381
|
|
|
379
|
-
def __init__(self, xmin, ymin, xmax, ymax):
|
|
382
|
+
def __init__(self, xmin: float, ymin: float, xmax: float, ymax: float):
|
|
380
383
|
"""Builds an WithinImageBoundaryUP1D object.
|
|
381
384
|
|
|
382
385
|
:param xmin: X lower bound of the image boundary.
|
|
386
|
+
:type xmin: float
|
|
383
387
|
:param ymin: Y lower bound of the image boundary.
|
|
388
|
+
:type ymin: float
|
|
384
389
|
:param xmax: X upper bound of the image boundary.
|
|
390
|
+
:type xmax: float
|
|
385
391
|
:param ymax: Y upper bound of the image boundary.
|
|
392
|
+
:type ymax: float
|
|
386
393
|
"""
|
|
387
394
|
...
|
|
388
395
|
|
freestyle/shaders/__init__.pyi
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module contains stroke shaders used for creation of stylized
|
|
3
|
+
strokes. It is also intended to be a collection of examples for
|
|
4
|
+
shader definition in Python.
|
|
5
|
+
|
|
6
|
+
User-defined stroke shaders inherit the
|
|
7
|
+
freestyle.types.StrokeShader class.
|
|
8
|
+
|
|
9
|
+
"""
|
|
10
|
+
|
|
1
11
|
import typing
|
|
2
12
|
import freestyle.types
|
|
3
13
|
import mathutils
|
|
@@ -7,10 +17,11 @@ GenericType = typing.TypeVar("GenericType")
|
|
|
7
17
|
class BackboneStretcherShader:
|
|
8
18
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `BackboneStretcherShader`[Geometry shader]"""
|
|
9
19
|
|
|
10
|
-
def __init__(self, amount=2.0):
|
|
20
|
+
def __init__(self, amount: float = 2.0):
|
|
11
21
|
"""Builds a BackboneStretcherShader object.
|
|
12
22
|
|
|
13
23
|
:param amount: The stretching amount value.
|
|
24
|
+
:type amount: float
|
|
14
25
|
"""
|
|
15
26
|
...
|
|
16
27
|
|
|
@@ -26,12 +37,13 @@ class BackboneStretcherShader:
|
|
|
26
37
|
class BezierCurveShader:
|
|
27
38
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `BezierCurveShader`[Geometry shader]"""
|
|
28
39
|
|
|
29
|
-
def __init__(self, error=4.0):
|
|
40
|
+
def __init__(self, error: float = 4.0):
|
|
30
41
|
"""Builds a BezierCurveShader object.
|
|
31
42
|
|
|
32
43
|
:param error: The error we're allowing for the approximation. This
|
|
33
44
|
error is the max distance allowed between the new curve and the
|
|
34
45
|
original geometry.
|
|
46
|
+
:type error: float
|
|
35
47
|
"""
|
|
36
48
|
...
|
|
37
49
|
|
|
@@ -69,8 +81,8 @@ class CalligraphicShader:
|
|
|
69
81
|
|
|
70
82
|
def __init__(
|
|
71
83
|
self,
|
|
72
|
-
thickness_min,
|
|
73
|
-
thickness_max,
|
|
84
|
+
thickness_min: float,
|
|
85
|
+
thickness_max: float,
|
|
74
86
|
orientation: typing.Union[typing.Sequence[float], mathutils.Vector],
|
|
75
87
|
clamp: bool,
|
|
76
88
|
):
|
|
@@ -78,7 +90,9 @@ class CalligraphicShader:
|
|
|
78
90
|
|
|
79
91
|
:param thickness_min: The minimum thickness in the direction
|
|
80
92
|
perpendicular to the main direction.
|
|
93
|
+
:type thickness_min: float
|
|
81
94
|
:param thickness_max: The maximum thickness in the main direction.
|
|
95
|
+
:type thickness_max: float
|
|
82
96
|
:param orientation: The 2D vector giving the main direction.
|
|
83
97
|
:type orientation: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
84
98
|
:param clamp: If true, the strokes are drawn in black when the stroke
|
|
@@ -103,11 +117,13 @@ class CalligraphicShader:
|
|
|
103
117
|
class ColorNoiseShader:
|
|
104
118
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `ColorNoiseShader`[Color shader]"""
|
|
105
119
|
|
|
106
|
-
def __init__(self, amplitude, period):
|
|
120
|
+
def __init__(self, amplitude: float, period: float):
|
|
107
121
|
"""Builds a ColorNoiseShader object.
|
|
108
122
|
|
|
109
123
|
:param amplitude: The amplitude of the noise signal.
|
|
124
|
+
:type amplitude: float
|
|
110
125
|
:param period: The period of the noise signal.
|
|
126
|
+
:type period: float
|
|
111
127
|
"""
|
|
112
128
|
...
|
|
113
129
|
|
|
@@ -122,13 +138,17 @@ class ColorNoiseShader:
|
|
|
122
138
|
class ConstantColorShader:
|
|
123
139
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `ConstantColorShader`[Color shader]"""
|
|
124
140
|
|
|
125
|
-
def __init__(self, red, green, blue, alpha=1.0):
|
|
141
|
+
def __init__(self, red: float, green: float, blue: float, alpha: float = 1.0):
|
|
126
142
|
"""Builds a ConstantColorShader object.
|
|
127
143
|
|
|
128
144
|
:param red: The red component.
|
|
145
|
+
:type red: float
|
|
129
146
|
:param green: The green component.
|
|
147
|
+
:type green: float
|
|
130
148
|
:param blue: The blue component.
|
|
149
|
+
:type blue: float
|
|
131
150
|
:param alpha: The alpha value.
|
|
151
|
+
:type alpha: float
|
|
132
152
|
"""
|
|
133
153
|
...
|
|
134
154
|
|
|
@@ -143,10 +163,11 @@ class ConstantColorShader:
|
|
|
143
163
|
class ConstantThicknessShader:
|
|
144
164
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `ConstantThicknessShader`[Thickness shader]"""
|
|
145
165
|
|
|
146
|
-
def __init__(self, thickness):
|
|
166
|
+
def __init__(self, thickness: float):
|
|
147
167
|
"""Builds a ConstantThicknessShader object.
|
|
148
168
|
|
|
149
169
|
:param thickness: The thickness that must be assigned to the stroke.
|
|
170
|
+
:type thickness: float
|
|
150
171
|
"""
|
|
151
172
|
...
|
|
152
173
|
|
|
@@ -161,12 +182,15 @@ class ConstantThicknessShader:
|
|
|
161
182
|
class ConstrainedIncreasingThicknessShader:
|
|
162
183
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `ConstrainedIncreasingThicknessShader`[Thickness shader]"""
|
|
163
184
|
|
|
164
|
-
def __init__(self, thickness_min, thickness_max, ratio):
|
|
185
|
+
def __init__(self, thickness_min: float, thickness_max: float, ratio: float):
|
|
165
186
|
"""Builds a ConstrainedIncreasingThicknessShader object.
|
|
166
187
|
|
|
167
188
|
:param thickness_min: The minimum thickness.
|
|
189
|
+
:type thickness_min: float
|
|
168
190
|
:param thickness_max: The maximum thickness.
|
|
191
|
+
:type thickness_max: float
|
|
169
192
|
:param ratio: The thickness/length ratio that we don't want to exceed.
|
|
193
|
+
:type ratio: float
|
|
170
194
|
"""
|
|
171
195
|
...
|
|
172
196
|
|
|
@@ -183,13 +207,14 @@ class ConstrainedIncreasingThicknessShader:
|
|
|
183
207
|
class GuidingLinesShader:
|
|
184
208
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `GuidingLinesShader`[Geometry shader]"""
|
|
185
209
|
|
|
186
|
-
def __init__(self, offset):
|
|
210
|
+
def __init__(self, offset: float):
|
|
187
211
|
"""Builds a GuidingLinesShader object.
|
|
188
212
|
|
|
189
213
|
:param offset: The line that replaces the stroke is initially in the
|
|
190
214
|
middle of the initial stroke bounding box. offset is the value
|
|
191
215
|
of the displacement which is applied to this line along its
|
|
192
216
|
normal.
|
|
217
|
+
:type offset: float
|
|
193
218
|
"""
|
|
194
219
|
...
|
|
195
220
|
|
|
@@ -211,25 +236,33 @@ class IncreasingColorShader:
|
|
|
211
236
|
|
|
212
237
|
def __init__(
|
|
213
238
|
self,
|
|
214
|
-
red_min,
|
|
215
|
-
green_min,
|
|
216
|
-
blue_min,
|
|
217
|
-
alpha_min,
|
|
218
|
-
red_max,
|
|
219
|
-
green_max,
|
|
220
|
-
blue_max,
|
|
221
|
-
alpha_max,
|
|
239
|
+
red_min: float,
|
|
240
|
+
green_min: float,
|
|
241
|
+
blue_min: float,
|
|
242
|
+
alpha_min: float,
|
|
243
|
+
red_max: float,
|
|
244
|
+
green_max: float,
|
|
245
|
+
blue_max: float,
|
|
246
|
+
alpha_max: float,
|
|
222
247
|
):
|
|
223
248
|
"""Builds an IncreasingColorShader object.
|
|
224
249
|
|
|
225
250
|
:param red_min: The first color red component.
|
|
251
|
+
:type red_min: float
|
|
226
252
|
:param green_min: The first color green component.
|
|
253
|
+
:type green_min: float
|
|
227
254
|
:param blue_min: The first color blue component.
|
|
255
|
+
:type blue_min: float
|
|
228
256
|
:param alpha_min: The first color alpha value.
|
|
257
|
+
:type alpha_min: float
|
|
229
258
|
:param red_max: The second color red component.
|
|
259
|
+
:type red_max: float
|
|
230
260
|
:param green_max: The second color green component.
|
|
261
|
+
:type green_max: float
|
|
231
262
|
:param blue_max: The second color blue component.
|
|
263
|
+
:type blue_max: float
|
|
232
264
|
:param alpha_max: The second color alpha value.
|
|
265
|
+
:type alpha_max: float
|
|
233
266
|
"""
|
|
234
267
|
...
|
|
235
268
|
|
|
@@ -246,11 +279,13 @@ class IncreasingColorShader:
|
|
|
246
279
|
class IncreasingThicknessShader:
|
|
247
280
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `IncreasingThicknessShader`[Thickness shader]"""
|
|
248
281
|
|
|
249
|
-
def __init__(self, thickness_A, thickness_B):
|
|
282
|
+
def __init__(self, thickness_A: float, thickness_B: float):
|
|
250
283
|
"""Builds an IncreasingThicknessShader object.
|
|
251
284
|
|
|
252
285
|
:param thickness_A: The first thickness value.
|
|
286
|
+
:type thickness_A: float
|
|
253
287
|
:param thickness_B: The second thickness value.
|
|
288
|
+
:type thickness_B: float
|
|
254
289
|
"""
|
|
255
290
|
...
|
|
256
291
|
|
|
@@ -269,13 +304,14 @@ class IncreasingThicknessShader:
|
|
|
269
304
|
class PolygonalizationShader:
|
|
270
305
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `PolygonalizationShader`[Geometry shader]"""
|
|
271
306
|
|
|
272
|
-
def __init__(self, error):
|
|
307
|
+
def __init__(self, error: float):
|
|
273
308
|
"""Builds a PolygonalizationShader object.
|
|
274
309
|
|
|
275
310
|
:param error: The error we want our polygonal approximation to have
|
|
276
311
|
with respect to the original geometry. The smaller, the closer
|
|
277
312
|
the new stroke is to the original one. This error corresponds to
|
|
278
313
|
the maximum distance between the new stroke and the old one.
|
|
314
|
+
:type error: float
|
|
279
315
|
"""
|
|
280
316
|
...
|
|
281
317
|
|
|
@@ -311,10 +347,11 @@ class RoundCapShader:
|
|
|
311
347
|
class SamplingShader:
|
|
312
348
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `SamplingShader`[Geometry shader]"""
|
|
313
349
|
|
|
314
|
-
def __init__(self, sampling):
|
|
350
|
+
def __init__(self, sampling: float):
|
|
315
351
|
"""Builds a SamplingShader object.
|
|
316
352
|
|
|
317
353
|
:param sampling: The sampling to use for the stroke resampling.
|
|
354
|
+
:type sampling: float
|
|
318
355
|
"""
|
|
319
356
|
...
|
|
320
357
|
|
|
@@ -331,25 +368,33 @@ class SmoothingShader:
|
|
|
331
368
|
|
|
332
369
|
def __init__(
|
|
333
370
|
self,
|
|
334
|
-
num_iterations=100,
|
|
335
|
-
factor_point=0.1,
|
|
336
|
-
factor_curvature=0.0,
|
|
337
|
-
factor_curvature_difference=0.2,
|
|
338
|
-
aniso_point=0.0,
|
|
339
|
-
aniso_normal=0.0,
|
|
340
|
-
aniso_curvature=0.0,
|
|
341
|
-
carricature_factor=1.0,
|
|
371
|
+
num_iterations: int = 100,
|
|
372
|
+
factor_point: float = 0.1,
|
|
373
|
+
factor_curvature: float = 0.0,
|
|
374
|
+
factor_curvature_difference: float = 0.2,
|
|
375
|
+
aniso_point: float = 0.0,
|
|
376
|
+
aniso_normal: float = 0.0,
|
|
377
|
+
aniso_curvature: float = 0.0,
|
|
378
|
+
carricature_factor: float = 1.0,
|
|
342
379
|
):
|
|
343
380
|
"""Builds a SmoothingShader object.
|
|
344
381
|
|
|
345
382
|
:param num_iterations: The number of iterations.
|
|
383
|
+
:type num_iterations: int
|
|
346
384
|
:param factor_point: 0.1
|
|
385
|
+
:type factor_point: float
|
|
347
386
|
:param factor_curvature: 0.0
|
|
387
|
+
:type factor_curvature: float
|
|
348
388
|
:param factor_curvature_difference: 0.2
|
|
389
|
+
:type factor_curvature_difference: float
|
|
349
390
|
:param aniso_point: 0.0
|
|
391
|
+
:type aniso_point: float
|
|
350
392
|
:param aniso_normal: 0.0
|
|
393
|
+
:type aniso_normal: float
|
|
351
394
|
:param aniso_curvature: 0.0
|
|
395
|
+
:type aniso_curvature: float
|
|
352
396
|
:param carricature_factor: 1.0
|
|
397
|
+
:type carricature_factor: float
|
|
353
398
|
"""
|
|
354
399
|
...
|
|
355
400
|
|
|
@@ -367,12 +412,22 @@ class SmoothingShader:
|
|
|
367
412
|
class SpatialNoiseShader:
|
|
368
413
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `SpatialNoiseShader`[Geometry shader]"""
|
|
369
414
|
|
|
370
|
-
def __init__(
|
|
415
|
+
def __init__(
|
|
416
|
+
self,
|
|
417
|
+
amount: float,
|
|
418
|
+
scale: float,
|
|
419
|
+
num_octaves: int,
|
|
420
|
+
smooth: bool,
|
|
421
|
+
pure_random: bool,
|
|
422
|
+
):
|
|
371
423
|
"""Builds a SpatialNoiseShader object.
|
|
372
424
|
|
|
373
425
|
:param amount: The amplitude of the noise.
|
|
426
|
+
:type amount: float
|
|
374
427
|
:param scale: The noise frequency.
|
|
428
|
+
:type scale: float
|
|
375
429
|
:param num_octaves: The number of octaves
|
|
430
|
+
:type num_octaves: int
|
|
376
431
|
:param smooth: True if you want the noise to be smooth.
|
|
377
432
|
:type smooth: bool
|
|
378
433
|
:param pure_random: True if you don't want any coherence.
|
|
@@ -402,10 +457,11 @@ class SquareCapShader:
|
|
|
402
457
|
class StrokeTextureStepShader:
|
|
403
458
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `StrokeTextureStepShader`[Texture shader]"""
|
|
404
459
|
|
|
405
|
-
def __init__(self, step):
|
|
460
|
+
def __init__(self, step: float):
|
|
406
461
|
"""Builds a StrokeTextureStepShader object.
|
|
407
462
|
|
|
408
463
|
:param step: The spacing along the stroke.
|
|
464
|
+
:type step: float
|
|
409
465
|
"""
|
|
410
466
|
...
|
|
411
467
|
|
|
@@ -420,11 +476,13 @@ class StrokeTextureStepShader:
|
|
|
420
476
|
class ThicknessNoiseShader:
|
|
421
477
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `ThicknessNoiseShader`[Thickness shader]"""
|
|
422
478
|
|
|
423
|
-
def __init__(self, amplitude, period):
|
|
479
|
+
def __init__(self, amplitude: float, period: float):
|
|
424
480
|
"""Builds a ThicknessNoiseShader object.
|
|
425
481
|
|
|
426
482
|
:param amplitude: The amplitude of the noise signal.
|
|
483
|
+
:type amplitude: float
|
|
427
484
|
:param period: The period of the noise signal.
|
|
485
|
+
:type period: float
|
|
428
486
|
"""
|
|
429
487
|
...
|
|
430
488
|
|
|
@@ -439,11 +497,12 @@ class ThicknessNoiseShader:
|
|
|
439
497
|
class TipRemoverShader:
|
|
440
498
|
"""Class hierarchy: `freestyle.types.StrokeShader` > `TipRemoverShader`[Geometry shader]"""
|
|
441
499
|
|
|
442
|
-
def __init__(self, tip_length):
|
|
500
|
+
def __init__(self, tip_length: float):
|
|
443
501
|
"""Builds a TipRemoverShader object.
|
|
444
502
|
|
|
445
503
|
:param tip_length: The length of the piece of stroke we want to remove
|
|
446
504
|
at each extremity.
|
|
505
|
+
:type tip_length: float
|
|
447
506
|
"""
|
|
448
507
|
...
|
|
449
508
|
|