fake-bpy-module 20240518__py3-none-any.whl → 20240520__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 +3 -1
- _bpy_internal/freedesktop/__init__.pyi +3 -1
- addon_utils/__init__.pyi +3 -1
- animsys_refactor/__init__.pyi +3 -1
- aud/__init__.pyi +3 -1
- bgl/__init__.pyi +121 -146
- bl_app_override/__init__.pyi +3 -1
- bl_app_override/helpers/__init__.pyi +3 -1
- bl_app_template_utils/__init__.pyi +3 -1
- bl_console_utils/__init__.pyi +3 -1
- bl_console_utils/autocomplete/__init__.pyi +3 -1
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +3 -1
- bl_console_utils/autocomplete/complete_import/__init__.pyi +3 -1
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +3 -1
- bl_console_utils/autocomplete/intellisense/__init__.pyi +3 -1
- bl_i18n_utils/__init__.pyi +3 -1
- bl_i18n_utils/bl_extract_messages/__init__.pyi +3 -1
- bl_i18n_utils/merge_po/__init__.pyi +3 -1
- bl_i18n_utils/settings/__init__.pyi +3 -1
- bl_i18n_utils/utils/__init__.pyi +3 -1
- bl_i18n_utils/utils_cli/__init__.pyi +3 -1
- bl_i18n_utils/utils_languages_menu/__init__.pyi +3 -1
- bl_i18n_utils/utils_rtl/__init__.pyi +3 -1
- bl_keymap_utils/__init__.pyi +3 -1
- bl_keymap_utils/io/__init__.pyi +3 -1
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +3 -1
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +3 -1
- bl_keymap_utils/platform_helpers/__init__.pyi +3 -1
- bl_keymap_utils/versioning/__init__.pyi +3 -1
- bl_math/__init__.pyi +3 -1
- bl_operators/__init__.pyi +3 -1
- bl_operators/add_mesh_torus/__init__.pyi +3 -1
- bl_operators/anim/__init__.pyi +3 -1
- bl_operators/assets/__init__.pyi +3 -1
- bl_operators/bmesh/__init__.pyi +3 -1
- bl_operators/bmesh/find_adjacent/__init__.pyi +3 -1
- bl_operators/clip/__init__.pyi +3 -1
- bl_operators/console/__init__.pyi +3 -1
- bl_operators/constraint/__init__.pyi +3 -1
- bl_operators/file/__init__.pyi +3 -1
- bl_operators/freestyle/__init__.pyi +3 -1
- bl_operators/geometry_nodes/__init__.pyi +3 -1
- bl_operators/image/__init__.pyi +3 -1
- bl_operators/mesh/__init__.pyi +3 -1
- bl_operators/node/__init__.pyi +3 -1
- bl_operators/object/__init__.pyi +3 -1
- bl_operators/object_align/__init__.pyi +3 -1
- bl_operators/object_quick_effects/__init__.pyi +3 -1
- bl_operators/object_randomize_transform/__init__.pyi +3 -1
- bl_operators/presets/__init__.pyi +3 -1
- bl_operators/rigidbody/__init__.pyi +3 -1
- bl_operators/screen_play_rendered_anim/__init__.pyi +3 -1
- bl_operators/sequencer/__init__.pyi +3 -1
- bl_operators/spreadsheet/__init__.pyi +3 -1
- bl_operators/userpref/__init__.pyi +3 -1
- bl_operators/uvcalc_follow_active/__init__.pyi +3 -1
- bl_operators/uvcalc_lightmap/__init__.pyi +3 -1
- bl_operators/uvcalc_transform/__init__.pyi +3 -1
- bl_operators/vertexpaint_dirt/__init__.pyi +3 -1
- bl_operators/view3d/__init__.pyi +3 -1
- bl_operators/wm/__init__.pyi +3 -1
- bl_operators/world/__init__.pyi +3 -1
- bl_previews_utils/__init__.pyi +3 -1
- bl_previews_utils/bl_previews_render/__init__.pyi +3 -1
- bl_rna_utils/__init__.pyi +3 -1
- bl_rna_utils/data_path/__init__.pyi +3 -1
- bl_text_utils/__init__.pyi +3 -1
- bl_text_utils/external_editor/__init__.pyi +3 -1
- bl_ui/__init__.pyi +3 -1
- bl_ui/anim/__init__.pyi +3 -1
- bl_ui/asset_shelf/__init__.pyi +3 -1
- bl_ui/generic_ui_list/__init__.pyi +3 -1
- bl_ui/node_add_menu/__init__.pyi +3 -1
- bl_ui/node_add_menu_compositor/__init__.pyi +3 -1
- bl_ui/node_add_menu_geometry/__init__.pyi +3 -1
- bl_ui/node_add_menu_shader/__init__.pyi +3 -1
- bl_ui/node_add_menu_texture/__init__.pyi +3 -1
- bl_ui/properties_animviz/__init__.pyi +3 -1
- bl_ui/properties_collection/__init__.pyi +3 -1
- bl_ui/properties_constraint/__init__.pyi +3 -1
- bl_ui/properties_data_armature/__init__.pyi +3 -1
- bl_ui/properties_data_bone/__init__.pyi +3 -1
- bl_ui/properties_data_camera/__init__.pyi +3 -1
- bl_ui/properties_data_curve/__init__.pyi +3 -1
- bl_ui/properties_data_curves/__init__.pyi +3 -1
- bl_ui/properties_data_empty/__init__.pyi +3 -1
- bl_ui/properties_data_gpencil/__init__.pyi +3 -1
- bl_ui/properties_data_grease_pencil/__init__.pyi +3 -1
- bl_ui/properties_data_lattice/__init__.pyi +3 -1
- bl_ui/properties_data_light/__init__.pyi +3 -1
- bl_ui/properties_data_lightprobe/__init__.pyi +3 -1
- bl_ui/properties_data_mesh/__init__.pyi +3 -1
- bl_ui/properties_data_metaball/__init__.pyi +3 -1
- bl_ui/properties_data_modifier/__init__.pyi +3 -1
- bl_ui/properties_data_pointcloud/__init__.pyi +3 -1
- bl_ui/properties_data_shaderfx/__init__.pyi +3 -1
- bl_ui/properties_data_speaker/__init__.pyi +3 -1
- bl_ui/properties_data_volume/__init__.pyi +3 -1
- bl_ui/properties_freestyle/__init__.pyi +3 -1
- bl_ui/properties_grease_pencil_common/__init__.pyi +3 -1
- bl_ui/properties_mask_common/__init__.pyi +3 -1
- bl_ui/properties_material/__init__.pyi +3 -1
- bl_ui/properties_material_gpencil/__init__.pyi +3 -1
- bl_ui/properties_object/__init__.pyi +3 -1
- bl_ui/properties_output/__init__.pyi +3 -1
- bl_ui/properties_paint_common/__init__.pyi +3 -1
- bl_ui/properties_particle/__init__.pyi +3 -1
- bl_ui/properties_physics_cloth/__init__.pyi +3 -1
- bl_ui/properties_physics_common/__init__.pyi +3 -1
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +3 -1
- bl_ui/properties_physics_field/__init__.pyi +3 -1
- bl_ui/properties_physics_fluid/__init__.pyi +3 -1
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +3 -1
- bl_ui/properties_physics_rigidbody/__init__.pyi +3 -1
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +3 -1
- bl_ui/properties_physics_softbody/__init__.pyi +3 -1
- bl_ui/properties_render/__init__.pyi +3 -1
- bl_ui/properties_scene/__init__.pyi +3 -1
- bl_ui/properties_texture/__init__.pyi +3 -1
- bl_ui/properties_view_layer/__init__.pyi +3 -1
- bl_ui/properties_workspace/__init__.pyi +3 -1
- bl_ui/properties_world/__init__.pyi +3 -1
- bl_ui/space_clip/__init__.pyi +3 -1
- bl_ui/space_console/__init__.pyi +3 -1
- bl_ui/space_dopesheet/__init__.pyi +3 -1
- bl_ui/space_filebrowser/__init__.pyi +3 -1
- bl_ui/space_graph/__init__.pyi +3 -1
- bl_ui/space_image/__init__.pyi +3 -1
- bl_ui/space_info/__init__.pyi +3 -1
- bl_ui/space_nla/__init__.pyi +3 -1
- bl_ui/space_node/__init__.pyi +3 -1
- bl_ui/space_outliner/__init__.pyi +3 -1
- bl_ui/space_properties/__init__.pyi +3 -1
- bl_ui/space_sequencer/__init__.pyi +3 -1
- bl_ui/space_spreadsheet/__init__.pyi +3 -1
- bl_ui/space_statusbar/__init__.pyi +3 -1
- bl_ui/space_text/__init__.pyi +3 -1
- bl_ui/space_time/__init__.pyi +3 -1
- bl_ui/space_toolsystem_common/__init__.pyi +3 -1
- bl_ui/space_toolsystem_toolbar/__init__.pyi +3 -1
- bl_ui/space_topbar/__init__.pyi +3 -1
- bl_ui/space_userpref/__init__.pyi +3 -1
- bl_ui/space_view3d/__init__.pyi +3 -1
- bl_ui/space_view3d_toolbar/__init__.pyi +3 -1
- bl_ui/temp_anim_layers/__init__.pyi +3 -1
- bl_ui/utils/__init__.pyi +3 -1
- bl_ui_utils/__init__.pyi +3 -1
- bl_ui_utils/bug_report_url/__init__.pyi +3 -1
- bl_ui_utils/layout/__init__.pyi +3 -1
- blend_render_info/__init__.pyi +3 -1
- blf/__init__.pyi +3 -1
- bmesh/__init__.pyi +3 -1
- bmesh/geometry/__init__.pyi +3 -1
- bmesh/ops/__init__.pyi +39 -37
- bmesh/types/__init__.pyi +31 -28
- bmesh/utils/__init__.pyi +3 -1
- bpy/__init__.pyi +3 -1
- bpy/app/__init__.pyi +3 -1
- bpy/app/handlers/__init__.pyi +3 -1
- bpy/app/icons/__init__.pyi +3 -1
- bpy/app/timers/__init__.pyi +9 -15
- bpy/app/translations/__init__.pyi +3 -1
- bpy/msgbus/__init__.pyi +3 -1
- bpy/ops/__init__.pyi +3 -1
- bpy/ops/action/__init__.pyi +35 -33
- bpy/ops/anim/__init__.pyi +33 -31
- bpy/ops/armature/__init__.pyi +23 -21
- bpy/ops/asset/__init__.pyi +9 -7
- bpy/ops/bl_pkg/__init__.pyi +5 -3
- bpy/ops/boid/__init__.pyi +5 -3
- bpy/ops/brush/__init__.pyi +11 -9
- bpy/ops/buttons/__init__.pyi +11 -9
- bpy/ops/cachefile/__init__.pyi +13 -11
- bpy/ops/camera/__init__.pyi +3 -1
- bpy/ops/clip/__init__.pyi +41 -39
- bpy/ops/cloth/__init__.pyi +3 -1
- bpy/ops/collection/__init__.pyi +9 -7
- bpy/ops/console/__init__.pyi +9 -7
- bpy/ops/constraint/__init__.pyi +31 -29
- bpy/ops/curve/__init__.pyi +37 -35
- bpy/ops/curves/__init__.pyi +19 -17
- bpy/ops/cycles/__init__.pyi +3 -1
- bpy/ops/dpaint/__init__.pyi +7 -5
- bpy/ops/ed/__init__.pyi +7 -5
- bpy/ops/export_anim/__init__.pyi +5 -3
- bpy/ops/export_scene/__init__.pyi +41 -39
- bpy/ops/file/__init__.pyi +21 -19
- bpy/ops/fluid/__init__.pyi +3 -1
- bpy/ops/font/__init__.pyi +23 -21
- bpy/ops/geometry/__init__.pyi +23 -21
- bpy/ops/gizmogroup/__init__.pyi +3 -1
- bpy/ops/gpencil/__init__.pyi +135 -133
- bpy/ops/graph/__init__.pyi +57 -55
- bpy/ops/grease_pencil/__init__.pyi +45 -43
- bpy/ops/image/__init__.pyi +31 -29
- bpy/ops/import_anim/__init__.pyi +11 -9
- bpy/ops/import_curve/__init__.pyi +3 -1
- bpy/ops/import_scene/__init__.pyi +21 -19
- bpy/ops/info/__init__.pyi +7 -5
- bpy/ops/lattice/__init__.pyi +9 -7
- bpy/ops/marker/__init__.pyi +11 -9
- bpy/ops/mask/__init__.pyi +15 -13
- bpy/ops/material/__init__.pyi +3 -1
- bpy/ops/mball/__init__.pyi +9 -7
- bpy/ops/mesh/__init__.pyi +147 -145
- bpy/ops/nla/__init__.pyi +19 -17
- bpy/ops/node/__init__.pyi +35 -33
- bpy/ops/object/__init__.pyi +255 -253
- bpy/ops/outliner/__init__.pyi +43 -41
- bpy/ops/paint/__init__.pyi +75 -73
- bpy/ops/paintcurve/__init__.pyi +3 -1
- bpy/ops/palette/__init__.pyi +7 -5
- bpy/ops/particle/__init__.pyi +17 -15
- bpy/ops/pose/__init__.pyi +45 -43
- bpy/ops/poselib/__init__.pyi +3 -1
- bpy/ops/preferences/__init__.pyi +15 -13
- bpy/ops/ptcache/__init__.pyi +3 -1
- bpy/ops/render/__init__.pyi +5 -3
- bpy/ops/rigidbody/__init__.pyi +19 -17
- bpy/ops/scene/__init__.pyi +27 -25
- bpy/ops/screen/__init__.pyi +23 -21
- bpy/ops/script/__init__.pyi +3 -1
- bpy/ops/sculpt/__init__.pyi +69 -67
- bpy/ops/sculpt_curves/__init__.pyi +5 -3
- bpy/ops/sequencer/__init__.pyi +77 -75
- bpy/ops/sound/__init__.pyi +23 -21
- bpy/ops/spreadsheet/__init__.pyi +3 -1
- bpy/ops/surface/__init__.pyi +15 -13
- bpy/ops/text/__init__.pyi +25 -23
- bpy/ops/text_editor/__init__.pyi +3 -1
- bpy/ops/texture/__init__.pyi +5 -3
- bpy/ops/transform/__init__.pyi +91 -89
- bpy/ops/ui/__init__.pyi +9 -7
- bpy/ops/uilist/__init__.pyi +5 -3
- bpy/ops/uv/__init__.pyi +69 -67
- bpy/ops/view2d/__init__.pyi +3 -1
- bpy/ops/view3d/__init__.pyi +37 -35
- bpy/ops/wm/__init__.pyi +199 -197
- bpy/ops/workspace/__init__.pyi +3 -1
- bpy/ops/world/__init__.pyi +3 -1
- bpy/path/__init__.pyi +3 -1
- bpy/props/__init__.pyi +3 -1
- bpy/types/__init__.pyi +3448 -3370
- bpy/utils/__init__.pyi +3 -1
- bpy/utils/previews/__init__.pyi +3 -1
- bpy/utils/units/__init__.pyi +3 -1
- bpy_extras/__init__.pyi +3 -1
- bpy_extras/anim_utils/__init__.pyi +3 -1
- bpy_extras/asset_utils/__init__.pyi +3 -1
- bpy_extras/bmesh_utils/__init__.pyi +3 -1
- bpy_extras/extensions/__init__.pyi +3 -1
- bpy_extras/extensions/junction_module/__init__.pyi +3 -1
- bpy_extras/id_map_utils/__init__.pyi +3 -1
- bpy_extras/image_utils/__init__.pyi +3 -1
- bpy_extras/io_utils/__init__.pyi +3 -1
- bpy_extras/keyconfig_utils/__init__.pyi +3 -1
- bpy_extras/mesh_utils/__init__.pyi +3 -1
- bpy_extras/node_shader_utils/__init__.pyi +3 -1
- bpy_extras/node_utils/__init__.pyi +3 -1
- bpy_extras/object_utils/__init__.pyi +3 -1
- bpy_extras/view3d_utils/__init__.pyi +3 -1
- bpy_extras/wm_utils/__init__.pyi +3 -1
- bpy_extras/wm_utils/progress_report/__init__.pyi +3 -1
- bpy_restrict_state/__init__.pyi +3 -1
- bpy_types/__init__.pyi +3 -1
- console_python/__init__.pyi +3 -1
- console_shell/__init__.pyi +3 -1
- {fake_bpy_module-20240518.dist-info → fake_bpy_module-20240520.dist-info}/METADATA +1 -1
- fake_bpy_module-20240520.dist-info/RECORD +353 -0
- freestyle/__init__.pyi +3 -1
- freestyle/chainingiterators/__init__.pyi +3 -1
- freestyle/functions/__init__.pyi +3 -1
- freestyle/predicates/__init__.pyi +3 -1
- freestyle/shaders/__init__.pyi +3 -1
- freestyle/types/__init__.pyi +3 -1
- freestyle/utils/ContextFunctions/__init__.pyi +3 -1
- freestyle/utils/__init__.pyi +3 -1
- gpu/__init__.pyi +3 -1
- gpu/capabilities/__init__.pyi +3 -1
- gpu/matrix/__init__.pyi +3 -1
- gpu/platform/__init__.pyi +3 -1
- gpu/select/__init__.pyi +3 -1
- gpu/shader/__init__.pyi +3 -1
- gpu/state/__init__.pyi +3 -1
- gpu/texture/__init__.pyi +3 -1
- gpu/types/__init__.pyi +3 -1
- gpu_extras/__init__.pyi +3 -1
- gpu_extras/batch/__init__.pyi +3 -1
- gpu_extras/presets/__init__.pyi +3 -1
- graphviz_export/__init__.pyi +3 -1
- idprop/__init__.pyi +3 -1
- idprop/types/__init__.pyi +3 -1
- imbuf/__init__.pyi +3 -1
- imbuf/types/__init__.pyi +3 -1
- keyingsets_builtins/__init__.pyi +3 -1
- keyingsets_utils/__init__.pyi +3 -1
- mathutils/__init__.pyi +5 -2
- mathutils/bvhtree/__init__.pyi +3 -1
- mathutils/geometry/__init__.pyi +3 -1
- mathutils/interpolate/__init__.pyi +3 -1
- mathutils/kdtree/__init__.pyi +3 -1
- mathutils/noise/__init__.pyi +3 -1
- nodeitems_builtins/__init__.pyi +3 -1
- nodeitems_utils/__init__.pyi +3 -1
- rna_info/__init__.pyi +3 -1
- rna_keymap_ui/__init__.pyi +3 -1
- rna_prop_ui/__init__.pyi +3 -1
- rna_xml/__init__.pyi +3 -1
- sys_info/__init__.pyi +3 -1
- fake_bpy_module-20240518.dist-info/RECORD +0 -353
- {fake_bpy_module-20240518.dist-info → fake_bpy_module-20240520.dist-info}/WHEEL +0 -0
- {fake_bpy_module-20240518.dist-info → fake_bpy_module-20240520.dist-info}/top_level.txt +0 -0
bpy/ops/sculpt/__init__.pyi
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import typing
|
|
2
|
+
import collections.abc
|
|
2
3
|
import bpy.types
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
GenericType1 = typing.TypeVar("GenericType1")
|
|
6
|
+
GenericType2 = typing.TypeVar("GenericType2")
|
|
5
7
|
|
|
6
8
|
def brush_stroke(
|
|
7
9
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
@@ -9,7 +11,7 @@ def brush_stroke(
|
|
|
9
11
|
undo: bool | None = None,
|
|
10
12
|
stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
11
13
|
| None = None,
|
|
12
|
-
mode:
|
|
14
|
+
mode: str | None = "NORMAL",
|
|
13
15
|
ignore_background_click: bool | typing.Any | None = False,
|
|
14
16
|
):
|
|
15
17
|
"""Sculpt a stroke into the geometry
|
|
@@ -29,7 +31,7 @@ def brush_stroke(
|
|
|
29
31
|
|
|
30
32
|
SMOOTH
|
|
31
33
|
Smooth -- Switch brush to smooth mode for duration of stroke.
|
|
32
|
-
:type mode:
|
|
34
|
+
:type mode: str | None
|
|
33
35
|
:param ignore_background_click: Ignore Background Click, Clicks on the background do not start the stroke
|
|
34
36
|
:type ignore_background_click: bool | typing.Any | None
|
|
35
37
|
"""
|
|
@@ -46,9 +48,9 @@ def cloth_filter(
|
|
|
46
48
|
iteration_count: typing.Any | None = 1,
|
|
47
49
|
event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
48
50
|
| None = None,
|
|
49
|
-
type:
|
|
50
|
-
force_axis:
|
|
51
|
-
orientation:
|
|
51
|
+
type: str | None = "GRAVITY",
|
|
52
|
+
force_axis: set[str] | None = {"X", "Y", "Z"},
|
|
53
|
+
orientation: str | None = "LOCAL",
|
|
52
54
|
cloth_mass: typing.Any | None = 1.0,
|
|
53
55
|
cloth_damping: typing.Any | None = 0.0,
|
|
54
56
|
use_face_sets: bool | typing.Any | None = False,
|
|
@@ -84,7 +86,7 @@ def cloth_filter(
|
|
|
84
86
|
|
|
85
87
|
SCALE
|
|
86
88
|
Scale -- Scales the mesh as a soft body using the origin of the object as scale.
|
|
87
|
-
:type type:
|
|
89
|
+
:type type: str | None
|
|
88
90
|
:param force_axis: Force Axis, Apply the force in the selected axis
|
|
89
91
|
|
|
90
92
|
X
|
|
@@ -95,7 +97,7 @@ def cloth_filter(
|
|
|
95
97
|
|
|
96
98
|
Z
|
|
97
99
|
Z -- Apply force in the Z axis.
|
|
98
|
-
:type force_axis:
|
|
100
|
+
:type force_axis: set[str] | None
|
|
99
101
|
:param orientation: Orientation, Orientation of the axis to limit the filter force
|
|
100
102
|
|
|
101
103
|
LOCAL
|
|
@@ -106,7 +108,7 @@ def cloth_filter(
|
|
|
106
108
|
|
|
107
109
|
VIEW
|
|
108
110
|
View -- Use the view axis to limit the force and set the gravity direction.
|
|
109
|
-
:type orientation:
|
|
111
|
+
:type orientation: str | None
|
|
110
112
|
:param cloth_mass: Cloth Mass, Mass of each simulation particle
|
|
111
113
|
:type cloth_mass: typing.Any | None
|
|
112
114
|
:param cloth_damping: Cloth Damping, How much the applied forces are propagated through the cloth
|
|
@@ -129,7 +131,7 @@ def color_filter(
|
|
|
129
131
|
iteration_count: typing.Any | None = 1,
|
|
130
132
|
event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
131
133
|
| None = None,
|
|
132
|
-
type:
|
|
134
|
+
type: str | None = "FILL",
|
|
133
135
|
fill_color: typing.Any | None = (1.0, 1.0, 1.0),
|
|
134
136
|
):
|
|
135
137
|
"""Applies a filter to modify the active color attribute
|
|
@@ -177,7 +179,7 @@ def color_filter(
|
|
|
177
179
|
|
|
178
180
|
BLUE
|
|
179
181
|
Blue -- Change blue channel.
|
|
180
|
-
:type type:
|
|
182
|
+
:type type: str | None
|
|
181
183
|
:param fill_color: Fill Color
|
|
182
184
|
:type fill_color: typing.Any | None
|
|
183
185
|
"""
|
|
@@ -230,8 +232,8 @@ def expand(
|
|
|
230
232
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
231
233
|
execution_context: str | int | None = None,
|
|
232
234
|
undo: bool | None = None,
|
|
233
|
-
target:
|
|
234
|
-
falloff_type:
|
|
235
|
+
target: str | None = "MASK",
|
|
236
|
+
falloff_type: str | None = "GEODESIC",
|
|
235
237
|
invert: bool | typing.Any | None = False,
|
|
236
238
|
use_mask_preserve: bool | typing.Any | None = False,
|
|
237
239
|
use_falloff_gradient: bool | typing.Any | None = False,
|
|
@@ -247,9 +249,9 @@ def expand(
|
|
|
247
249
|
:type execution_context: str | int | None
|
|
248
250
|
:type undo: bool | None
|
|
249
251
|
:param target: Data Target, Data that is going to be modified in the expand operation
|
|
250
|
-
:type target:
|
|
252
|
+
:type target: str | None
|
|
251
253
|
:param falloff_type: Falloff Type, Initial falloff of the expand operation
|
|
252
|
-
:type falloff_type:
|
|
254
|
+
:type falloff_type: str | None
|
|
253
255
|
:param invert: Invert, Invert the expand active elements
|
|
254
256
|
:type invert: bool | typing.Any | None
|
|
255
257
|
:param use_mask_preserve: Preserve Previous, Preserve the previous state of the target data
|
|
@@ -306,7 +308,7 @@ def face_set_change_visibility(
|
|
|
306
308
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
307
309
|
execution_context: str | int | None = None,
|
|
308
310
|
undo: bool | None = None,
|
|
309
|
-
mode:
|
|
311
|
+
mode: str | None = "TOGGLE",
|
|
310
312
|
):
|
|
311
313
|
"""Change the visibility of the Face Sets of the sculpt
|
|
312
314
|
|
|
@@ -323,7 +325,7 @@ def face_set_change_visibility(
|
|
|
323
325
|
|
|
324
326
|
HIDE_ACTIVE
|
|
325
327
|
Hide Active Face Sets -- Hide Active Face Sets.
|
|
326
|
-
:type mode:
|
|
328
|
+
:type mode: str | None
|
|
327
329
|
"""
|
|
328
330
|
|
|
329
331
|
...
|
|
@@ -333,7 +335,7 @@ def face_set_edit(
|
|
|
333
335
|
execution_context: str | int | None = None,
|
|
334
336
|
undo: bool | None = None,
|
|
335
337
|
active_face_set: typing.Any | None = 1,
|
|
336
|
-
mode:
|
|
338
|
+
mode: str | None = "GROW",
|
|
337
339
|
strength: typing.Any | None = 1.0,
|
|
338
340
|
modify_hidden: bool | typing.Any | None = True,
|
|
339
341
|
):
|
|
@@ -360,7 +362,7 @@ def face_set_edit(
|
|
|
360
362
|
|
|
361
363
|
FAIR_TANGENCY
|
|
362
364
|
Fair Tangency -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex tangents.
|
|
363
|
-
:type mode:
|
|
365
|
+
:type mode: str | None
|
|
364
366
|
:param strength: Strength
|
|
365
367
|
:type strength: typing.Any | None
|
|
366
368
|
:param modify_hidden: Modify Hidden, Apply the edit operation to hidden geometry
|
|
@@ -393,7 +395,7 @@ def face_sets_create(
|
|
|
393
395
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
394
396
|
execution_context: str | int | None = None,
|
|
395
397
|
undo: bool | None = None,
|
|
396
|
-
mode:
|
|
398
|
+
mode: str | None = "MASKED",
|
|
397
399
|
):
|
|
398
400
|
"""Create a new Face Set
|
|
399
401
|
|
|
@@ -413,7 +415,7 @@ def face_sets_create(
|
|
|
413
415
|
|
|
414
416
|
SELECTION
|
|
415
417
|
Face Set from Edit Mode Selection -- Create an Face Set corresponding to the Edit Mode face selection.
|
|
416
|
-
:type mode:
|
|
418
|
+
:type mode: str | None
|
|
417
419
|
"""
|
|
418
420
|
|
|
419
421
|
...
|
|
@@ -422,7 +424,7 @@ def face_sets_init(
|
|
|
422
424
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
423
425
|
execution_context: str | int | None = None,
|
|
424
426
|
undo: bool | None = None,
|
|
425
|
-
mode:
|
|
427
|
+
mode: str | None = "LOOSE_PARTS",
|
|
426
428
|
threshold: typing.Any | None = 0.5,
|
|
427
429
|
):
|
|
428
430
|
"""Initializes all Face Sets in the mesh
|
|
@@ -455,7 +457,7 @@ def face_sets_init(
|
|
|
455
457
|
|
|
456
458
|
FACE_SET_BOUNDARIES
|
|
457
459
|
Face Sets from Face Set Boundaries -- Create a Face Set per isolated Face Set.
|
|
458
|
-
:type mode:
|
|
460
|
+
:type mode: str | None
|
|
459
461
|
:param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the Face Sets
|
|
460
462
|
:type threshold: typing.Any | None
|
|
461
463
|
"""
|
|
@@ -506,7 +508,7 @@ def mask_filter(
|
|
|
506
508
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
507
509
|
execution_context: str | int | None = None,
|
|
508
510
|
undo: bool | None = None,
|
|
509
|
-
filter_type:
|
|
511
|
+
filter_type: str | None = "SMOOTH",
|
|
510
512
|
iterations: typing.Any | None = 1,
|
|
511
513
|
auto_iteration_count: bool | typing.Any | None = True,
|
|
512
514
|
):
|
|
@@ -516,7 +518,7 @@ def mask_filter(
|
|
|
516
518
|
:type execution_context: str | int | None
|
|
517
519
|
:type undo: bool | None
|
|
518
520
|
:param filter_type: Type, Filter that is going to be applied to the mask
|
|
519
|
-
:type filter_type:
|
|
521
|
+
:type filter_type: str | None
|
|
520
522
|
:param iterations: Iterations, Number of times that the filter is going to be applied
|
|
521
523
|
:type iterations: typing.Any | None
|
|
522
524
|
:param auto_iteration_count: Auto Iteration Count, Use a automatic number of iterations based on the number of vertices of the sculpt
|
|
@@ -529,9 +531,9 @@ def mask_from_cavity(
|
|
|
529
531
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
530
532
|
execution_context: str | int | None = None,
|
|
531
533
|
undo: bool | None = None,
|
|
532
|
-
mix_mode:
|
|
534
|
+
mix_mode: str | None = "MIX",
|
|
533
535
|
mix_factor: typing.Any | None = 1.0,
|
|
534
|
-
settings_source:
|
|
536
|
+
settings_source: str | None = "OPERATOR",
|
|
535
537
|
factor: typing.Any | None = 0.5,
|
|
536
538
|
blur_steps: typing.Any | None = 2,
|
|
537
539
|
use_curve: bool | typing.Any | None = False,
|
|
@@ -543,7 +545,7 @@ def mask_from_cavity(
|
|
|
543
545
|
:type execution_context: str | int | None
|
|
544
546
|
:type undo: bool | None
|
|
545
547
|
:param mix_mode: Mode, Mix mode
|
|
546
|
-
:type mix_mode:
|
|
548
|
+
:type mix_mode: str | None
|
|
547
549
|
:param mix_factor: Mix Factor
|
|
548
550
|
:type mix_factor: typing.Any | None
|
|
549
551
|
:param settings_source: Settings, Use settings from here
|
|
@@ -556,7 +558,7 @@ def mask_from_cavity(
|
|
|
556
558
|
|
|
557
559
|
SCENE
|
|
558
560
|
Scene -- Use settings from scene.
|
|
559
|
-
:type settings_source:
|
|
561
|
+
:type settings_source: str | None
|
|
560
562
|
:param factor: Factor, The contrast of the cavity mask
|
|
561
563
|
:type factor: typing.Any | None
|
|
562
564
|
:param blur_steps: Blur, The number of times the cavity mask is blurred
|
|
@@ -573,7 +575,7 @@ def mask_init(
|
|
|
573
575
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
574
576
|
execution_context: str | int | None = None,
|
|
575
577
|
undo: bool | None = None,
|
|
576
|
-
mode:
|
|
578
|
+
mode: str | None = "RANDOM_PER_VERTEX",
|
|
577
579
|
):
|
|
578
580
|
"""Creates a new mask for the entire mesh
|
|
579
581
|
|
|
@@ -581,7 +583,7 @@ def mask_init(
|
|
|
581
583
|
:type execution_context: str | int | None
|
|
582
584
|
:type undo: bool | None
|
|
583
585
|
:param mode: Mode
|
|
584
|
-
:type mode:
|
|
586
|
+
:type mode: str | None
|
|
585
587
|
"""
|
|
586
588
|
|
|
587
589
|
...
|
|
@@ -596,9 +598,9 @@ def mesh_filter(
|
|
|
596
598
|
iteration_count: typing.Any | None = 1,
|
|
597
599
|
event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
598
600
|
| None = None,
|
|
599
|
-
type:
|
|
600
|
-
deform_axis:
|
|
601
|
-
orientation:
|
|
601
|
+
type: str | None = "INFLATE",
|
|
602
|
+
deform_axis: set[str] | None = {"X", "Y", "Z"},
|
|
603
|
+
orientation: str | None = "LOCAL",
|
|
602
604
|
surface_smooth_shape_preservation: typing.Any | None = 0.5,
|
|
603
605
|
surface_smooth_current_vertex: typing.Any | None = 0.5,
|
|
604
606
|
sharpen_smooth_ratio: typing.Any | None = 0.35,
|
|
@@ -653,7 +655,7 @@ def mesh_filter(
|
|
|
653
655
|
|
|
654
656
|
ERASE_DISCPLACEMENT
|
|
655
657
|
Erase Displacement -- Deletes the displacement of the Multires Modifier.
|
|
656
|
-
:type type:
|
|
658
|
+
:type type: str | None
|
|
657
659
|
:param deform_axis: Deform Axis, Apply the deformation in the selected axis
|
|
658
660
|
|
|
659
661
|
X
|
|
@@ -664,7 +666,7 @@ def mesh_filter(
|
|
|
664
666
|
|
|
665
667
|
Z
|
|
666
668
|
Z -- Deform in the Z axis.
|
|
667
|
-
:type deform_axis:
|
|
669
|
+
:type deform_axis: set[str] | None
|
|
668
670
|
:param orientation: Orientation, Orientation of the axis to limit the filter displacement
|
|
669
671
|
|
|
670
672
|
LOCAL
|
|
@@ -675,7 +677,7 @@ def mesh_filter(
|
|
|
675
677
|
|
|
676
678
|
VIEW
|
|
677
679
|
View -- Use the view axis to limit the displacement.
|
|
678
|
-
:type orientation:
|
|
680
|
+
:type orientation: str | None
|
|
679
681
|
:param surface_smooth_shape_preservation: Shape Preservation, How much of the original shape is preserved when smoothing
|
|
680
682
|
:type surface_smooth_shape_preservation: typing.Any | None
|
|
681
683
|
:param surface_smooth_current_vertex: Per Vertex Displacement, How much the position of each individual vertex influences the final result
|
|
@@ -761,7 +763,7 @@ def sample_detail_size(
|
|
|
761
763
|
execution_context: str | int | None = None,
|
|
762
764
|
undo: bool | None = None,
|
|
763
765
|
location: typing.Any | None = (0, 0),
|
|
764
|
-
mode:
|
|
766
|
+
mode: str | None = "DYNTOPO",
|
|
765
767
|
):
|
|
766
768
|
"""Sample the mesh detail on clicked point
|
|
767
769
|
|
|
@@ -777,7 +779,7 @@ def sample_detail_size(
|
|
|
777
779
|
|
|
778
780
|
VOXEL
|
|
779
781
|
Voxel -- Sample mesh voxel size.
|
|
780
|
-
:type mode:
|
|
782
|
+
:type mode: str | None
|
|
781
783
|
"""
|
|
782
784
|
|
|
783
785
|
...
|
|
@@ -814,7 +816,7 @@ def set_pivot_position(
|
|
|
814
816
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
815
817
|
execution_context: str | int | None = None,
|
|
816
818
|
undo: bool | None = None,
|
|
817
|
-
mode:
|
|
819
|
+
mode: str | None = "UNMASKED",
|
|
818
820
|
mouse_x: typing.Any | None = 0.0,
|
|
819
821
|
mouse_y: typing.Any | None = 0.0,
|
|
820
822
|
):
|
|
@@ -839,7 +841,7 @@ def set_pivot_position(
|
|
|
839
841
|
|
|
840
842
|
SURFACE
|
|
841
843
|
Surface -- Sets the pivot position to the surface under the cursor.
|
|
842
|
-
:type mode:
|
|
844
|
+
:type mode: str | None
|
|
843
845
|
:param mouse_x: Mouse Position X, Position of the mouse used for "Surface" mode
|
|
844
846
|
:type mouse_x: typing.Any | None
|
|
845
847
|
:param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" mode
|
|
@@ -876,11 +878,11 @@ def trim_box_gesture(
|
|
|
876
878
|
wait_for_input: bool | typing.Any | None = True,
|
|
877
879
|
use_front_faces_only: bool | typing.Any | None = False,
|
|
878
880
|
location: typing.Any | None = (0, 0),
|
|
879
|
-
trim_mode:
|
|
881
|
+
trim_mode: str | None = "DIFFERENCE",
|
|
880
882
|
use_cursor_depth: bool | typing.Any | None = False,
|
|
881
|
-
trim_orientation:
|
|
882
|
-
trim_extrude_mode:
|
|
883
|
-
trim_solver:
|
|
883
|
+
trim_orientation: str | None = "VIEW",
|
|
884
|
+
trim_extrude_mode: str | None = "FIXED",
|
|
885
|
+
trim_solver: str | None = "FAST",
|
|
884
886
|
):
|
|
885
887
|
"""Execute a boolean operation on the mesh and a rectangle defined by the cursor
|
|
886
888
|
|
|
@@ -911,7 +913,7 @@ def trim_box_gesture(
|
|
|
911
913
|
|
|
912
914
|
JOIN
|
|
913
915
|
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
914
|
-
:type trim_mode:
|
|
916
|
+
:type trim_mode: str | None
|
|
915
917
|
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
916
918
|
:type use_cursor_depth: bool | typing.Any | None
|
|
917
919
|
:param trim_orientation: Shape Orientation
|
|
@@ -921,7 +923,7 @@ def trim_box_gesture(
|
|
|
921
923
|
|
|
922
924
|
SURFACE
|
|
923
925
|
Surface -- Use the surface normal to orientate the trimming shape.
|
|
924
|
-
:type trim_orientation:
|
|
926
|
+
:type trim_orientation: str | None
|
|
925
927
|
:param trim_extrude_mode: Extrude Mode
|
|
926
928
|
|
|
927
929
|
PROJECT
|
|
@@ -929,7 +931,7 @@ def trim_box_gesture(
|
|
|
929
931
|
|
|
930
932
|
FIXED
|
|
931
933
|
Fixed -- Extrude back faces by fixed amount.
|
|
932
|
-
:type trim_extrude_mode:
|
|
934
|
+
:type trim_extrude_mode: str | None
|
|
933
935
|
:param trim_solver: Solver
|
|
934
936
|
|
|
935
937
|
EXACT
|
|
@@ -937,7 +939,7 @@ def trim_box_gesture(
|
|
|
937
939
|
|
|
938
940
|
FAST
|
|
939
941
|
Fast -- Use the fast float boolean solver.
|
|
940
|
-
:type trim_solver:
|
|
942
|
+
:type trim_solver: str | None
|
|
941
943
|
"""
|
|
942
944
|
|
|
943
945
|
...
|
|
@@ -949,11 +951,11 @@ def trim_lasso_gesture(
|
|
|
949
951
|
path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None = None,
|
|
950
952
|
use_front_faces_only: bool | typing.Any | None = False,
|
|
951
953
|
location: typing.Any | None = (0, 0),
|
|
952
|
-
trim_mode:
|
|
954
|
+
trim_mode: str | None = "DIFFERENCE",
|
|
953
955
|
use_cursor_depth: bool | typing.Any | None = False,
|
|
954
|
-
trim_orientation:
|
|
955
|
-
trim_extrude_mode:
|
|
956
|
-
trim_solver:
|
|
956
|
+
trim_orientation: str | None = "VIEW",
|
|
957
|
+
trim_extrude_mode: str | None = "FIXED",
|
|
958
|
+
trim_solver: str | None = "FAST",
|
|
957
959
|
):
|
|
958
960
|
"""Execute a boolean operation on the mesh and a shape defined by the cursor
|
|
959
961
|
|
|
@@ -976,7 +978,7 @@ def trim_lasso_gesture(
|
|
|
976
978
|
|
|
977
979
|
JOIN
|
|
978
980
|
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
979
|
-
:type trim_mode:
|
|
981
|
+
:type trim_mode: str | None
|
|
980
982
|
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
981
983
|
:type use_cursor_depth: bool | typing.Any | None
|
|
982
984
|
:param trim_orientation: Shape Orientation
|
|
@@ -986,7 +988,7 @@ def trim_lasso_gesture(
|
|
|
986
988
|
|
|
987
989
|
SURFACE
|
|
988
990
|
Surface -- Use the surface normal to orientate the trimming shape.
|
|
989
|
-
:type trim_orientation:
|
|
991
|
+
:type trim_orientation: str | None
|
|
990
992
|
:param trim_extrude_mode: Extrude Mode
|
|
991
993
|
|
|
992
994
|
PROJECT
|
|
@@ -994,7 +996,7 @@ def trim_lasso_gesture(
|
|
|
994
996
|
|
|
995
997
|
FIXED
|
|
996
998
|
Fixed -- Extrude back faces by fixed amount.
|
|
997
|
-
:type trim_extrude_mode:
|
|
999
|
+
:type trim_extrude_mode: str | None
|
|
998
1000
|
:param trim_solver: Solver
|
|
999
1001
|
|
|
1000
1002
|
EXACT
|
|
@@ -1002,7 +1004,7 @@ def trim_lasso_gesture(
|
|
|
1002
1004
|
|
|
1003
1005
|
FAST
|
|
1004
1006
|
Fast -- Use the fast float boolean solver.
|
|
1005
|
-
:type trim_solver:
|
|
1007
|
+
:type trim_solver: str | None
|
|
1006
1008
|
"""
|
|
1007
1009
|
|
|
1008
1010
|
...
|
|
@@ -1020,11 +1022,11 @@ def trim_line_gesture(
|
|
|
1020
1022
|
use_front_faces_only: bool | typing.Any | None = False,
|
|
1021
1023
|
use_limit_to_segment: bool | typing.Any | None = False,
|
|
1022
1024
|
location: typing.Any | None = (0, 0),
|
|
1023
|
-
trim_mode:
|
|
1025
|
+
trim_mode: str | None = "DIFFERENCE",
|
|
1024
1026
|
use_cursor_depth: bool | typing.Any | None = False,
|
|
1025
|
-
trim_orientation:
|
|
1026
|
-
trim_extrude_mode:
|
|
1027
|
-
trim_solver:
|
|
1027
|
+
trim_orientation: str | None = "VIEW",
|
|
1028
|
+
trim_extrude_mode: str | None = "FIXED",
|
|
1029
|
+
trim_solver: str | None = "FAST",
|
|
1028
1030
|
):
|
|
1029
1031
|
"""Remove a portion of the mesh on one side of a line
|
|
1030
1032
|
|
|
@@ -1059,7 +1061,7 @@ def trim_line_gesture(
|
|
|
1059
1061
|
|
|
1060
1062
|
JOIN
|
|
1061
1063
|
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
1062
|
-
:type trim_mode:
|
|
1064
|
+
:type trim_mode: str | None
|
|
1063
1065
|
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
1064
1066
|
:type use_cursor_depth: bool | typing.Any | None
|
|
1065
1067
|
:param trim_orientation: Shape Orientation
|
|
@@ -1069,7 +1071,7 @@ def trim_line_gesture(
|
|
|
1069
1071
|
|
|
1070
1072
|
SURFACE
|
|
1071
1073
|
Surface -- Use the surface normal to orientate the trimming shape.
|
|
1072
|
-
:type trim_orientation:
|
|
1074
|
+
:type trim_orientation: str | None
|
|
1073
1075
|
:param trim_extrude_mode: Extrude Mode
|
|
1074
1076
|
|
|
1075
1077
|
PROJECT
|
|
@@ -1077,7 +1079,7 @@ def trim_line_gesture(
|
|
|
1077
1079
|
|
|
1078
1080
|
FIXED
|
|
1079
1081
|
Fixed -- Extrude back faces by fixed amount.
|
|
1080
|
-
:type trim_extrude_mode:
|
|
1082
|
+
:type trim_extrude_mode: str | None
|
|
1081
1083
|
:param trim_solver: Solver
|
|
1082
1084
|
|
|
1083
1085
|
EXACT
|
|
@@ -1085,7 +1087,7 @@ def trim_line_gesture(
|
|
|
1085
1087
|
|
|
1086
1088
|
FAST
|
|
1087
1089
|
Fast -- Use the fast float boolean solver.
|
|
1088
|
-
:type trim_solver:
|
|
1090
|
+
:type trim_solver: str | None
|
|
1089
1091
|
"""
|
|
1090
1092
|
|
|
1091
1093
|
...
|
|
@@ -1129,7 +1131,7 @@ def uv_sculpt_relax(
|
|
|
1129
1131
|
execution_context: str | int | None = None,
|
|
1130
1132
|
undo: bool | None = None,
|
|
1131
1133
|
use_invert: bool | typing.Any | None = False,
|
|
1132
|
-
relax_method:
|
|
1134
|
+
relax_method: str | None = "COTAN",
|
|
1133
1135
|
):
|
|
1134
1136
|
"""Relax UVs
|
|
1135
1137
|
|
|
@@ -1148,7 +1150,7 @@ def uv_sculpt_relax(
|
|
|
1148
1150
|
|
|
1149
1151
|
COTAN
|
|
1150
1152
|
Geometry -- Use Geometry (cotangent) relaxation, making UVs follow the underlying 3D geometry.
|
|
1151
|
-
:type relax_method:
|
|
1153
|
+
:type relax_method: str | None
|
|
1152
1154
|
"""
|
|
1153
1155
|
|
|
1154
1156
|
...
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import typing
|
|
2
|
+
import collections.abc
|
|
2
3
|
import bpy.types
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
GenericType1 = typing.TypeVar("GenericType1")
|
|
6
|
+
GenericType2 = typing.TypeVar("GenericType2")
|
|
5
7
|
|
|
6
8
|
def brush_stroke(
|
|
7
9
|
override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
|
|
@@ -9,7 +11,7 @@ def brush_stroke(
|
|
|
9
11
|
undo: bool | None = None,
|
|
10
12
|
stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
11
13
|
| None = None,
|
|
12
|
-
mode:
|
|
14
|
+
mode: str | None = "NORMAL",
|
|
13
15
|
):
|
|
14
16
|
"""Sculpt curves using a brush
|
|
15
17
|
|
|
@@ -28,7 +30,7 @@ def brush_stroke(
|
|
|
28
30
|
|
|
29
31
|
SMOOTH
|
|
30
32
|
Smooth -- Switch brush to smooth mode for duration of stroke.
|
|
31
|
-
:type mode:
|
|
33
|
+
:type mode: str | None
|
|
32
34
|
"""
|
|
33
35
|
|
|
34
36
|
...
|