fake-bpy-module 20240421__py3-none-any.whl → 20240422__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.
- bl_operators/add_mesh_torus/__init__.pyi +2 -1
- bl_operators/assets/__init__.pyi +12 -12
- bl_operators/geometry_nodes/__init__.pyi +256 -238
- bl_operators/node/__init__.pyi +262 -260
- bl_operators/object_quick_effects/__init__.pyi +19 -19
- bl_operators/presets/__init__.pyi +371 -368
- bl_operators/wm/__init__.pyi +4 -4
- bl_ui/__init__.pyi +3 -3
- bl_ui/anim/__init__.pyi +1 -1
- bl_ui/asset_shelf/__init__.pyi +1 -1
- bl_ui/generic_ui_list/__init__.pyi +3 -3
- bl_ui/node_add_menu/__init__.pyi +1 -1
- bl_ui/node_add_menu_compositor/__init__.pyi +18 -18
- bl_ui/node_add_menu_geometry/__init__.pyi +50 -48
- bl_ui/node_add_menu_shader/__init__.pyi +10 -10
- bl_ui/node_add_menu_texture/__init__.pyi +9 -9
- bl_ui/properties_collection/__init__.pyi +39 -25
- bl_ui/properties_constraint/__init__.pyi +1257 -1041
- bl_ui/properties_data_armature/__init__.pyi +120 -96
- bl_ui/properties_data_bone/__init__.pyi +36 -29
- bl_ui/properties_data_camera/__init__.pyi +32 -14
- bl_ui/properties_data_curve/__init__.pyi +143 -116
- bl_ui/properties_data_curves/__init__.pyi +30 -25
- bl_ui/properties_data_empty/__init__.pyi +21 -21
- bl_ui/properties_data_gpencil/__init__.pyi +297 -260
- bl_ui/properties_data_grease_pencil/__init__.pyi +228 -205
- bl_ui/properties_data_lattice/__init__.pyi +25 -22
- bl_ui/properties_data_light/__init__.pyi +44 -31
- bl_ui/properties_data_lightprobe/__init__.pyi +54 -32
- bl_ui/properties_data_mesh/__init__.pyi +579 -570
- bl_ui/properties_data_metaball/__init__.pyi +29 -24
- bl_ui/properties_data_modifier/__init__.pyi +55 -43
- bl_ui/properties_data_pointcloud/__init__.pyi +146 -139
- bl_ui/properties_data_shaderfx/__init__.pyi +13 -13
- bl_ui/properties_data_speaker/__init__.pyi +27 -24
- bl_ui/properties_data_volume/__init__.pyi +75 -68
- bl_ui/properties_freestyle/__init__.pyi +407 -284
- bl_ui/properties_grease_pencil_common/__init__.pyi +13 -13
- bl_ui/properties_mask_common/__init__.pyi +7 -7
- bl_ui/properties_material/__init__.pyi +186 -162
- bl_ui/properties_material_gpencil/__init__.pyi +111 -87
- bl_ui/properties_object/__init__.pyi +102 -84
- bl_ui/properties_output/__init__.pyi +255 -228
- bl_ui/properties_paint_common/__init__.pyi +9 -9
- bl_ui/properties_particle/__init__.pyi +341 -254
- bl_ui/properties_physics_cloth/__init__.pyi +54 -33
- bl_ui/properties_physics_common/__init__.pyi +20 -20
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +231 -193
- bl_ui/properties_physics_field/__init__.pyi +52 -36
- bl_ui/properties_physics_fluid/__init__.pyi +119 -96
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +1 -1
- bl_ui/properties_physics_rigidbody/__init__.pyi +36 -20
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +51 -25
- bl_ui/properties_physics_softbody/__init__.pyi +62 -34
- bl_ui/properties_render/__init__.pyi +275 -187
- bl_ui/properties_scene/__init__.pyi +173 -154
- bl_ui/properties_texture/__init__.pyi +251 -205
- bl_ui/properties_view_layer/__init__.pyi +126 -93
- bl_ui/properties_workspace/__init__.pyi +82 -76
- bl_ui/properties_world/__init__.pyi +31 -26
- bl_ui/space_clip/__init__.pyi +495 -433
- bl_ui/space_console/__init__.pyi +6 -6
- bl_ui/space_dopesheet/__init__.pyi +209 -174
- bl_ui/space_filebrowser/__init__.pyi +691 -679
- bl_ui/space_graph/__init__.pyi +25 -20
- bl_ui/space_image/__init__.pyi +959 -845
- bl_ui/space_info/__init__.pyi +6 -6
- bl_ui/space_nla/__init__.pyi +26 -17
- bl_ui/space_node/__init__.pyi +49 -36
- bl_ui/space_outliner/__init__.pyi +14 -14
- bl_ui/space_properties/__init__.pyi +3 -3
- bl_ui/space_sequencer/__init__.pyi +510 -444
- bl_ui/space_spreadsheet/__init__.pyi +1 -1
- bl_ui/space_statusbar/__init__.pyi +1 -1
- bl_ui/space_text/__init__.pyi +16 -16
- bl_ui/space_time/__init__.pyi +27 -23
- bl_ui/space_toolsystem_common/__init__.pyi +1 -1
- bl_ui/space_toolsystem_toolbar/__init__.pyi +21 -4
- bl_ui/space_topbar/__init__.pyi +26 -26
- bl_ui/space_userpref/__init__.pyi +795 -658
- bl_ui/space_view3d/__init__.pyi +1460 -1428
- bl_ui/space_view3d_toolbar/__init__.pyi +2968 -2657
- bl_ui/temp_anim_layers/__init__.pyi +1 -1
- bmesh/types/__init__.pyi +13 -6
- bpy/app/__init__.pyi +4 -4
- bpy/app/icons/__init__.pyi +8 -6
- bpy/app/timers/__init__.pyi +10 -8
- bpy/app/translations/__init__.pyi +22 -20
- bpy/msgbus/__init__.pyi +4 -2
- bpy/ops/action/__init__.pyi +319 -316
- bpy/ops/anim/__init__.pyi +428 -428
- bpy/ops/armature/__init__.pyi +359 -358
- bpy/ops/asset/__init__.pyi +146 -146
- bpy/ops/boid/__init__.pyi +50 -50
- bpy/ops/brush/__init__.pyi +72 -72
- bpy/ops/buttons/__init__.pyi +128 -128
- bpy/ops/cachefile/__init__.pyi +124 -124
- bpy/ops/camera/__init__.pyi +22 -22
- bpy/ops/clip/__init__.pyi +773 -768
- bpy/ops/cloth/__init__.pyi +10 -10
- bpy/ops/collection/__init__.pyi +64 -64
- bpy/ops/console/__init__.pyi +150 -150
- bpy/ops/constraint/__init__.pyi +150 -150
- bpy/ops/curve/__init__.pyi +475 -472
- bpy/ops/curves/__init__.pyi +247 -244
- bpy/ops/cycles/__init__.pyi +18 -18
- bpy/ops/dpaint/__init__.pyi +34 -34
- bpy/ops/ed/__init__.pyi +122 -122
- bpy/ops/export_anim/__init__.pyi +18 -18
- bpy/ops/export_mesh/__init__.pyi +26 -26
- bpy/ops/export_scene/__init__.pyi +333 -307
- bpy/ops/file/__init__.pyi +340 -340
- bpy/ops/fluid/__init__.pyi +88 -88
- bpy/ops/font/__init__.pyi +252 -252
- bpy/ops/geometry/__init__.pyi +86 -86
- bpy/ops/gizmogroup/__init__.pyi +22 -22
- bpy/ops/gpencil/__init__.pyi +1459 -1444
- bpy/ops/graph/__init__.pyi +645 -642
- bpy/ops/grease_pencil/__init__.pyi +441 -436
- bpy/ops/image/__init__.pyi +614 -612
- bpy/ops/import_anim/__init__.pyi +26 -26
- bpy/ops/import_curve/__init__.pyi +6 -6
- bpy/ops/import_mesh/__init__.pyi +20 -18
- bpy/ops/import_scene/__init__.pyi +92 -86
- bpy/ops/info/__init__.pyi +60 -60
- bpy/ops/lattice/__init__.pyi +64 -64
- bpy/ops/marker/__init__.pyi +106 -106
- bpy/ops/mask/__init__.pyi +321 -318
- bpy/ops/material/__init__.pyi +18 -18
- bpy/ops/mball/__init__.pyi +71 -70
- bpy/ops/mesh/__init__.pyi +1997 -1990
- bpy/ops/nla/__init__.pyi +330 -329
- bpy/ops/node/__init__.pyi +867 -852
- bpy/ops/object/__init__.pyi +2433 -2430
- bpy/ops/outliner/__init__.pyi +498 -498
- bpy/ops/paint/__init__.pyi +554 -544
- bpy/ops/paintcurve/__init__.pyi +64 -64
- bpy/ops/palette/__init__.pyi +48 -48
- bpy/ops/particle/__init__.pyi +266 -264
- bpy/ops/pose/__init__.pyi +336 -336
- bpy/ops/poselib/__init__.pyi +70 -70
- bpy/ops/preferences/__init__.pyi +338 -336
- bpy/ops/ptcache/__init__.pyi +46 -46
- bpy/ops/render/__init__.pyi +114 -114
- bpy/ops/rigidbody/__init__.pyi +102 -102
- bpy/ops/scene/__init__.pyi +270 -270
- bpy/ops/screen/__init__.pyi +378 -378
- bpy/ops/script/__init__.pyi +18 -18
- bpy/ops/sculpt/__init__.pyi +411 -405
- bpy/ops/sculpt_curves/__init__.pyi +42 -40
- bpy/ops/sequencer/__init__.pyi +1053 -1040
- bpy/ops/sound/__init__.pyi +208 -208
- bpy/ops/spreadsheet/__init__.pyi +30 -30
- bpy/ops/surface/__init__.pyi +108 -108
- bpy/ops/text/__init__.pyi +382 -382
- bpy/ops/text_editor/__init__.pyi +10 -10
- bpy/ops/texture/__init__.pyi +26 -26
- bpy/ops/transform/__init__.pyi +826 -790
- bpy/ops/ui/__init__.pyi +216 -216
- bpy/ops/uilist/__init__.pyi +20 -20
- bpy/ops/uv/__init__.pyi +605 -600
- bpy/ops/view2d/__init__.pyi +156 -156
- bpy/ops/view3d/__init__.pyi +578 -576
- bpy/ops/wm/__init__.pyi +2412 -2376
- bpy/ops/workspace/__init__.pyi +42 -42
- bpy/ops/world/__init__.pyi +6 -6
- bpy/path/__init__.pyi +48 -33
- bpy/props/__init__.pyi +263 -261
- bpy/types/__init__.pyi +106351 -103198
- bpy/utils/__init__.pyi +87 -52
- bpy/utils/previews/__init__.pyi +2 -2
- bpy/utils/units/__init__.pyi +20 -17
- bpy_extras/anim_utils/__init__.pyi +9 -2
- bpy_extras/io_utils/__init__.pyi +2 -1
- bpy_extras/view3d_utils/__init__.pyi +2 -1
- bpy_types/__init__.pyi +236 -236
- {fake_bpy_module-20240421.dist-info → fake_bpy_module-20240422.dist-info}/METADATA +1 -1
- {fake_bpy_module-20240421.dist-info → fake_bpy_module-20240422.dist-info}/RECORD +187 -187
- freestyle/chainingiterators/__init__.pyi +7 -2
- freestyle/types/__init__.pyi +8 -3
- gpu_extras/presets/__init__.pyi +14 -2
- keyingsets_builtins/__init__.pyi +92 -92
- mathutils/__init__.pyi +9 -5
- mathutils/geometry/__init__.pyi +8 -4
- nodeitems_builtins/__init__.pyi +7 -7
- {fake_bpy_module-20240421.dist-info → fake_bpy_module-20240422.dist-info}/WHEEL +0 -0
- {fake_bpy_module-20240421.dist-info → fake_bpy_module-20240422.dist-info}/top_level.txt +0 -0
bpy/ops/sculpt/__init__.pyi
CHANGED
|
@@ -4,20 +4,22 @@ import bpy.types
|
|
|
4
4
|
GenericType = typing.TypeVar("GenericType")
|
|
5
5
|
|
|
6
6
|
def brush_stroke(
|
|
7
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
8
|
-
execution_context: typing.Union[str, int] = None,
|
|
9
|
-
undo: bool = None,
|
|
10
|
-
stroke:
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
8
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
9
|
+
undo: typing.Optional[bool] = None,
|
|
10
|
+
stroke: typing.Optional[
|
|
11
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
12
|
+
] = None,
|
|
13
|
+
mode: typing.Optional[typing.Any] = "NORMAL",
|
|
14
|
+
ignore_background_click: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
13
15
|
):
|
|
14
16
|
"""Sculpt a stroke into the geometry
|
|
15
17
|
|
|
16
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
17
|
-
:type execution_context: typing.Union[str, int]
|
|
18
|
-
:type undo: bool
|
|
18
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
19
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
20
|
+
:type undo: typing.Optional[bool]
|
|
19
21
|
:param stroke: Stroke
|
|
20
|
-
:type stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
22
|
+
:type stroke: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]]
|
|
21
23
|
:param mode: Stroke Mode, Action taken when a paint stroke is made
|
|
22
24
|
|
|
23
25
|
NORMAL
|
|
@@ -28,46 +30,46 @@ def brush_stroke(
|
|
|
28
30
|
|
|
29
31
|
SMOOTH
|
|
30
32
|
Smooth -- Switch brush to smooth mode for duration of stroke.
|
|
31
|
-
:type mode: typing.Any
|
|
33
|
+
:type mode: typing.Optional[typing.Any]
|
|
32
34
|
:param ignore_background_click: Ignore Background Click, Clicks on the background do not start the stroke
|
|
33
|
-
:type ignore_background_click: typing.Union[bool, typing.Any]
|
|
35
|
+
:type ignore_background_click: typing.Optional[typing.Union[bool, typing.Any]]
|
|
34
36
|
"""
|
|
35
37
|
|
|
36
38
|
...
|
|
37
39
|
|
|
38
40
|
def cloth_filter(
|
|
39
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
40
|
-
execution_context: typing.Union[str, int] = None,
|
|
41
|
-
undo: bool = None,
|
|
42
|
-
start_mouse: typing.Any = (0, 0),
|
|
43
|
-
area_normal_radius: typing.Any = 0.25,
|
|
44
|
-
strength: typing.Any = 1.0,
|
|
45
|
-
iteration_count: typing.Any = 1,
|
|
46
|
-
event_history:
|
|
47
|
-
bpy.types.OperatorStrokeElement
|
|
41
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
42
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
43
|
+
undo: typing.Optional[bool] = None,
|
|
44
|
+
start_mouse: typing.Optional[typing.Any] = (0, 0),
|
|
45
|
+
area_normal_radius: typing.Optional[typing.Any] = 0.25,
|
|
46
|
+
strength: typing.Optional[typing.Any] = 1.0,
|
|
47
|
+
iteration_count: typing.Optional[typing.Any] = 1,
|
|
48
|
+
event_history: typing.Optional[
|
|
49
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
48
50
|
] = None,
|
|
49
|
-
type: typing.Any = "GRAVITY",
|
|
50
|
-
force_axis: typing.Any = {'"
|
|
51
|
-
orientation: typing.Any = "LOCAL",
|
|
52
|
-
cloth_mass: typing.Any = 1.0,
|
|
53
|
-
cloth_damping: typing.Any = 0.0,
|
|
54
|
-
use_face_sets: typing.Union[bool, typing.Any] = False,
|
|
55
|
-
use_collisions: typing.Union[bool, typing.Any] = False,
|
|
51
|
+
type: typing.Optional[typing.Any] = "GRAVITY",
|
|
52
|
+
force_axis: typing.Optional[typing.Any] = {'"Y"', '"X"', '"Z"'},
|
|
53
|
+
orientation: typing.Optional[typing.Any] = "LOCAL",
|
|
54
|
+
cloth_mass: typing.Optional[typing.Any] = 1.0,
|
|
55
|
+
cloth_damping: typing.Optional[typing.Any] = 0.0,
|
|
56
|
+
use_face_sets: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
57
|
+
use_collisions: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
56
58
|
):
|
|
57
59
|
"""Applies a cloth simulation deformation to the entire mesh
|
|
58
60
|
|
|
59
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
60
|
-
:type execution_context: typing.Union[str, int]
|
|
61
|
-
:type undo: bool
|
|
61
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
62
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
63
|
+
:type undo: typing.Optional[bool]
|
|
62
64
|
:param start_mouse: Starting Mouse
|
|
63
|
-
:type start_mouse: typing.Any
|
|
65
|
+
:type start_mouse: typing.Optional[typing.Any]
|
|
64
66
|
:param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
|
|
65
|
-
:type area_normal_radius: typing.Any
|
|
67
|
+
:type area_normal_radius: typing.Optional[typing.Any]
|
|
66
68
|
:param strength: Strength, Filter strength
|
|
67
|
-
:type strength: typing.Any
|
|
69
|
+
:type strength: typing.Optional[typing.Any]
|
|
68
70
|
:param iteration_count: Repeat, How many times to repeat the filter
|
|
69
|
-
:type iteration_count: typing.Any
|
|
70
|
-
:type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
71
|
+
:type iteration_count: typing.Optional[typing.Any]
|
|
72
|
+
:type event_history: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]]
|
|
71
73
|
:param type: Filter Type, Operation that is going to be applied to the mesh
|
|
72
74
|
|
|
73
75
|
GRAVITY
|
|
@@ -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: typing.Any
|
|
89
|
+
:type type: typing.Optional[typing.Any]
|
|
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: typing.Any
|
|
100
|
+
:type force_axis: typing.Optional[typing.Any]
|
|
99
101
|
:param orientation: Orientation, Orientation of the axis to limit the filter force
|
|
100
102
|
|
|
101
103
|
LOCAL
|
|
@@ -106,47 +108,47 @@ 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: typing.Any
|
|
111
|
+
:type orientation: typing.Optional[typing.Any]
|
|
110
112
|
:param cloth_mass: Cloth Mass, Mass of each simulation particle
|
|
111
|
-
:type cloth_mass: typing.Any
|
|
113
|
+
:type cloth_mass: typing.Optional[typing.Any]
|
|
112
114
|
:param cloth_damping: Cloth Damping, How much the applied forces are propagated through the cloth
|
|
113
|
-
:type cloth_damping: typing.Any
|
|
115
|
+
:type cloth_damping: typing.Optional[typing.Any]
|
|
114
116
|
:param use_face_sets: Use Face Sets, Apply the filter only to the Face Set under the cursor
|
|
115
|
-
:type use_face_sets: typing.Union[bool, typing.Any]
|
|
117
|
+
:type use_face_sets: typing.Optional[typing.Union[bool, typing.Any]]
|
|
116
118
|
:param use_collisions: Use Collisions, Collide with other collider objects in the scene
|
|
117
|
-
:type use_collisions: typing.Union[bool, typing.Any]
|
|
119
|
+
:type use_collisions: typing.Optional[typing.Union[bool, typing.Any]]
|
|
118
120
|
"""
|
|
119
121
|
|
|
120
122
|
...
|
|
121
123
|
|
|
122
124
|
def color_filter(
|
|
123
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
124
|
-
execution_context: typing.Union[str, int] = None,
|
|
125
|
-
undo: bool = None,
|
|
126
|
-
start_mouse: typing.Any = (0, 0),
|
|
127
|
-
area_normal_radius: typing.Any = 0.25,
|
|
128
|
-
strength: typing.Any = 1.0,
|
|
129
|
-
iteration_count: typing.Any = 1,
|
|
130
|
-
event_history:
|
|
131
|
-
bpy.types.OperatorStrokeElement
|
|
125
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
126
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
127
|
+
undo: typing.Optional[bool] = None,
|
|
128
|
+
start_mouse: typing.Optional[typing.Any] = (0, 0),
|
|
129
|
+
area_normal_radius: typing.Optional[typing.Any] = 0.25,
|
|
130
|
+
strength: typing.Optional[typing.Any] = 1.0,
|
|
131
|
+
iteration_count: typing.Optional[typing.Any] = 1,
|
|
132
|
+
event_history: typing.Optional[
|
|
133
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
132
134
|
] = None,
|
|
133
|
-
type: typing.Any = "FILL",
|
|
134
|
-
fill_color: typing.Any = (1.0, 1.0, 1.0),
|
|
135
|
+
type: typing.Optional[typing.Any] = "FILL",
|
|
136
|
+
fill_color: typing.Optional[typing.Any] = (1.0, 1.0, 1.0),
|
|
135
137
|
):
|
|
136
138
|
"""Applies a filter to modify the active color attribute
|
|
137
139
|
|
|
138
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
139
|
-
:type execution_context: typing.Union[str, int]
|
|
140
|
-
:type undo: bool
|
|
140
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
141
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
142
|
+
:type undo: typing.Optional[bool]
|
|
141
143
|
:param start_mouse: Starting Mouse
|
|
142
|
-
:type start_mouse: typing.Any
|
|
144
|
+
:type start_mouse: typing.Optional[typing.Any]
|
|
143
145
|
:param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
|
|
144
|
-
:type area_normal_radius: typing.Any
|
|
146
|
+
:type area_normal_radius: typing.Optional[typing.Any]
|
|
145
147
|
:param strength: Strength, Filter strength
|
|
146
|
-
:type strength: typing.Any
|
|
148
|
+
:type strength: typing.Optional[typing.Any]
|
|
147
149
|
:param iteration_count: Repeat, How many times to repeat the filter
|
|
148
|
-
:type iteration_count: typing.Any
|
|
149
|
-
:type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
150
|
+
:type iteration_count: typing.Optional[typing.Any]
|
|
151
|
+
:type event_history: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]]
|
|
150
152
|
:param type: Filter Type
|
|
151
153
|
|
|
152
154
|
FILL
|
|
@@ -178,142 +180,142 @@ def color_filter(
|
|
|
178
180
|
|
|
179
181
|
BLUE
|
|
180
182
|
Blue -- Change blue channel.
|
|
181
|
-
:type type: typing.Any
|
|
183
|
+
:type type: typing.Optional[typing.Any]
|
|
182
184
|
:param fill_color: Fill Color
|
|
183
|
-
:type fill_color: typing.Any
|
|
185
|
+
:type fill_color: typing.Optional[typing.Any]
|
|
184
186
|
"""
|
|
185
187
|
|
|
186
188
|
...
|
|
187
189
|
|
|
188
190
|
def detail_flood_fill(
|
|
189
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
190
|
-
execution_context: typing.Union[str, int] = None,
|
|
191
|
-
undo: bool = None,
|
|
191
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
192
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
193
|
+
undo: typing.Optional[bool] = None,
|
|
192
194
|
):
|
|
193
195
|
"""Flood fill the mesh with the selected detail setting
|
|
194
196
|
|
|
195
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
196
|
-
:type execution_context: typing.Union[str, int]
|
|
197
|
-
:type undo: bool
|
|
197
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
198
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
199
|
+
:type undo: typing.Optional[bool]
|
|
198
200
|
"""
|
|
199
201
|
|
|
200
202
|
...
|
|
201
203
|
|
|
202
204
|
def dynamic_topology_toggle(
|
|
203
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
204
|
-
execution_context: typing.Union[str, int] = None,
|
|
205
|
-
undo: bool = None,
|
|
205
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
206
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
207
|
+
undo: typing.Optional[bool] = None,
|
|
206
208
|
):
|
|
207
209
|
"""Dynamic topology alters the mesh topology while sculpting
|
|
208
210
|
|
|
209
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
210
|
-
:type execution_context: typing.Union[str, int]
|
|
211
|
-
:type undo: bool
|
|
211
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
212
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
213
|
+
:type undo: typing.Optional[bool]
|
|
212
214
|
"""
|
|
213
215
|
|
|
214
216
|
...
|
|
215
217
|
|
|
216
218
|
def dyntopo_detail_size_edit(
|
|
217
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
218
|
-
execution_context: typing.Union[str, int] = None,
|
|
219
|
-
undo: bool = None,
|
|
219
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
220
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
221
|
+
undo: typing.Optional[bool] = None,
|
|
220
222
|
):
|
|
221
223
|
"""Modify the detail size of dyntopo interactively
|
|
222
224
|
|
|
223
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
224
|
-
:type execution_context: typing.Union[str, int]
|
|
225
|
-
:type undo: bool
|
|
225
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
226
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
227
|
+
:type undo: typing.Optional[bool]
|
|
226
228
|
"""
|
|
227
229
|
|
|
228
230
|
...
|
|
229
231
|
|
|
230
232
|
def expand(
|
|
231
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
232
|
-
execution_context: typing.Union[str, int] = None,
|
|
233
|
-
undo: bool = None,
|
|
234
|
-
target: typing.Any = "MASK",
|
|
235
|
-
falloff_type: typing.Any = "GEODESIC",
|
|
236
|
-
invert: typing.Union[bool, typing.Any] = False,
|
|
237
|
-
use_mask_preserve: typing.Union[bool, typing.Any] = False,
|
|
238
|
-
use_falloff_gradient: typing.Union[bool, typing.Any] = False,
|
|
239
|
-
use_modify_active: typing.Union[bool, typing.Any] = False,
|
|
240
|
-
use_reposition_pivot: typing.Union[bool, typing.Any] = True,
|
|
241
|
-
max_geodesic_move_preview: typing.Any = 10000,
|
|
242
|
-
use_auto_mask: typing.Union[bool, typing.Any] = False,
|
|
243
|
-
normal_falloff_smooth: typing.Any = 2,
|
|
233
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
234
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
235
|
+
undo: typing.Optional[bool] = None,
|
|
236
|
+
target: typing.Optional[typing.Any] = "MASK",
|
|
237
|
+
falloff_type: typing.Optional[typing.Any] = "GEODESIC",
|
|
238
|
+
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
239
|
+
use_mask_preserve: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
240
|
+
use_falloff_gradient: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
241
|
+
use_modify_active: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
242
|
+
use_reposition_pivot: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
243
|
+
max_geodesic_move_preview: typing.Optional[typing.Any] = 10000,
|
|
244
|
+
use_auto_mask: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
245
|
+
normal_falloff_smooth: typing.Optional[typing.Any] = 2,
|
|
244
246
|
):
|
|
245
247
|
"""Generic sculpt expand operator
|
|
246
248
|
|
|
247
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
248
|
-
:type execution_context: typing.Union[str, int]
|
|
249
|
-
:type undo: bool
|
|
249
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
250
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
251
|
+
:type undo: typing.Optional[bool]
|
|
250
252
|
:param target: Data Target, Data that is going to be modified in the expand operation
|
|
251
|
-
:type target: typing.Any
|
|
253
|
+
:type target: typing.Optional[typing.Any]
|
|
252
254
|
:param falloff_type: Falloff Type, Initial falloff of the expand operation
|
|
253
|
-
:type falloff_type: typing.Any
|
|
255
|
+
:type falloff_type: typing.Optional[typing.Any]
|
|
254
256
|
:param invert: Invert, Invert the expand active elements
|
|
255
|
-
:type invert: typing.Union[bool, typing.Any]
|
|
257
|
+
:type invert: typing.Optional[typing.Union[bool, typing.Any]]
|
|
256
258
|
:param use_mask_preserve: Preserve Previous, Preserve the previous state of the target data
|
|
257
|
-
:type use_mask_preserve: typing.Union[bool, typing.Any]
|
|
259
|
+
:type use_mask_preserve: typing.Optional[typing.Union[bool, typing.Any]]
|
|
258
260
|
:param use_falloff_gradient: Falloff Gradient, Expand Using a linear falloff
|
|
259
|
-
:type use_falloff_gradient: typing.Union[bool, typing.Any]
|
|
261
|
+
:type use_falloff_gradient: typing.Optional[typing.Union[bool, typing.Any]]
|
|
260
262
|
:param use_modify_active: Modify Active, Modify the active Face Set instead of creating a new one
|
|
261
|
-
:type use_modify_active: typing.Union[bool, typing.Any]
|
|
263
|
+
:type use_modify_active: typing.Optional[typing.Union[bool, typing.Any]]
|
|
262
264
|
:param use_reposition_pivot: Reposition Pivot, Reposition the sculpt transform pivot to the boundary of the expand active area
|
|
263
|
-
:type use_reposition_pivot: typing.Union[bool, typing.Any]
|
|
265
|
+
:type use_reposition_pivot: typing.Optional[typing.Union[bool, typing.Any]]
|
|
264
266
|
:param max_geodesic_move_preview: Max Vertex Count for Geodesic Move Preview, Maximum number of vertices in the mesh for using geodesic falloff when moving the origin of expand. If the total number of vertices is greater than this value, the falloff will be set to spherical when moving
|
|
265
|
-
:type max_geodesic_move_preview: typing.Any
|
|
267
|
+
:type max_geodesic_move_preview: typing.Optional[typing.Any]
|
|
266
268
|
:param use_auto_mask: Auto Create, Fill in mask if nothing is already masked
|
|
267
|
-
:type use_auto_mask: typing.Union[bool, typing.Any]
|
|
269
|
+
:type use_auto_mask: typing.Optional[typing.Union[bool, typing.Any]]
|
|
268
270
|
:param normal_falloff_smooth: Normal Smooth, Blurring steps for normal falloff
|
|
269
|
-
:type normal_falloff_smooth: typing.Any
|
|
271
|
+
:type normal_falloff_smooth: typing.Optional[typing.Any]
|
|
270
272
|
"""
|
|
271
273
|
|
|
272
274
|
...
|
|
273
275
|
|
|
274
276
|
def face_set_box_gesture(
|
|
275
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
276
|
-
execution_context: typing.Union[str, int] = None,
|
|
277
|
-
undo: bool = None,
|
|
278
|
-
xmin: typing.Any = 0,
|
|
279
|
-
xmax: typing.Any = 0,
|
|
280
|
-
ymin: typing.Any = 0,
|
|
281
|
-
ymax: typing.Any = 0,
|
|
282
|
-
wait_for_input: typing.Union[bool, typing.Any] = True,
|
|
283
|
-
use_front_faces_only: typing.Union[bool, typing.Any] = False,
|
|
277
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
278
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
279
|
+
undo: typing.Optional[bool] = None,
|
|
280
|
+
xmin: typing.Optional[typing.Any] = 0,
|
|
281
|
+
xmax: typing.Optional[typing.Any] = 0,
|
|
282
|
+
ymin: typing.Optional[typing.Any] = 0,
|
|
283
|
+
ymax: typing.Optional[typing.Any] = 0,
|
|
284
|
+
wait_for_input: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
285
|
+
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
284
286
|
):
|
|
285
287
|
"""Add face set within the box as you move the brush
|
|
286
288
|
|
|
287
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
288
|
-
:type execution_context: typing.Union[str, int]
|
|
289
|
-
:type undo: bool
|
|
289
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
290
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
291
|
+
:type undo: typing.Optional[bool]
|
|
290
292
|
:param xmin: X Min
|
|
291
|
-
:type xmin: typing.Any
|
|
293
|
+
:type xmin: typing.Optional[typing.Any]
|
|
292
294
|
:param xmax: X Max
|
|
293
|
-
:type xmax: typing.Any
|
|
295
|
+
:type xmax: typing.Optional[typing.Any]
|
|
294
296
|
:param ymin: Y Min
|
|
295
|
-
:type ymin: typing.Any
|
|
297
|
+
:type ymin: typing.Optional[typing.Any]
|
|
296
298
|
:param ymax: Y Max
|
|
297
|
-
:type ymax: typing.Any
|
|
299
|
+
:type ymax: typing.Optional[typing.Any]
|
|
298
300
|
:param wait_for_input: Wait for Input
|
|
299
|
-
:type wait_for_input: typing.Union[bool, typing.Any]
|
|
301
|
+
:type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
|
|
300
302
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
301
|
-
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
303
|
+
:type use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]]
|
|
302
304
|
"""
|
|
303
305
|
|
|
304
306
|
...
|
|
305
307
|
|
|
306
308
|
def face_set_change_visibility(
|
|
307
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
308
|
-
execution_context: typing.Union[str, int] = None,
|
|
309
|
-
undo: bool = None,
|
|
310
|
-
mode: typing.Any = "TOGGLE",
|
|
309
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
310
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
311
|
+
undo: typing.Optional[bool] = None,
|
|
312
|
+
mode: typing.Optional[typing.Any] = "TOGGLE",
|
|
311
313
|
):
|
|
312
314
|
"""Change the visibility of the Face Sets of the sculpt
|
|
313
315
|
|
|
314
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
315
|
-
:type execution_context: typing.Union[str, int]
|
|
316
|
-
:type undo: bool
|
|
316
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
317
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
318
|
+
:type undo: typing.Optional[bool]
|
|
317
319
|
:param mode: Mode
|
|
318
320
|
|
|
319
321
|
TOGGLE
|
|
@@ -324,27 +326,27 @@ def face_set_change_visibility(
|
|
|
324
326
|
|
|
325
327
|
HIDE_ACTIVE
|
|
326
328
|
Hide Active Face Sets -- Hide Active Face Sets.
|
|
327
|
-
:type mode: typing.Any
|
|
329
|
+
:type mode: typing.Optional[typing.Any]
|
|
328
330
|
"""
|
|
329
331
|
|
|
330
332
|
...
|
|
331
333
|
|
|
332
334
|
def face_set_edit(
|
|
333
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
334
|
-
execution_context: typing.Union[str, int] = None,
|
|
335
|
-
undo: bool = None,
|
|
336
|
-
active_face_set: typing.Any = 1,
|
|
337
|
-
mode: typing.Any = "GROW",
|
|
338
|
-
strength: typing.Any = 1.0,
|
|
339
|
-
modify_hidden: typing.Union[bool, typing.Any] = True,
|
|
335
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
336
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
337
|
+
undo: typing.Optional[bool] = None,
|
|
338
|
+
active_face_set: typing.Optional[typing.Any] = 1,
|
|
339
|
+
mode: typing.Optional[typing.Any] = "GROW",
|
|
340
|
+
strength: typing.Optional[typing.Any] = 1.0,
|
|
341
|
+
modify_hidden: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
340
342
|
):
|
|
341
343
|
"""Edits the current active Face Set
|
|
342
344
|
|
|
343
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
344
|
-
:type execution_context: typing.Union[str, int]
|
|
345
|
-
:type undo: bool
|
|
345
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
346
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
347
|
+
:type undo: typing.Optional[bool]
|
|
346
348
|
:param active_face_set: Active Face Set
|
|
347
|
-
:type active_face_set: typing.Any
|
|
349
|
+
:type active_face_set: typing.Optional[typing.Any]
|
|
348
350
|
:param mode: Mode
|
|
349
351
|
|
|
350
352
|
GROW
|
|
@@ -361,46 +363,48 @@ def face_set_edit(
|
|
|
361
363
|
|
|
362
364
|
FAIR_TANGENCY
|
|
363
365
|
Fair Tangency -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex tangents.
|
|
364
|
-
:type mode: typing.Any
|
|
366
|
+
:type mode: typing.Optional[typing.Any]
|
|
365
367
|
:param strength: Strength
|
|
366
|
-
:type strength: typing.Any
|
|
368
|
+
:type strength: typing.Optional[typing.Any]
|
|
367
369
|
:param modify_hidden: Modify Hidden, Apply the edit operation to hidden geometry
|
|
368
|
-
:type modify_hidden: typing.Union[bool, typing.Any]
|
|
370
|
+
:type modify_hidden: typing.Optional[typing.Union[bool, typing.Any]]
|
|
369
371
|
"""
|
|
370
372
|
|
|
371
373
|
...
|
|
372
374
|
|
|
373
375
|
def face_set_lasso_gesture(
|
|
374
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
375
|
-
execution_context: typing.Union[str, int] = None,
|
|
376
|
-
undo: bool = None,
|
|
377
|
-
path:
|
|
378
|
-
|
|
376
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
377
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
378
|
+
undo: typing.Optional[bool] = None,
|
|
379
|
+
path: typing.Optional[
|
|
380
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
381
|
+
] = None,
|
|
382
|
+
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
379
383
|
):
|
|
380
384
|
"""Add face set within the lasso as you move the brush
|
|
381
385
|
|
|
382
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
383
|
-
:type execution_context: typing.Union[str, int]
|
|
384
|
-
:type undo: bool
|
|
386
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
387
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
388
|
+
:type undo: typing.Optional[bool]
|
|
385
389
|
:param path: Path
|
|
386
|
-
:type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
390
|
+
:type path: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]]
|
|
387
391
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
388
|
-
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
392
|
+
:type use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]]
|
|
389
393
|
"""
|
|
390
394
|
|
|
391
395
|
...
|
|
392
396
|
|
|
393
397
|
def face_sets_create(
|
|
394
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
395
|
-
execution_context: typing.Union[str, int] = None,
|
|
396
|
-
undo: bool = None,
|
|
397
|
-
mode: typing.Any = "MASKED",
|
|
398
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
399
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
400
|
+
undo: typing.Optional[bool] = None,
|
|
401
|
+
mode: typing.Optional[typing.Any] = "MASKED",
|
|
398
402
|
):
|
|
399
403
|
"""Create a new Face Set
|
|
400
404
|
|
|
401
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
402
|
-
:type execution_context: typing.Union[str, int]
|
|
403
|
-
:type undo: bool
|
|
405
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
406
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
407
|
+
:type undo: typing.Optional[bool]
|
|
404
408
|
:param mode: Mode
|
|
405
409
|
|
|
406
410
|
MASKED
|
|
@@ -414,23 +418,23 @@ def face_sets_create(
|
|
|
414
418
|
|
|
415
419
|
SELECTION
|
|
416
420
|
Face Set from Edit Mode Selection -- Create an Face Set corresponding to the Edit Mode face selection.
|
|
417
|
-
:type mode: typing.Any
|
|
421
|
+
:type mode: typing.Optional[typing.Any]
|
|
418
422
|
"""
|
|
419
423
|
|
|
420
424
|
...
|
|
421
425
|
|
|
422
426
|
def face_sets_init(
|
|
423
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
424
|
-
execution_context: typing.Union[str, int] = None,
|
|
425
|
-
undo: bool = None,
|
|
426
|
-
mode: typing.Any = "LOOSE_PARTS",
|
|
427
|
-
threshold: typing.Any = 0.5,
|
|
427
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
428
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
429
|
+
undo: typing.Optional[bool] = None,
|
|
430
|
+
mode: typing.Optional[typing.Any] = "LOOSE_PARTS",
|
|
431
|
+
threshold: typing.Optional[typing.Any] = 0.5,
|
|
428
432
|
):
|
|
429
433
|
"""Initializes all Face Sets in the mesh
|
|
430
434
|
|
|
431
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
432
|
-
:type execution_context: typing.Union[str, int]
|
|
433
|
-
:type undo: bool
|
|
435
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
436
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
437
|
+
:type undo: typing.Optional[bool]
|
|
434
438
|
:param mode: Mode
|
|
435
439
|
|
|
436
440
|
LOOSE_PARTS
|
|
@@ -456,97 +460,97 @@ def face_sets_init(
|
|
|
456
460
|
|
|
457
461
|
FACE_SET_BOUNDARIES
|
|
458
462
|
Face Sets from Face Set Boundaries -- Create a Face Set per isolated Face Set.
|
|
459
|
-
:type mode: typing.Any
|
|
463
|
+
:type mode: typing.Optional[typing.Any]
|
|
460
464
|
:param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the Face Sets
|
|
461
|
-
:type threshold: typing.Any
|
|
465
|
+
:type threshold: typing.Optional[typing.Any]
|
|
462
466
|
"""
|
|
463
467
|
|
|
464
468
|
...
|
|
465
469
|
|
|
466
470
|
def face_sets_randomize_colors(
|
|
467
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
468
|
-
execution_context: typing.Union[str, int] = None,
|
|
469
|
-
undo: bool = None,
|
|
471
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
472
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
473
|
+
undo: typing.Optional[bool] = None,
|
|
470
474
|
):
|
|
471
475
|
"""Generates a new set of random colors to render the Face Sets in the viewport
|
|
472
476
|
|
|
473
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
474
|
-
:type execution_context: typing.Union[str, int]
|
|
475
|
-
:type undo: bool
|
|
477
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
478
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
479
|
+
:type undo: typing.Optional[bool]
|
|
476
480
|
"""
|
|
477
481
|
|
|
478
482
|
...
|
|
479
483
|
|
|
480
484
|
def mask_by_color(
|
|
481
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
482
|
-
execution_context: typing.Union[str, int] = None,
|
|
483
|
-
undo: bool = None,
|
|
484
|
-
contiguous: typing.Union[bool, typing.Any] = False,
|
|
485
|
-
invert: typing.Union[bool, typing.Any] = False,
|
|
486
|
-
preserve_previous_mask: typing.Union[bool, typing.Any] = False,
|
|
487
|
-
threshold: typing.Any = 0.35,
|
|
485
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
486
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
487
|
+
undo: typing.Optional[bool] = None,
|
|
488
|
+
contiguous: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
489
|
+
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
490
|
+
preserve_previous_mask: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
491
|
+
threshold: typing.Optional[typing.Any] = 0.35,
|
|
488
492
|
):
|
|
489
493
|
"""Creates a mask based on the active color attribute
|
|
490
494
|
|
|
491
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
492
|
-
:type execution_context: typing.Union[str, int]
|
|
493
|
-
:type undo: bool
|
|
495
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
496
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
497
|
+
:type undo: typing.Optional[bool]
|
|
494
498
|
:param contiguous: Contiguous, Mask only contiguous color areas
|
|
495
|
-
:type contiguous: typing.Union[bool, typing.Any]
|
|
499
|
+
:type contiguous: typing.Optional[typing.Union[bool, typing.Any]]
|
|
496
500
|
:param invert: Invert, Invert the generated mask
|
|
497
|
-
:type invert: typing.Union[bool, typing.Any]
|
|
501
|
+
:type invert: typing.Optional[typing.Union[bool, typing.Any]]
|
|
498
502
|
:param preserve_previous_mask: Preserve Previous Mask, Preserve the previous mask and add or subtract the new one generated by the colors
|
|
499
|
-
:type preserve_previous_mask: typing.Union[bool, typing.Any]
|
|
503
|
+
:type preserve_previous_mask: typing.Optional[typing.Union[bool, typing.Any]]
|
|
500
504
|
:param threshold: Threshold, How much changes in color affect the mask generation
|
|
501
|
-
:type threshold: typing.Any
|
|
505
|
+
:type threshold: typing.Optional[typing.Any]
|
|
502
506
|
"""
|
|
503
507
|
|
|
504
508
|
...
|
|
505
509
|
|
|
506
510
|
def mask_filter(
|
|
507
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
508
|
-
execution_context: typing.Union[str, int] = None,
|
|
509
|
-
undo: bool = None,
|
|
510
|
-
filter_type: typing.Any = "SMOOTH",
|
|
511
|
-
iterations: typing.Any = 1,
|
|
512
|
-
auto_iteration_count: typing.Union[bool, typing.Any] = True,
|
|
511
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
512
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
513
|
+
undo: typing.Optional[bool] = None,
|
|
514
|
+
filter_type: typing.Optional[typing.Any] = "SMOOTH",
|
|
515
|
+
iterations: typing.Optional[typing.Any] = 1,
|
|
516
|
+
auto_iteration_count: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
513
517
|
):
|
|
514
518
|
"""Applies a filter to modify the current mask
|
|
515
519
|
|
|
516
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
517
|
-
:type execution_context: typing.Union[str, int]
|
|
518
|
-
:type undo: bool
|
|
520
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
521
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
522
|
+
:type undo: typing.Optional[bool]
|
|
519
523
|
:param filter_type: Type, Filter that is going to be applied to the mask
|
|
520
|
-
:type filter_type: typing.Any
|
|
524
|
+
:type filter_type: typing.Optional[typing.Any]
|
|
521
525
|
:param iterations: Iterations, Number of times that the filter is going to be applied
|
|
522
|
-
:type iterations: typing.Any
|
|
526
|
+
:type iterations: typing.Optional[typing.Any]
|
|
523
527
|
:param auto_iteration_count: Auto Iteration Count, Use a automatic number of iterations based on the number of vertices of the sculpt
|
|
524
|
-
:type auto_iteration_count: typing.Union[bool, typing.Any]
|
|
528
|
+
:type auto_iteration_count: typing.Optional[typing.Union[bool, typing.Any]]
|
|
525
529
|
"""
|
|
526
530
|
|
|
527
531
|
...
|
|
528
532
|
|
|
529
533
|
def mask_from_cavity(
|
|
530
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
531
|
-
execution_context: typing.Union[str, int] = None,
|
|
532
|
-
undo: bool = None,
|
|
533
|
-
mix_mode: typing.Any = "MIX",
|
|
534
|
-
mix_factor: typing.Any = 1.0,
|
|
535
|
-
settings_source: typing.Any = "OPERATOR",
|
|
536
|
-
factor: typing.Any = 0.5,
|
|
537
|
-
blur_steps: typing.Any = 2,
|
|
538
|
-
use_curve: typing.Union[bool, typing.Any] = False,
|
|
539
|
-
invert: typing.Union[bool, typing.Any] = False,
|
|
534
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
535
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
536
|
+
undo: typing.Optional[bool] = None,
|
|
537
|
+
mix_mode: typing.Optional[typing.Any] = "MIX",
|
|
538
|
+
mix_factor: typing.Optional[typing.Any] = 1.0,
|
|
539
|
+
settings_source: typing.Optional[typing.Any] = "OPERATOR",
|
|
540
|
+
factor: typing.Optional[typing.Any] = 0.5,
|
|
541
|
+
blur_steps: typing.Optional[typing.Any] = 2,
|
|
542
|
+
use_curve: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
543
|
+
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
540
544
|
):
|
|
541
545
|
"""Creates a mask based on the curvature of the surface
|
|
542
546
|
|
|
543
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
544
|
-
:type execution_context: typing.Union[str, int]
|
|
545
|
-
:type undo: bool
|
|
547
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
548
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
549
|
+
:type undo: typing.Optional[bool]
|
|
546
550
|
:param mix_mode: Mode, Mix mode
|
|
547
|
-
:type mix_mode: typing.Any
|
|
551
|
+
:type mix_mode: typing.Optional[typing.Any]
|
|
548
552
|
:param mix_factor: Mix Factor
|
|
549
|
-
:type mix_factor: typing.Any
|
|
553
|
+
:type mix_factor: typing.Optional[typing.Any]
|
|
550
554
|
:param settings_source: Settings, Use settings from here
|
|
551
555
|
|
|
552
556
|
OPERATOR
|
|
@@ -557,70 +561,70 @@ def mask_from_cavity(
|
|
|
557
561
|
|
|
558
562
|
SCENE
|
|
559
563
|
Scene -- Use settings from scene.
|
|
560
|
-
:type settings_source: typing.Any
|
|
564
|
+
:type settings_source: typing.Optional[typing.Any]
|
|
561
565
|
:param factor: Factor, The contrast of the cavity mask
|
|
562
|
-
:type factor: typing.Any
|
|
566
|
+
:type factor: typing.Optional[typing.Any]
|
|
563
567
|
:param blur_steps: Blur, The number of times the cavity mask is blurred
|
|
564
|
-
:type blur_steps: typing.Any
|
|
568
|
+
:type blur_steps: typing.Optional[typing.Any]
|
|
565
569
|
:param use_curve: Custom Curve
|
|
566
|
-
:type use_curve: typing.Union[bool, typing.Any]
|
|
570
|
+
:type use_curve: typing.Optional[typing.Union[bool, typing.Any]]
|
|
567
571
|
:param invert: Cavity (Inverted)
|
|
568
|
-
:type invert: typing.Union[bool, typing.Any]
|
|
572
|
+
:type invert: typing.Optional[typing.Union[bool, typing.Any]]
|
|
569
573
|
"""
|
|
570
574
|
|
|
571
575
|
...
|
|
572
576
|
|
|
573
577
|
def mask_init(
|
|
574
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
575
|
-
execution_context: typing.Union[str, int] = None,
|
|
576
|
-
undo: bool = None,
|
|
577
|
-
mode: typing.Any = "RANDOM_PER_VERTEX",
|
|
578
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
579
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
580
|
+
undo: typing.Optional[bool] = None,
|
|
581
|
+
mode: typing.Optional[typing.Any] = "RANDOM_PER_VERTEX",
|
|
578
582
|
):
|
|
579
583
|
"""Creates a new mask for the entire mesh
|
|
580
584
|
|
|
581
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
582
|
-
:type execution_context: typing.Union[str, int]
|
|
583
|
-
:type undo: bool
|
|
585
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
586
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
587
|
+
:type undo: typing.Optional[bool]
|
|
584
588
|
:param mode: Mode
|
|
585
|
-
:type mode: typing.Any
|
|
589
|
+
:type mode: typing.Optional[typing.Any]
|
|
586
590
|
"""
|
|
587
591
|
|
|
588
592
|
...
|
|
589
593
|
|
|
590
594
|
def mesh_filter(
|
|
591
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
592
|
-
execution_context: typing.Union[str, int] = None,
|
|
593
|
-
undo: bool = None,
|
|
594
|
-
start_mouse: typing.Any = (0, 0),
|
|
595
|
-
area_normal_radius: typing.Any = 0.25,
|
|
596
|
-
strength: typing.Any = 1.0,
|
|
597
|
-
iteration_count: typing.Any = 1,
|
|
598
|
-
event_history:
|
|
599
|
-
bpy.types.OperatorStrokeElement
|
|
595
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
596
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
597
|
+
undo: typing.Optional[bool] = None,
|
|
598
|
+
start_mouse: typing.Optional[typing.Any] = (0, 0),
|
|
599
|
+
area_normal_radius: typing.Optional[typing.Any] = 0.25,
|
|
600
|
+
strength: typing.Optional[typing.Any] = 1.0,
|
|
601
|
+
iteration_count: typing.Optional[typing.Any] = 1,
|
|
602
|
+
event_history: typing.Optional[
|
|
603
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
600
604
|
] = None,
|
|
601
|
-
type: typing.Any = "INFLATE",
|
|
602
|
-
deform_axis: typing.Any = {'"
|
|
603
|
-
orientation: typing.Any = "LOCAL",
|
|
604
|
-
surface_smooth_shape_preservation: typing.Any = 0.5,
|
|
605
|
-
surface_smooth_current_vertex: typing.Any = 0.5,
|
|
606
|
-
sharpen_smooth_ratio: typing.Any = 0.35,
|
|
607
|
-
sharpen_intensify_detail_strength: typing.Any = 0.0,
|
|
608
|
-
sharpen_curvature_smooth_iterations: typing.Any = 0,
|
|
605
|
+
type: typing.Optional[typing.Any] = "INFLATE",
|
|
606
|
+
deform_axis: typing.Optional[typing.Any] = {'"Y"', '"X"', '"Z"'},
|
|
607
|
+
orientation: typing.Optional[typing.Any] = "LOCAL",
|
|
608
|
+
surface_smooth_shape_preservation: typing.Optional[typing.Any] = 0.5,
|
|
609
|
+
surface_smooth_current_vertex: typing.Optional[typing.Any] = 0.5,
|
|
610
|
+
sharpen_smooth_ratio: typing.Optional[typing.Any] = 0.35,
|
|
611
|
+
sharpen_intensify_detail_strength: typing.Optional[typing.Any] = 0.0,
|
|
612
|
+
sharpen_curvature_smooth_iterations: typing.Optional[typing.Any] = 0,
|
|
609
613
|
):
|
|
610
614
|
"""Applies a filter to modify the current mesh
|
|
611
615
|
|
|
612
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
613
|
-
:type execution_context: typing.Union[str, int]
|
|
614
|
-
:type undo: bool
|
|
616
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
617
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
618
|
+
:type undo: typing.Optional[bool]
|
|
615
619
|
:param start_mouse: Starting Mouse
|
|
616
|
-
:type start_mouse: typing.Any
|
|
620
|
+
:type start_mouse: typing.Optional[typing.Any]
|
|
617
621
|
:param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
|
|
618
|
-
:type area_normal_radius: typing.Any
|
|
622
|
+
:type area_normal_radius: typing.Optional[typing.Any]
|
|
619
623
|
:param strength: Strength, Filter strength
|
|
620
|
-
:type strength: typing.Any
|
|
624
|
+
:type strength: typing.Optional[typing.Any]
|
|
621
625
|
:param iteration_count: Repeat, How many times to repeat the filter
|
|
622
|
-
:type iteration_count: typing.Any
|
|
623
|
-
:type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
626
|
+
:type iteration_count: typing.Optional[typing.Any]
|
|
627
|
+
:type event_history: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]]
|
|
624
628
|
:param type: Filter Type, Operation that is going to be applied to the mesh
|
|
625
629
|
|
|
626
630
|
SMOOTH
|
|
@@ -655,7 +659,7 @@ def mesh_filter(
|
|
|
655
659
|
|
|
656
660
|
ERASE_DISCPLACEMENT
|
|
657
661
|
Erase Displacement -- Deletes the displacement of the Multires Modifier.
|
|
658
|
-
:type type: typing.Any
|
|
662
|
+
:type type: typing.Optional[typing.Any]
|
|
659
663
|
:param deform_axis: Deform Axis, Apply the deformation in the selected axis
|
|
660
664
|
|
|
661
665
|
X
|
|
@@ -666,7 +670,7 @@ def mesh_filter(
|
|
|
666
670
|
|
|
667
671
|
Z
|
|
668
672
|
Z -- Deform in the Z axis.
|
|
669
|
-
:type deform_axis: typing.Any
|
|
673
|
+
:type deform_axis: typing.Optional[typing.Any]
|
|
670
674
|
:param orientation: Orientation, Orientation of the axis to limit the filter displacement
|
|
671
675
|
|
|
672
676
|
LOCAL
|
|
@@ -677,101 +681,101 @@ def mesh_filter(
|
|
|
677
681
|
|
|
678
682
|
VIEW
|
|
679
683
|
View -- Use the view axis to limit the displacement.
|
|
680
|
-
:type orientation: typing.Any
|
|
684
|
+
:type orientation: typing.Optional[typing.Any]
|
|
681
685
|
:param surface_smooth_shape_preservation: Shape Preservation, How much of the original shape is preserved when smoothing
|
|
682
|
-
:type surface_smooth_shape_preservation: typing.Any
|
|
686
|
+
:type surface_smooth_shape_preservation: typing.Optional[typing.Any]
|
|
683
687
|
:param surface_smooth_current_vertex: Per Vertex Displacement, How much the position of each individual vertex influences the final result
|
|
684
|
-
:type surface_smooth_current_vertex: typing.Any
|
|
688
|
+
:type surface_smooth_current_vertex: typing.Optional[typing.Any]
|
|
685
689
|
:param sharpen_smooth_ratio: Smooth Ratio, How much smoothing is applied to polished surfaces
|
|
686
|
-
:type sharpen_smooth_ratio: typing.Any
|
|
690
|
+
:type sharpen_smooth_ratio: typing.Optional[typing.Any]
|
|
687
691
|
:param sharpen_intensify_detail_strength: Intensify Details, How much creases and valleys are intensified
|
|
688
|
-
:type sharpen_intensify_detail_strength: typing.Any
|
|
692
|
+
:type sharpen_intensify_detail_strength: typing.Optional[typing.Any]
|
|
689
693
|
:param sharpen_curvature_smooth_iterations: Curvature Smooth Iterations, How much smooth the resulting shape is, ignoring high frequency details
|
|
690
|
-
:type sharpen_curvature_smooth_iterations: typing.Any
|
|
694
|
+
:type sharpen_curvature_smooth_iterations: typing.Optional[typing.Any]
|
|
691
695
|
"""
|
|
692
696
|
|
|
693
697
|
...
|
|
694
698
|
|
|
695
699
|
def optimize(
|
|
696
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
697
|
-
execution_context: typing.Union[str, int] = None,
|
|
698
|
-
undo: bool = None,
|
|
700
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
701
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
702
|
+
undo: typing.Optional[bool] = None,
|
|
699
703
|
):
|
|
700
704
|
"""Recalculate the sculpt BVH to improve performance
|
|
701
705
|
|
|
702
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
703
|
-
:type execution_context: typing.Union[str, int]
|
|
704
|
-
:type undo: bool
|
|
706
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
707
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
708
|
+
:type undo: typing.Optional[bool]
|
|
705
709
|
"""
|
|
706
710
|
|
|
707
711
|
...
|
|
708
712
|
|
|
709
713
|
def project_line_gesture(
|
|
710
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
711
|
-
execution_context: typing.Union[str, int] = None,
|
|
712
|
-
undo: bool = None,
|
|
713
|
-
xstart: typing.Any = 0,
|
|
714
|
-
xend: typing.Any = 0,
|
|
715
|
-
ystart: typing.Any = 0,
|
|
716
|
-
yend: typing.Any = 0,
|
|
717
|
-
flip: typing.Union[bool, typing.Any] = False,
|
|
718
|
-
cursor: typing.Any = 5,
|
|
719
|
-
use_front_faces_only: typing.Union[bool, typing.Any] = False,
|
|
720
|
-
use_limit_to_segment: typing.Union[bool, typing.Any] = False,
|
|
714
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
715
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
716
|
+
undo: typing.Optional[bool] = None,
|
|
717
|
+
xstart: typing.Optional[typing.Any] = 0,
|
|
718
|
+
xend: typing.Optional[typing.Any] = 0,
|
|
719
|
+
ystart: typing.Optional[typing.Any] = 0,
|
|
720
|
+
yend: typing.Optional[typing.Any] = 0,
|
|
721
|
+
flip: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
722
|
+
cursor: typing.Optional[typing.Any] = 5,
|
|
723
|
+
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
724
|
+
use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
721
725
|
):
|
|
722
726
|
"""Project the geometry onto a plane defined by a line
|
|
723
727
|
|
|
724
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
725
|
-
:type execution_context: typing.Union[str, int]
|
|
726
|
-
:type undo: bool
|
|
728
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
729
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
730
|
+
:type undo: typing.Optional[bool]
|
|
727
731
|
:param xstart: X Start
|
|
728
|
-
:type xstart: typing.Any
|
|
732
|
+
:type xstart: typing.Optional[typing.Any]
|
|
729
733
|
:param xend: X End
|
|
730
|
-
:type xend: typing.Any
|
|
734
|
+
:type xend: typing.Optional[typing.Any]
|
|
731
735
|
:param ystart: Y Start
|
|
732
|
-
:type ystart: typing.Any
|
|
736
|
+
:type ystart: typing.Optional[typing.Any]
|
|
733
737
|
:param yend: Y End
|
|
734
|
-
:type yend: typing.Any
|
|
738
|
+
:type yend: typing.Optional[typing.Any]
|
|
735
739
|
:param flip: Flip
|
|
736
|
-
:type flip: typing.Union[bool, typing.Any]
|
|
740
|
+
:type flip: typing.Optional[typing.Union[bool, typing.Any]]
|
|
737
741
|
:param cursor: Cursor, Mouse cursor style to use during the modal operator
|
|
738
|
-
:type cursor: typing.Any
|
|
742
|
+
:type cursor: typing.Optional[typing.Any]
|
|
739
743
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
740
|
-
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
744
|
+
:type use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]]
|
|
741
745
|
:param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
|
|
742
|
-
:type use_limit_to_segment: typing.Union[bool, typing.Any]
|
|
746
|
+
:type use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]]
|
|
743
747
|
"""
|
|
744
748
|
|
|
745
749
|
...
|
|
746
750
|
|
|
747
751
|
def sample_color(
|
|
748
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
749
|
-
execution_context: typing.Union[str, int] = None,
|
|
750
|
-
undo: bool = None,
|
|
752
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
753
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
754
|
+
undo: typing.Optional[bool] = None,
|
|
751
755
|
):
|
|
752
756
|
"""Sample the vertex color of the active vertex
|
|
753
757
|
|
|
754
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
755
|
-
:type execution_context: typing.Union[str, int]
|
|
756
|
-
:type undo: bool
|
|
758
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
759
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
760
|
+
:type undo: typing.Optional[bool]
|
|
757
761
|
"""
|
|
758
762
|
|
|
759
763
|
...
|
|
760
764
|
|
|
761
765
|
def sample_detail_size(
|
|
762
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
763
|
-
execution_context: typing.Union[str, int] = None,
|
|
764
|
-
undo: bool = None,
|
|
765
|
-
location: typing.Any = (0, 0),
|
|
766
|
-
mode: typing.Any = "DYNTOPO",
|
|
766
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
767
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
768
|
+
undo: typing.Optional[bool] = None,
|
|
769
|
+
location: typing.Optional[typing.Any] = (0, 0),
|
|
770
|
+
mode: typing.Optional[typing.Any] = "DYNTOPO",
|
|
767
771
|
):
|
|
768
772
|
"""Sample the mesh detail on clicked point
|
|
769
773
|
|
|
770
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
771
|
-
:type execution_context: typing.Union[str, int]
|
|
772
|
-
:type undo: bool
|
|
774
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
775
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
776
|
+
:type undo: typing.Optional[bool]
|
|
773
777
|
:param location: Location, Screen coordinates of sampling
|
|
774
|
-
:type location: typing.Any
|
|
778
|
+
:type location: typing.Optional[typing.Any]
|
|
775
779
|
:param mode: Detail Mode, Target sculpting workflow that is going to use the sampled size
|
|
776
780
|
|
|
777
781
|
DYNTOPO
|
|
@@ -779,52 +783,52 @@ def sample_detail_size(
|
|
|
779
783
|
|
|
780
784
|
VOXEL
|
|
781
785
|
Voxel -- Sample mesh voxel size.
|
|
782
|
-
:type mode: typing.Any
|
|
786
|
+
:type mode: typing.Optional[typing.Any]
|
|
783
787
|
"""
|
|
784
788
|
|
|
785
789
|
...
|
|
786
790
|
|
|
787
791
|
def sculptmode_toggle(
|
|
788
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
789
|
-
execution_context: typing.Union[str, int] = None,
|
|
790
|
-
undo: bool = None,
|
|
792
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
793
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
794
|
+
undo: typing.Optional[bool] = None,
|
|
791
795
|
):
|
|
792
796
|
"""Toggle sculpt mode in 3D view
|
|
793
797
|
|
|
794
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
795
|
-
:type execution_context: typing.Union[str, int]
|
|
796
|
-
:type undo: bool
|
|
798
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
799
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
800
|
+
:type undo: typing.Optional[bool]
|
|
797
801
|
"""
|
|
798
802
|
|
|
799
803
|
...
|
|
800
804
|
|
|
801
805
|
def set_persistent_base(
|
|
802
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
803
|
-
execution_context: typing.Union[str, int] = None,
|
|
804
|
-
undo: bool = None,
|
|
806
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
807
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
808
|
+
undo: typing.Optional[bool] = None,
|
|
805
809
|
):
|
|
806
810
|
"""Reset the copy of the mesh that is being sculpted on
|
|
807
811
|
|
|
808
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
809
|
-
:type execution_context: typing.Union[str, int]
|
|
810
|
-
:type undo: bool
|
|
812
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
813
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
814
|
+
:type undo: typing.Optional[bool]
|
|
811
815
|
"""
|
|
812
816
|
|
|
813
817
|
...
|
|
814
818
|
|
|
815
819
|
def set_pivot_position(
|
|
816
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
817
|
-
execution_context: typing.Union[str, int] = None,
|
|
818
|
-
undo: bool = None,
|
|
819
|
-
mode: typing.Any = "UNMASKED",
|
|
820
|
-
mouse_x: typing.Any = 0.0,
|
|
821
|
-
mouse_y: typing.Any = 0.0,
|
|
820
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
821
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
822
|
+
undo: typing.Optional[bool] = None,
|
|
823
|
+
mode: typing.Optional[typing.Any] = "UNMASKED",
|
|
824
|
+
mouse_x: typing.Optional[typing.Any] = 0.0,
|
|
825
|
+
mouse_y: typing.Optional[typing.Any] = 0.0,
|
|
822
826
|
):
|
|
823
827
|
"""Sets the sculpt transform pivot position
|
|
824
828
|
|
|
825
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
826
|
-
:type execution_context: typing.Union[str, int]
|
|
827
|
-
:type undo: bool
|
|
829
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
830
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
831
|
+
:type undo: typing.Optional[bool]
|
|
828
832
|
:param mode: Mode
|
|
829
833
|
|
|
830
834
|
ORIGIN
|
|
@@ -841,68 +845,68 @@ def set_pivot_position(
|
|
|
841
845
|
|
|
842
846
|
SURFACE
|
|
843
847
|
Surface -- Sets the pivot position to the surface under the cursor.
|
|
844
|
-
:type mode: typing.Any
|
|
848
|
+
:type mode: typing.Optional[typing.Any]
|
|
845
849
|
:param mouse_x: Mouse Position X, Position of the mouse used for "Surface" mode
|
|
846
|
-
:type mouse_x: typing.Any
|
|
850
|
+
:type mouse_x: typing.Optional[typing.Any]
|
|
847
851
|
:param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" mode
|
|
848
|
-
:type mouse_y: typing.Any
|
|
852
|
+
:type mouse_y: typing.Optional[typing.Any]
|
|
849
853
|
"""
|
|
850
854
|
|
|
851
855
|
...
|
|
852
856
|
|
|
853
857
|
def symmetrize(
|
|
854
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
855
|
-
execution_context: typing.Union[str, int] = None,
|
|
856
|
-
undo: bool = None,
|
|
857
|
-
merge_tolerance: typing.Any = 0.0005,
|
|
858
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
859
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
860
|
+
undo: typing.Optional[bool] = None,
|
|
861
|
+
merge_tolerance: typing.Optional[typing.Any] = 0.0005,
|
|
858
862
|
):
|
|
859
863
|
"""Symmetrize the topology modifications
|
|
860
864
|
|
|
861
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
862
|
-
:type execution_context: typing.Union[str, int]
|
|
863
|
-
:type undo: bool
|
|
865
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
866
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
867
|
+
:type undo: typing.Optional[bool]
|
|
864
868
|
:param merge_tolerance: Merge Distance, Distance within which symmetrical vertices are merged
|
|
865
|
-
:type merge_tolerance: typing.Any
|
|
869
|
+
:type merge_tolerance: typing.Optional[typing.Any]
|
|
866
870
|
"""
|
|
867
871
|
|
|
868
872
|
...
|
|
869
873
|
|
|
870
874
|
def trim_box_gesture(
|
|
871
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
872
|
-
execution_context: typing.Union[str, int] = None,
|
|
873
|
-
undo: bool = None,
|
|
874
|
-
xmin: typing.Any = 0,
|
|
875
|
-
xmax: typing.Any = 0,
|
|
876
|
-
ymin: typing.Any = 0,
|
|
877
|
-
ymax: typing.Any = 0,
|
|
878
|
-
wait_for_input: typing.Union[bool, typing.Any] = True,
|
|
879
|
-
use_front_faces_only: typing.Union[bool, typing.Any] = False,
|
|
880
|
-
location: typing.Any = (0, 0),
|
|
881
|
-
trim_mode: typing.Any = "DIFFERENCE",
|
|
882
|
-
use_cursor_depth: typing.Union[bool, typing.Any] = False,
|
|
883
|
-
trim_orientation: typing.Any = "VIEW",
|
|
884
|
-
trim_extrude_mode: typing.Any = "FIXED",
|
|
885
|
-
trim_solver: typing.Any = "FAST",
|
|
875
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
876
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
877
|
+
undo: typing.Optional[bool] = None,
|
|
878
|
+
xmin: typing.Optional[typing.Any] = 0,
|
|
879
|
+
xmax: typing.Optional[typing.Any] = 0,
|
|
880
|
+
ymin: typing.Optional[typing.Any] = 0,
|
|
881
|
+
ymax: typing.Optional[typing.Any] = 0,
|
|
882
|
+
wait_for_input: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
883
|
+
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
884
|
+
location: typing.Optional[typing.Any] = (0, 0),
|
|
885
|
+
trim_mode: typing.Optional[typing.Any] = "DIFFERENCE",
|
|
886
|
+
use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
887
|
+
trim_orientation: typing.Optional[typing.Any] = "VIEW",
|
|
888
|
+
trim_extrude_mode: typing.Optional[typing.Any] = "FIXED",
|
|
889
|
+
trim_solver: typing.Optional[typing.Any] = "FAST",
|
|
886
890
|
):
|
|
887
891
|
"""Trims the mesh within the box as you move the brush
|
|
888
892
|
|
|
889
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
890
|
-
:type execution_context: typing.Union[str, int]
|
|
891
|
-
:type undo: bool
|
|
893
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
894
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
895
|
+
:type undo: typing.Optional[bool]
|
|
892
896
|
:param xmin: X Min
|
|
893
|
-
:type xmin: typing.Any
|
|
897
|
+
:type xmin: typing.Optional[typing.Any]
|
|
894
898
|
:param xmax: X Max
|
|
895
|
-
:type xmax: typing.Any
|
|
899
|
+
:type xmax: typing.Optional[typing.Any]
|
|
896
900
|
:param ymin: Y Min
|
|
897
|
-
:type ymin: typing.Any
|
|
901
|
+
:type ymin: typing.Optional[typing.Any]
|
|
898
902
|
:param ymax: Y Max
|
|
899
|
-
:type ymax: typing.Any
|
|
903
|
+
:type ymax: typing.Optional[typing.Any]
|
|
900
904
|
:param wait_for_input: Wait for Input
|
|
901
|
-
:type wait_for_input: typing.Union[bool, typing.Any]
|
|
905
|
+
:type wait_for_input: typing.Optional[typing.Union[bool, typing.Any]]
|
|
902
906
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
903
|
-
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
907
|
+
:type use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]]
|
|
904
908
|
:param location: Location, Mouse location
|
|
905
|
-
:type location: typing.Any
|
|
909
|
+
:type location: typing.Optional[typing.Any]
|
|
906
910
|
:param trim_mode: Trim Mode
|
|
907
911
|
|
|
908
912
|
DIFFERENCE
|
|
@@ -913,9 +917,9 @@ def trim_box_gesture(
|
|
|
913
917
|
|
|
914
918
|
JOIN
|
|
915
919
|
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
916
|
-
:type trim_mode: typing.Any
|
|
920
|
+
:type trim_mode: typing.Optional[typing.Any]
|
|
917
921
|
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
918
|
-
:type use_cursor_depth: typing.Union[bool, typing.Any]
|
|
922
|
+
:type use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]]
|
|
919
923
|
:param trim_orientation: Shape Orientation
|
|
920
924
|
|
|
921
925
|
VIEW
|
|
@@ -923,7 +927,7 @@ def trim_box_gesture(
|
|
|
923
927
|
|
|
924
928
|
SURFACE
|
|
925
929
|
Surface -- Use the surface normal to orientate the trimming shape.
|
|
926
|
-
:type trim_orientation: typing.Any
|
|
930
|
+
:type trim_orientation: typing.Optional[typing.Any]
|
|
927
931
|
:param trim_extrude_mode: Extrude Mode
|
|
928
932
|
|
|
929
933
|
PROJECT
|
|
@@ -931,7 +935,7 @@ def trim_box_gesture(
|
|
|
931
935
|
|
|
932
936
|
FIXED
|
|
933
937
|
Fixed -- Extrude back faces by fixed amount.
|
|
934
|
-
:type trim_extrude_mode: typing.Any
|
|
938
|
+
:type trim_extrude_mode: typing.Optional[typing.Any]
|
|
935
939
|
:param trim_solver: Solver
|
|
936
940
|
|
|
937
941
|
EXACT
|
|
@@ -939,35 +943,37 @@ def trim_box_gesture(
|
|
|
939
943
|
|
|
940
944
|
FAST
|
|
941
945
|
Fast -- Use the fast float boolean solver.
|
|
942
|
-
:type trim_solver: typing.Any
|
|
946
|
+
:type trim_solver: typing.Optional[typing.Any]
|
|
943
947
|
"""
|
|
944
948
|
|
|
945
949
|
...
|
|
946
950
|
|
|
947
951
|
def trim_lasso_gesture(
|
|
948
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
949
|
-
execution_context: typing.Union[str, int] = None,
|
|
950
|
-
undo: bool = None,
|
|
951
|
-
path:
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
952
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
953
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
954
|
+
undo: typing.Optional[bool] = None,
|
|
955
|
+
path: typing.Optional[
|
|
956
|
+
bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
957
|
+
] = None,
|
|
958
|
+
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
959
|
+
location: typing.Optional[typing.Any] = (0, 0),
|
|
960
|
+
trim_mode: typing.Optional[typing.Any] = "DIFFERENCE",
|
|
961
|
+
use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
962
|
+
trim_orientation: typing.Optional[typing.Any] = "VIEW",
|
|
963
|
+
trim_extrude_mode: typing.Optional[typing.Any] = "FIXED",
|
|
964
|
+
trim_solver: typing.Optional[typing.Any] = "FAST",
|
|
959
965
|
):
|
|
960
966
|
"""Trims the mesh within the lasso as you move the brush
|
|
961
967
|
|
|
962
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
963
|
-
:type execution_context: typing.Union[str, int]
|
|
964
|
-
:type undo: bool
|
|
968
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
969
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
970
|
+
:type undo: typing.Optional[bool]
|
|
965
971
|
:param path: Path
|
|
966
|
-
:type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
972
|
+
:type path: typing.Optional[bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]]
|
|
967
973
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
968
|
-
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
974
|
+
:type use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]]
|
|
969
975
|
:param location: Location, Mouse location
|
|
970
|
-
:type location: typing.Any
|
|
976
|
+
:type location: typing.Optional[typing.Any]
|
|
971
977
|
:param trim_mode: Trim Mode
|
|
972
978
|
|
|
973
979
|
DIFFERENCE
|
|
@@ -978,9 +984,9 @@ def trim_lasso_gesture(
|
|
|
978
984
|
|
|
979
985
|
JOIN
|
|
980
986
|
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
981
|
-
:type trim_mode: typing.Any
|
|
987
|
+
:type trim_mode: typing.Optional[typing.Any]
|
|
982
988
|
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
983
|
-
:type use_cursor_depth: typing.Union[bool, typing.Any]
|
|
989
|
+
:type use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]]
|
|
984
990
|
:param trim_orientation: Shape Orientation
|
|
985
991
|
|
|
986
992
|
VIEW
|
|
@@ -988,7 +994,7 @@ def trim_lasso_gesture(
|
|
|
988
994
|
|
|
989
995
|
SURFACE
|
|
990
996
|
Surface -- Use the surface normal to orientate the trimming shape.
|
|
991
|
-
:type trim_orientation: typing.Any
|
|
997
|
+
:type trim_orientation: typing.Optional[typing.Any]
|
|
992
998
|
:param trim_extrude_mode: Extrude Mode
|
|
993
999
|
|
|
994
1000
|
PROJECT
|
|
@@ -996,7 +1002,7 @@ def trim_lasso_gesture(
|
|
|
996
1002
|
|
|
997
1003
|
FIXED
|
|
998
1004
|
Fixed -- Extrude back faces by fixed amount.
|
|
999
|
-
:type trim_extrude_mode: typing.Any
|
|
1005
|
+
:type trim_extrude_mode: typing.Optional[typing.Any]
|
|
1000
1006
|
:param trim_solver: Solver
|
|
1001
1007
|
|
|
1002
1008
|
EXACT
|
|
@@ -1004,22 +1010,22 @@ def trim_lasso_gesture(
|
|
|
1004
1010
|
|
|
1005
1011
|
FAST
|
|
1006
1012
|
Fast -- Use the fast float boolean solver.
|
|
1007
|
-
:type trim_solver: typing.Any
|
|
1013
|
+
:type trim_solver: typing.Optional[typing.Any]
|
|
1008
1014
|
"""
|
|
1009
1015
|
|
|
1010
1016
|
...
|
|
1011
1017
|
|
|
1012
1018
|
def uv_sculpt_stroke(
|
|
1013
|
-
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
1014
|
-
execution_context: typing.Union[str, int] = None,
|
|
1015
|
-
undo: bool = None,
|
|
1016
|
-
mode: typing.Any = "NORMAL",
|
|
1019
|
+
override_context: typing.Optional[typing.Union[dict, bpy.types.Context]] = None,
|
|
1020
|
+
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
1021
|
+
undo: typing.Optional[bool] = None,
|
|
1022
|
+
mode: typing.Optional[typing.Any] = "NORMAL",
|
|
1017
1023
|
):
|
|
1018
1024
|
"""Sculpt UVs using a brush
|
|
1019
1025
|
|
|
1020
|
-
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
1021
|
-
:type execution_context: typing.Union[str, int]
|
|
1022
|
-
:type undo: bool
|
|
1026
|
+
:type override_context: typing.Optional[typing.Union[dict, bpy.types.Context]]
|
|
1027
|
+
:type execution_context: typing.Optional[typing.Union[str, int]]
|
|
1028
|
+
:type undo: typing.Optional[bool]
|
|
1023
1029
|
:param mode: Mode, Stroke Mode
|
|
1024
1030
|
|
|
1025
1031
|
NORMAL
|
|
@@ -1030,7 +1036,7 @@ def uv_sculpt_stroke(
|
|
|
1030
1036
|
|
|
1031
1037
|
RELAX
|
|
1032
1038
|
Relax -- Switch brush to relax mode for duration of stroke.
|
|
1033
|
-
:type mode: typing.Any
|
|
1039
|
+
:type mode: typing.Optional[typing.Any]
|
|
1034
1040
|
"""
|
|
1035
1041
|
|
|
1036
1042
|
...
|