fake-bpy-module 20240210__py3-none-any.whl → 20240326__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.
- addon_utils/__init__.pyi +54 -11
- animsys_refactor/__init__.pyi +36 -7
- aud/__init__.pyi +307 -321
- bgl/__init__.pyi +2926 -865
- bl_app_override/__init__.pyi +14 -4
- bl_app_override/helpers/__init__.pyi +24 -3
- bl_app_template_utils/__init__.pyi +19 -5
- bl_console_utils/__init__.pyi +0 -1
- bl_console_utils/autocomplete/__init__.pyi +2 -3
- bl_console_utils/autocomplete/complete_calltip/__init__.pyi +24 -6
- bl_console_utils/autocomplete/complete_import/__init__.pyi +14 -4
- bl_console_utils/autocomplete/complete_namespace/__init__.pyi +24 -6
- bl_console_utils/autocomplete/intellisense/__init__.pyi +9 -3
- bl_i18n_utils/__init__.pyi +2 -3
- bl_i18n_utils/bl_extract_messages/__init__.pyi +74 -16
- bl_i18n_utils/merge_po/__init__.pyi +4 -2
- bl_i18n_utils/settings/__init__.pyi +53 -7
- bl_i18n_utils/utils/__init__.pyi +332 -45
- bl_i18n_utils/utils_cli/__init__.pyi +29 -7
- bl_i18n_utils/utils_languages_menu/__init__.pyi +4 -2
- bl_i18n_utils/utils_rtl/__init__.pyi +9 -3
- bl_keymap_utils/__init__.pyi +2 -3
- bl_keymap_utils/io/__init__.pyi +44 -10
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +4 -2
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +4 -2
- bl_keymap_utils/platform_helpers/__init__.pyi +9 -3
- bl_keymap_utils/versioning/__init__.pyi +4 -2
- bl_math/__init__.pyi +21 -22
- bl_operators/__init__.pyi +30 -24
- bl_operators/add_mesh_torus/__init__.pyi +171 -38
- bl_operators/anim/__init__.pyi +1065 -227
- bl_operators/assets/__init__.pyi +427 -93
- bl_operators/bmesh/__init__.pyi +0 -1
- bl_operators/bmesh/find_adjacent/__init__.pyi +44 -10
- bl_operators/clip/__init__.pyi +1342 -288
- bl_operators/console/__init__.pyi +647 -141
- bl_operators/constraint/__init__.pyi +524 -113
- bl_operators/file/__init__.pyi +396 -85
- bl_operators/freestyle/__init__.pyi +532 -114
- bl_operators/geometry_nodes/__init__.pyi +2412 -597
- bl_operators/image/__init__.pyi +380 -83
- bl_operators/mesh/__init__.pyi +401 -86
- bl_operators/node/__init__.pyi +1756 -385
- bl_operators/object/__init__.pyi +2022 -553
- bl_operators/object_align/__init__.pyi +145 -32
- bl_operators/object_quick_effects/__init__.pyi +555 -125
- bl_operators/object_randomize_transform/__init__.pyi +136 -33
- bl_operators/presets/__init__.pyi +3516 -709
- bl_operators/rigidbody/__init__.pyi +401 -86
- bl_operators/screen_play_rendered_anim/__init__.pyi +129 -30
- bl_operators/sequencer/__init__.pyi +731 -150
- bl_operators/spreadsheet/__init__.pyi +145 -31
- bl_operators/userpref/__init__.pyi +3416 -825
- bl_operators/uvcalc_follow_active/__init__.pyi +149 -33
- bl_operators/uvcalc_lightmap/__init__.pyi +187 -35
- bl_operators/uvcalc_transform/__init__.pyi +344 -74
- bl_operators/vertexpaint_dirt/__init__.pyi +140 -31
- bl_operators/view3d/__init__.pyi +697 -147
- bl_operators/wm/__init__.pyi +6287 -1534
- bl_previews_utils/__init__.pyi +0 -1
- bl_previews_utils/bl_previews_render/__init__.pyi +34 -8
- bl_rna_utils/__init__.pyi +0 -1
- bl_rna_utils/data_path/__init__.pyi +12 -3
- bl_text_utils/__init__.pyi +0 -1
- bl_text_utils/external_editor/__init__.pyi +4 -2
- bl_ui/__init__.pyi +567 -170
- bl_ui/anim/__init__.pyi +164 -34
- bl_ui/asset_shelf/__init__.pyi +146 -32
- bl_ui/generic_ui_list/__init__.pyi +471 -100
- bl_ui/node_add_menu/__init__.pyi +196 -41
- bl_ui/node_add_menu_compositor/__init__.pyi +3017 -622
- bl_ui/node_add_menu_geometry/__init__.pyi +8075 -1592
- bl_ui/node_add_menu_shader/__init__.pyi +1709 -349
- bl_ui/node_add_menu_texture/__init__.pyi +1502 -306
- bl_ui/properties_animviz/__init__.pyi +32 -3
- bl_ui/properties_collection/__init__.pyi +787 -180
- bl_ui/properties_constraint/__init__.pyi +28635 -5524
- bl_ui/properties_data_armature/__init__.pyi +1905 -449
- bl_ui/properties_data_bone/__init__.pyi +1560 -337
- bl_ui/properties_data_camera/__init__.pyi +2269 -495
- bl_ui/properties_data_curve/__init__.pyi +2362 -535
- bl_ui/properties_data_curves/__init__.pyi +951 -204
- bl_ui/properties_data_empty/__init__.pyi +317 -70
- bl_ui/properties_data_gpencil/__init__.pyi +2924 -735
- bl_ui/properties_data_grease_pencil/__init__.pyi +1631 -189
- bl_ui/properties_data_lattice/__init__.pyi +472 -105
- bl_ui/properties_data_light/__init__.pyi +1570 -338
- bl_ui/properties_data_lightprobe/__init__.pyi +938 -209
- bl_ui/properties_data_mesh/__init__.pyi +3205 -768
- bl_ui/properties_data_metaball/__init__.pyi +774 -171
- bl_ui/properties_data_modifier/__init__.pyi +1554 -329
- bl_ui/properties_data_pointcloud/__init__.pyi +821 -195
- bl_ui/properties_data_shaderfx/__init__.pyi +154 -35
- bl_ui/properties_data_speaker/__init__.pyi +782 -169
- bl_ui/properties_data_volume/__init__.pyi +1243 -282
- bl_ui/properties_freestyle/__init__.pyi +4071 -1031
- bl_ui/properties_grease_pencil_common/__init__.pyi +2399 -484
- bl_ui/properties_mask_common/__init__.pyi +1256 -250
- bl_ui/properties_material/__init__.pyi +2351 -543
- bl_ui/properties_material_gpencil/__init__.pyi +1590 -366
- bl_ui/properties_object/__init__.pyi +2179 -513
- bl_ui/properties_output/__init__.pyi +2956 -706
- bl_ui/properties_paint_common/__init__.pyi +947 -141
- bl_ui/properties_particle/__init__.pyi +8322 -1971
- bl_ui/properties_physics_cloth/__init__.pyi +2254 -509
- bl_ui/properties_physics_common/__init__.pyi +200 -45
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +4454 -966
- bl_ui/properties_physics_field/__init__.pyi +1695 -365
- bl_ui/properties_physics_fluid/__init__.pyi +6127 -1281
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +157 -33
- bl_ui/properties_physics_rigidbody/__init__.pyi +1254 -279
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +2053 -484
- bl_ui/properties_physics_softbody/__init__.pyi +2394 -543
- bl_ui/properties_render/__init__.pyi +8312 -1934
- bl_ui/properties_scene/__init__.pyi +2211 -540
- bl_ui/properties_texture/__init__.pyi +4185 -1014
- bl_ui/properties_view_layer/__init__.pyi +2803 -665
- bl_ui/properties_workspace/__init__.pyi +626 -149
- bl_ui/properties_world/__init__.pyi +1092 -235
- bl_ui/space_clip/__init__.pyi +11475 -2806
- bl_ui/space_console/__init__.pyi +967 -203
- bl_ui/space_dopesheet/__init__.pyi +4260 -967
- bl_ui/space_filebrowser/__init__.pyi +4852 -1188
- bl_ui/space_graph/__init__.pyi +3251 -703
- bl_ui/space_image/__init__.pyi +12218 -2968
- bl_ui/space_info/__init__.pyi +964 -201
- bl_ui/space_nla/__init__.pyi +2756 -585
- bl_ui/space_node/__init__.pyi +5661 -1266
- bl_ui/space_outliner/__init__.pyi +2294 -479
- bl_ui/space_properties/__init__.pyi +417 -93
- bl_ui/space_sequencer/__init__.pyi +12436 -3010
- bl_ui/space_spreadsheet/__init__.pyi +184 -37
- bl_ui/space_statusbar/__init__.pyi +135 -31
- bl_ui/space_text/__init__.pyi +2556 -543
- bl_ui/space_time/__init__.pyi +1151 -244
- bl_ui/space_toolsystem_common/__init__.pyi +368 -67
- bl_ui/space_toolsystem_toolbar/__init__.pyi +1378 -229
- bl_ui/space_topbar/__init__.pyi +4214 -888
- bl_ui/space_userpref/__init__.pyi +13920 -3468
- bl_ui/space_view3d/__init__.pyi +42751 -9613
- bl_ui/space_view3d_toolbar/__init__.pyi +16379 -3860
- bl_ui/utils/__init__.pyi +42 -5
- bl_ui_utils/__init__.pyi +0 -1
- bl_ui_utils/bug_report_url/__init__.pyi +4 -2
- bl_ui_utils/layout/__init__.pyi +4 -2
- blend_render_info/__init__.pyi +13 -4
- blf/__init__.pyi +15 -18
- bmesh/__init__.pyi +18 -18
- bmesh/geometry/__init__.pyi +5 -6
- bmesh/ops/__init__.pyi +1337 -1158
- bmesh/types/__init__.pyi +464 -374
- bmesh/utils/__init__.pyi +64 -70
- bpy/__init__.pyi +6 -7
- bpy/app/__init__.pyi +36 -38
- bpy/app/handlers/__init__.pyi +37 -38
- bpy/app/icons/__init__.pyi +8 -11
- bpy/app/timers/__init__.pyi +18 -17
- bpy/app/translations/__init__.pyi +32 -30
- bpy/msgbus/__init__.pyi +25 -20
- bpy/ops/__init__.pyi +63 -64
- bpy/ops/action/__init__.pyi +408 -436
- bpy/ops/anim/__init__.pyi +459 -577
- bpy/ops/armature/__init__.pyi +396 -498
- bpy/ops/asset/__init__.pyi +187 -213
- bpy/ops/boid/__init__.pyi +50 -68
- bpy/ops/brush/__init__.pyi +72 -97
- bpy/ops/buttons/__init__.pyi +202 -193
- bpy/ops/cachefile/__init__.pyi +198 -188
- bpy/ops/camera/__init__.pyi +24 -31
- bpy/ops/clip/__init__.pyi +1021 -1082
- bpy/ops/cloth/__init__.pyi +11 -15
- bpy/ops/collection/__init__.pyi +36 -51
- bpy/ops/console/__init__.pyi +155 -209
- bpy/ops/constraint/__init__.pyi +286 -254
- bpy/ops/curve/__init__.pyi +597 -659
- bpy/ops/curves/__init__.pyi +191 -225
- bpy/ops/cycles/__init__.pyi +21 -30
- bpy/ops/dpaint/__init__.pyi +34 -47
- bpy/ops/ed/__init__.pyi +160 -176
- bpy/ops/export_anim/__init__.pyi +51 -34
- bpy/ops/export_mesh/__init__.pyi +47 -45
- bpy/ops/export_scene/__init__.pyi +659 -504
- bpy/ops/file/__init__.pyi +469 -474
- bpy/ops/fluid/__init__.pyi +89 -119
- bpy/ops/font/__init__.pyi +325 -361
- bpy/ops/geometry/__init__.pyi +86 -114
- bpy/ops/gizmogroup/__init__.pyi +22 -28
- bpy/ops/gpencil/__init__.pyi +1900 -1976
- bpy/ops/graph/__init__.pyi +875 -894
- bpy/ops/grease_pencil/__init__.pyi +572 -508
- bpy/ops/image/__init__.pyi +805 -855
- bpy/ops/import_anim/__init__.pyi +66 -46
- bpy/ops/import_curve/__init__.pyi +7 -11
- bpy/ops/import_mesh/__init__.pyi +19 -25
- bpy/ops/import_scene/__init__.pyi +164 -147
- bpy/ops/info/__init__.pyi +88 -85
- bpy/ops/lattice/__init__.pyi +86 -90
- bpy/ops/marker/__init__.pyi +135 -146
- bpy/ops/mask/__init__.pyi +372 -436
- bpy/ops/material/__init__.pyi +18 -25
- bpy/ops/mball/__init__.pyi +93 -99
- bpy/ops/mesh/__init__.pyi +2525 -2664
- bpy/ops/nla/__init__.pyi +398 -455
- bpy/ops/node/__init__.pyi +1015 -1207
- bpy/ops/object/__init__.pyi +3423 -3390
- bpy/ops/outliner/__init__.pyi +667 -685
- bpy/ops/paint/__init__.pyi +719 -672
- bpy/ops/paintcurve/__init__.pyi +64 -85
- bpy/ops/palette/__init__.pyi +48 -67
- bpy/ops/particle/__init__.pyi +323 -367
- bpy/ops/pose/__init__.pyi +569 -474
- bpy/ops/poselib/__init__.pyi +77 -100
- bpy/ops/preferences/__init__.pyi +460 -512
- bpy/ops/ptcache/__init__.pyi +46 -63
- bpy/ops/render/__init__.pyi +121 -155
- bpy/ops/rigidbody/__init__.pyi +148 -143
- bpy/ops/scene/__init__.pyi +336 -380
- bpy/ops/screen/__init__.pyi +454 -530
- bpy/ops/script/__init__.pyi +19 -28
- bpy/ops/sculpt/__init__.pyi +734 -587
- bpy/ops/sculpt_curves/__init__.pyi +51 -56
- bpy/ops/sequencer/__init__.pyi +1617 -1500
- bpy/ops/sound/__init__.pyi +392 -315
- bpy/ops/spreadsheet/__init__.pyi +31 -42
- bpy/ops/surface/__init__.pyi +198 -163
- bpy/ops/text/__init__.pyi +479 -545
- bpy/ops/text_editor/__init__.pyi +11 -15
- bpy/ops/texture/__init__.pyi +26 -36
- bpy/ops/transform/__init__.pyi +825 -941
- bpy/ops/ui/__init__.pyi +246 -295
- bpy/ops/uilist/__init__.pyi +34 -38
- bpy/ops/uv/__init__.pyi +912 -824
- bpy/ops/view2d/__init__.pyi +157 -197
- bpy/ops/view3d/__init__.pyi +777 -878
- bpy/ops/wm/__init__.pyi +4102 -3595
- bpy/ops/workspace/__init__.pyi +42 -58
- bpy/ops/world/__init__.pyi +6 -9
- bpy/path/__init__.pyi +166 -109
- bpy/props/__init__.pyi +478 -395
- bpy/types/__init__.pyi +87194 -81467
- bpy/utils/__init__.pyi +325 -169
- bpy/utils/previews/__init__.pyi +108 -21
- bpy/utils/units/__init__.pyi +37 -39
- bpy_extras/__init__.pyi +4 -9
- bpy_extras/anim_utils/__init__.pyi +25 -55
- bpy_extras/asset_utils/__init__.pyi +3 -13
- bpy_extras/id_map_utils/__init__.pyi +1 -4
- bpy_extras/image_utils/__init__.pyi +33 -23
- bpy_extras/io_utils/__init__.pyi +116 -66
- bpy_extras/keyconfig_utils/__init__.pyi +5 -3
- bpy_extras/mesh_utils/__init__.pyi +42 -34
- bpy_extras/node_utils/__init__.pyi +4 -4
- bpy_extras/object_utils/__init__.pyi +58 -43
- bpy_extras/view3d_utils/__init__.pyi +64 -63
- bpy_restrict_state/__init__.pyi +14 -2
- bpy_types/__init__.pyi +3873 -998
- console_python/__init__.pyi +41 -8
- console_shell/__init__.pyi +24 -6
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/METADATA +1 -1
- fake_bpy_module-20240326.dist-info/RECORD +343 -0
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/WHEEL +1 -1
- freestyle/__init__.pyi +4 -5
- freestyle/chainingiterators/__init__.pyi +229 -73
- freestyle/functions/__init__.pyi +624 -402
- freestyle/predicates/__init__.pyi +381 -169
- freestyle/shaders/__init__.pyi +424 -155
- freestyle/types/__init__.pyi +1572 -726
- freestyle/utils/ContextFunctions/__init__.pyi +54 -43
- freestyle/utils/__init__.pyi +67 -31
- gpu/__init__.pyi +3 -4
- gpu/capabilities/__init__.pyi +57 -37
- gpu/matrix/__init__.pyi +14 -17
- gpu/platform/__init__.pyi +5 -6
- gpu/select/__init__.pyi +2 -5
- gpu/shader/__init__.pyi +14 -12
- gpu/state/__init__.pyi +48 -62
- gpu/texture/__init__.pyi +7 -7
- gpu/types/__init__.pyi +670 -229
- gpu_extras/__init__.pyi +1 -2
- gpu_extras/batch/__init__.pyi +27 -6
- gpu_extras/presets/__init__.pyi +67 -27
- graphviz_export/__init__.pyi +9 -3
- idprop/__init__.pyi +0 -1
- idprop/types/__init__.pyi +42 -13
- imbuf/__init__.pyi +6 -10
- imbuf/types/__init__.pyi +8 -16
- keyingsets_builtins/__init__.pyi +3149 -702
- keyingsets_utils/__init__.pyi +69 -15
- mathutils/__init__.pyi +951 -876
- mathutils/bvhtree/__init__.pyi +47 -48
- mathutils/geometry/__init__.pyi +237 -242
- mathutils/interpolate/__init__.pyi +3 -6
- mathutils/kdtree/__init__.pyi +23 -26
- mathutils/noise/__init__.pyi +50 -51
- nodeitems_builtins/__init__.pyi +50 -11
- nodeitems_utils/__init__.pyi +58 -11
- rna_info/__init__.pyi +230 -27
- rna_keymap_ui/__init__.pyi +29 -7
- rna_prop_ui/__init__.pyi +69 -13
- rna_xml/__init__.pyi +29 -7
- sys_info/__init__.pyi +4 -2
- bpy_extras/bmesh_utils/__init__.pyi +0 -7
- bpy_extras/extensions/__init__.pyi +0 -5
- bpy_extras/extensions/junction_module/__init__.pyi +0 -13
- bpy_extras/node_shader_utils/__init__.pyi +0 -132
- bpy_extras/wm_utils/__init__.pyi +0 -5
- bpy_extras/wm_utils/progress_report/__init__.pyi +0 -30
- fake_bpy_module-20240210.dist-info/RECORD +0 -349
- {fake_bpy_module-20240210.dist-info → fake_bpy_module-20240326.dist-info}/top_level.txt +0 -0
bpy/ops/sculpt/__init__.pyi
CHANGED
|
@@ -1,865 +1,1012 @@
|
|
|
1
|
-
import sys
|
|
2
1
|
import typing
|
|
3
2
|
import bpy.types
|
|
4
3
|
|
|
5
4
|
GenericType = typing.TypeVar("GenericType")
|
|
6
5
|
|
|
7
6
|
def brush_stroke(
|
|
8
|
-
override_context: typing.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
stroke: typing.Optional[
|
|
15
|
-
bpy.types.bpy_prop_collection["bpy.types.OperatorStrokeElement"]
|
|
16
|
-
] = None,
|
|
17
|
-
mode: typing.Optional[typing.Any] = "NORMAL",
|
|
18
|
-
ignore_background_click: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
7
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
8
|
+
execution_context: typing.Union[str, int] = None,
|
|
9
|
+
undo: bool = None,
|
|
10
|
+
stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement] = None,
|
|
11
|
+
mode: typing.Any = "NORMAL",
|
|
12
|
+
ignore_background_click: typing.Union[bool, typing.Any] = False,
|
|
19
13
|
):
|
|
20
14
|
"""Sculpt a stroke into the geometry
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
16
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
17
|
+
:type execution_context: typing.Union[str, int]
|
|
18
|
+
:type undo: bool
|
|
19
|
+
:param stroke: Stroke
|
|
20
|
+
:type stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
|
|
21
|
+
:param mode: Stroke Mode, Action taken when a paint stroke is made
|
|
22
|
+
|
|
23
|
+
NORMAL
|
|
24
|
+
Regular -- Apply brush normally.
|
|
25
|
+
|
|
26
|
+
INVERT
|
|
27
|
+
Invert -- Invert action of brush for duration of stroke.
|
|
28
|
+
|
|
29
|
+
SMOOTH
|
|
30
|
+
Smooth -- Switch brush to smooth mode for duration of stroke.
|
|
31
|
+
:type mode: typing.Any
|
|
32
|
+
: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]
|
|
31
34
|
"""
|
|
32
35
|
|
|
33
36
|
...
|
|
34
37
|
|
|
35
38
|
def cloth_filter(
|
|
36
|
-
override_context: typing.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
cloth_damping: typing.Optional[typing.Any] = 0.0,
|
|
54
|
-
use_face_sets: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
55
|
-
use_collisions: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
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: bpy.types.bpy_prop_collection[
|
|
47
|
+
bpy.types.OperatorStrokeElement
|
|
48
|
+
] = None,
|
|
49
|
+
type: typing.Any = "GRAVITY",
|
|
50
|
+
force_axis: typing.Any = {'"X"', '"Z"', '"Y"'},
|
|
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,
|
|
56
56
|
):
|
|
57
57
|
"""Applies a cloth simulation deformation to the entire mesh
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
59
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
60
|
+
:type execution_context: typing.Union[str, int]
|
|
61
|
+
:type undo: bool
|
|
62
|
+
:param start_mouse: Starting Mouse
|
|
63
|
+
:type start_mouse: typing.Any
|
|
64
|
+
: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
|
|
66
|
+
:param strength: Strength, Filter strength
|
|
67
|
+
:type strength: typing.Any
|
|
68
|
+
: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
|
+
:param type: Filter Type, Operation that is going to be applied to the mesh
|
|
72
|
+
|
|
73
|
+
GRAVITY
|
|
74
|
+
Gravity -- Applies gravity to the simulation.
|
|
75
|
+
|
|
76
|
+
INFLATE
|
|
77
|
+
Inflate -- Inflates the cloth.
|
|
78
|
+
|
|
79
|
+
EXPAND
|
|
80
|
+
Expand -- Expands the cloth's dimensions.
|
|
81
|
+
|
|
82
|
+
PINCH
|
|
83
|
+
Pinch -- Pulls the cloth to the cursor's start position.
|
|
84
|
+
|
|
85
|
+
SCALE
|
|
86
|
+
Scale -- Scales the mesh as a soft body using the origin of the object as scale.
|
|
87
|
+
:type type: typing.Any
|
|
88
|
+
:param force_axis: Force Axis, Apply the force in the selected axis
|
|
89
|
+
|
|
90
|
+
X
|
|
91
|
+
X -- Apply force in the X axis.
|
|
92
|
+
|
|
93
|
+
Y
|
|
94
|
+
Y -- Apply force in the Y axis.
|
|
95
|
+
|
|
96
|
+
Z
|
|
97
|
+
Z -- Apply force in the Z axis.
|
|
98
|
+
:type force_axis: typing.Any
|
|
99
|
+
:param orientation: Orientation, Orientation of the axis to limit the filter force
|
|
100
|
+
|
|
101
|
+
LOCAL
|
|
102
|
+
Local -- Use the local axis to limit the force and set the gravity direction.
|
|
103
|
+
|
|
104
|
+
WORLD
|
|
105
|
+
World -- Use the global axis to limit the force and set the gravity direction.
|
|
106
|
+
|
|
107
|
+
VIEW
|
|
108
|
+
View -- Use the view axis to limit the force and set the gravity direction.
|
|
109
|
+
:type orientation: typing.Any
|
|
110
|
+
:param cloth_mass: Cloth Mass, Mass of each simulation particle
|
|
111
|
+
:type cloth_mass: typing.Any
|
|
112
|
+
:param cloth_damping: Cloth Damping, How much the applied forces are propagated through the cloth
|
|
113
|
+
:type cloth_damping: typing.Any
|
|
114
|
+
: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]
|
|
116
|
+
:param use_collisions: Use Collisions, Collide with other collider objects in the scene
|
|
117
|
+
:type use_collisions: typing.Union[bool, typing.Any]
|
|
85
118
|
"""
|
|
86
119
|
|
|
87
120
|
...
|
|
88
121
|
|
|
89
122
|
def color_filter(
|
|
90
|
-
override_context: typing.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
] = None,
|
|
103
|
-
type: typing.Optional[typing.Any] = "FILL",
|
|
104
|
-
fill_color: typing.Optional[typing.Any] = (1.0, 1.0, 1.0),
|
|
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: bpy.types.bpy_prop_collection[
|
|
131
|
+
bpy.types.OperatorStrokeElement
|
|
132
|
+
] = None,
|
|
133
|
+
type: typing.Any = "FILL",
|
|
134
|
+
fill_color: typing.Any = (1.0, 1.0, 1.0),
|
|
105
135
|
):
|
|
106
136
|
"""Applies a filter to modify the active color attribute
|
|
107
137
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
138
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
139
|
+
:type execution_context: typing.Union[str, int]
|
|
140
|
+
:type undo: bool
|
|
141
|
+
:param start_mouse: Starting Mouse
|
|
142
|
+
:type start_mouse: typing.Any
|
|
143
|
+
: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
|
|
145
|
+
:param strength: Strength, Filter strength
|
|
146
|
+
:type strength: typing.Any
|
|
147
|
+
: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
|
+
:param type: Filter Type
|
|
151
|
+
|
|
152
|
+
FILL
|
|
153
|
+
Fill -- Fill with a specific color.
|
|
154
|
+
|
|
155
|
+
HUE
|
|
156
|
+
Hue -- Change hue.
|
|
157
|
+
|
|
158
|
+
SATURATION
|
|
159
|
+
Saturation -- Change saturation.
|
|
160
|
+
|
|
161
|
+
VALUE
|
|
162
|
+
Value -- Change value.
|
|
163
|
+
|
|
164
|
+
BRIGHTNESS
|
|
165
|
+
Brightness -- Change brightness.
|
|
166
|
+
|
|
167
|
+
CONTRAST
|
|
168
|
+
Contrast -- Change contrast.
|
|
169
|
+
|
|
170
|
+
SMOOTH
|
|
171
|
+
Smooth -- Smooth colors.
|
|
172
|
+
|
|
173
|
+
RED
|
|
174
|
+
Red -- Change red channel.
|
|
175
|
+
|
|
176
|
+
GREEN
|
|
177
|
+
Green -- Change green channel.
|
|
178
|
+
|
|
179
|
+
BLUE
|
|
180
|
+
Blue -- Change blue channel.
|
|
181
|
+
:type type: typing.Any
|
|
182
|
+
:param fill_color: Fill Color
|
|
183
|
+
:type fill_color: typing.Any
|
|
124
184
|
"""
|
|
125
185
|
|
|
126
186
|
...
|
|
127
187
|
|
|
128
188
|
def detail_flood_fill(
|
|
129
|
-
override_context: typing.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
133
|
-
undo: typing.Optional[bool] = None,
|
|
189
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
190
|
+
execution_context: typing.Union[str, int] = None,
|
|
191
|
+
undo: bool = None,
|
|
134
192
|
):
|
|
135
193
|
"""Flood fill the mesh with the selected detail setting
|
|
136
194
|
|
|
137
|
-
:type override_context: typing.
|
|
138
|
-
:type execution_context: typing.
|
|
139
|
-
:type undo:
|
|
195
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
196
|
+
:type execution_context: typing.Union[str, int]
|
|
197
|
+
:type undo: bool
|
|
140
198
|
"""
|
|
141
199
|
|
|
142
200
|
...
|
|
143
201
|
|
|
144
202
|
def dynamic_topology_toggle(
|
|
145
|
-
override_context: typing.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
149
|
-
undo: typing.Optional[bool] = None,
|
|
203
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
204
|
+
execution_context: typing.Union[str, int] = None,
|
|
205
|
+
undo: bool = None,
|
|
150
206
|
):
|
|
151
207
|
"""Dynamic topology alters the mesh topology while sculpting
|
|
152
208
|
|
|
153
|
-
:type override_context: typing.
|
|
154
|
-
:type execution_context: typing.
|
|
155
|
-
:type undo:
|
|
209
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
210
|
+
:type execution_context: typing.Union[str, int]
|
|
211
|
+
:type undo: bool
|
|
156
212
|
"""
|
|
157
213
|
|
|
158
214
|
...
|
|
159
215
|
|
|
160
216
|
def dyntopo_detail_size_edit(
|
|
161
|
-
override_context: typing.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
165
|
-
undo: typing.Optional[bool] = None,
|
|
217
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
218
|
+
execution_context: typing.Union[str, int] = None,
|
|
219
|
+
undo: bool = None,
|
|
166
220
|
):
|
|
167
221
|
"""Modify the detail size of dyntopo interactively
|
|
168
222
|
|
|
169
|
-
:type override_context: typing.
|
|
170
|
-
:type execution_context: typing.
|
|
171
|
-
:type undo:
|
|
223
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
224
|
+
:type execution_context: typing.Union[str, int]
|
|
225
|
+
:type undo: bool
|
|
172
226
|
"""
|
|
173
227
|
|
|
174
228
|
...
|
|
175
229
|
|
|
176
230
|
def expand(
|
|
177
|
-
override_context: typing.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
max_geodesic_move_preview: typing.Optional[typing.Any] = 10000,
|
|
191
|
-
use_auto_mask: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
192
|
-
normal_falloff_smooth: typing.Optional[typing.Any] = 2,
|
|
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,
|
|
193
244
|
):
|
|
194
245
|
"""Generic sculpt expand operator
|
|
195
246
|
|
|
196
|
-
:type override_context: typing.
|
|
197
|
-
:type execution_context: typing.
|
|
198
|
-
:type undo:
|
|
247
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
248
|
+
:type execution_context: typing.Union[str, int]
|
|
249
|
+
:type undo: bool
|
|
199
250
|
:param target: Data Target, Data that is going to be modified in the expand operation
|
|
200
|
-
:type target: typing.
|
|
251
|
+
:type target: typing.Any
|
|
201
252
|
:param falloff_type: Falloff Type, Initial falloff of the expand operation
|
|
202
|
-
:type falloff_type: typing.
|
|
253
|
+
:type falloff_type: typing.Any
|
|
203
254
|
:param invert: Invert, Invert the expand active elements
|
|
204
|
-
:type invert: typing.
|
|
255
|
+
:type invert: typing.Union[bool, typing.Any]
|
|
205
256
|
:param use_mask_preserve: Preserve Previous, Preserve the previous state of the target data
|
|
206
|
-
:type use_mask_preserve: typing.
|
|
257
|
+
:type use_mask_preserve: typing.Union[bool, typing.Any]
|
|
207
258
|
:param use_falloff_gradient: Falloff Gradient, Expand Using a linear falloff
|
|
208
|
-
:type use_falloff_gradient: typing.
|
|
259
|
+
:type use_falloff_gradient: typing.Union[bool, typing.Any]
|
|
209
260
|
:param use_modify_active: Modify Active, Modify the active Face Set instead of creating a new one
|
|
210
|
-
:type use_modify_active: typing.
|
|
261
|
+
:type use_modify_active: typing.Union[bool, typing.Any]
|
|
211
262
|
:param use_reposition_pivot: Reposition Pivot, Reposition the sculpt transform pivot to the boundary of the expand active area
|
|
212
|
-
:type use_reposition_pivot: typing.
|
|
263
|
+
:type use_reposition_pivot: typing.Union[bool, typing.Any]
|
|
213
264
|
: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
|
|
214
|
-
:type max_geodesic_move_preview: typing.
|
|
265
|
+
:type max_geodesic_move_preview: typing.Any
|
|
215
266
|
:param use_auto_mask: Auto Create, Fill in mask if nothing is already masked
|
|
216
|
-
:type use_auto_mask: typing.
|
|
267
|
+
:type use_auto_mask: typing.Union[bool, typing.Any]
|
|
217
268
|
:param normal_falloff_smooth: Normal Smooth, Blurring steps for normal falloff
|
|
218
|
-
:type normal_falloff_smooth: typing.
|
|
269
|
+
:type normal_falloff_smooth: typing.Any
|
|
219
270
|
"""
|
|
220
271
|
|
|
221
272
|
...
|
|
222
273
|
|
|
223
274
|
def face_set_box_gesture(
|
|
224
|
-
override_context: typing.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
ymax: typing.Optional[typing.Any] = 0,
|
|
234
|
-
wait_for_input: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
235
|
-
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
236
|
-
use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
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,
|
|
237
284
|
):
|
|
238
285
|
"""Add face set within the box as you move the brush
|
|
239
286
|
|
|
240
|
-
:type override_context: typing.
|
|
241
|
-
:type execution_context: typing.
|
|
242
|
-
:type undo:
|
|
287
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
288
|
+
:type execution_context: typing.Union[str, int]
|
|
289
|
+
:type undo: bool
|
|
243
290
|
:param xmin: X Min
|
|
244
|
-
:type xmin: typing.
|
|
291
|
+
:type xmin: typing.Any
|
|
245
292
|
:param xmax: X Max
|
|
246
|
-
:type xmax: typing.
|
|
293
|
+
:type xmax: typing.Any
|
|
247
294
|
:param ymin: Y Min
|
|
248
|
-
:type ymin: typing.
|
|
295
|
+
:type ymin: typing.Any
|
|
249
296
|
:param ymax: Y Max
|
|
250
|
-
:type ymax: typing.
|
|
297
|
+
:type ymax: typing.Any
|
|
251
298
|
:param wait_for_input: Wait for Input
|
|
252
|
-
:type wait_for_input: typing.
|
|
299
|
+
:type wait_for_input: typing.Union[bool, typing.Any]
|
|
253
300
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
254
|
-
:type use_front_faces_only: typing.
|
|
255
|
-
: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
|
|
256
|
-
:type use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]]
|
|
301
|
+
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
257
302
|
"""
|
|
258
303
|
|
|
259
304
|
...
|
|
260
305
|
|
|
261
306
|
def face_set_change_visibility(
|
|
262
|
-
override_context: typing.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
undo: typing.Optional[bool] = None,
|
|
267
|
-
*,
|
|
268
|
-
mode: typing.Optional[typing.Any] = "TOGGLE",
|
|
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",
|
|
269
311
|
):
|
|
270
312
|
"""Change the visibility of the Face Sets of the sculpt
|
|
271
313
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
314
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
315
|
+
:type execution_context: typing.Union[str, int]
|
|
316
|
+
:type undo: bool
|
|
317
|
+
:param mode: Mode
|
|
318
|
+
|
|
319
|
+
TOGGLE
|
|
320
|
+
Toggle Visibility -- Hide all Face Sets except for the active one.
|
|
321
|
+
|
|
322
|
+
SHOW_ACTIVE
|
|
323
|
+
Show Active Face Set -- Show Active Face Set.
|
|
324
|
+
|
|
325
|
+
HIDE_ACTIVE
|
|
326
|
+
Hide Active Face Sets -- Hide Active Face Sets.
|
|
327
|
+
:type mode: typing.Any
|
|
277
328
|
"""
|
|
278
329
|
|
|
279
330
|
...
|
|
280
331
|
|
|
281
332
|
def face_set_edit(
|
|
282
|
-
override_context: typing.
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
mode: typing.Optional[typing.Any] = "GROW",
|
|
290
|
-
strength: typing.Optional[typing.Any] = 1.0,
|
|
291
|
-
modify_hidden: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
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,
|
|
292
340
|
):
|
|
293
341
|
"""Edits the current active Face Set
|
|
294
342
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
343
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
344
|
+
:type execution_context: typing.Union[str, int]
|
|
345
|
+
:type undo: bool
|
|
346
|
+
:param active_face_set: Active Face Set
|
|
347
|
+
:type active_face_set: typing.Any
|
|
348
|
+
:param mode: Mode
|
|
349
|
+
|
|
350
|
+
GROW
|
|
351
|
+
Grow Face Set -- Grows the Face Sets boundary by one face based on mesh topology.
|
|
352
|
+
|
|
353
|
+
SHRINK
|
|
354
|
+
Shrink Face Set -- Shrinks the Face Sets boundary by one face based on mesh topology.
|
|
355
|
+
|
|
356
|
+
DELETE_GEOMETRY
|
|
357
|
+
Delete Geometry -- Deletes the faces that are assigned to the Face Set.
|
|
358
|
+
|
|
359
|
+
FAIR_POSITIONS
|
|
360
|
+
Fair Positions -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex positions.
|
|
361
|
+
|
|
362
|
+
FAIR_TANGENCY
|
|
363
|
+
Fair Tangency -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex tangents.
|
|
364
|
+
:type mode: typing.Any
|
|
365
|
+
:param strength: Strength
|
|
366
|
+
:type strength: typing.Any
|
|
367
|
+
:param modify_hidden: Modify Hidden, Apply the edit operation to hidden geometry
|
|
368
|
+
:type modify_hidden: typing.Union[bool, typing.Any]
|
|
306
369
|
"""
|
|
307
370
|
|
|
308
371
|
...
|
|
309
372
|
|
|
310
373
|
def face_set_lasso_gesture(
|
|
311
|
-
override_context: typing.
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
*,
|
|
317
|
-
path: typing.Optional[
|
|
318
|
-
bpy.types.bpy_prop_collection["bpy.types.OperatorMousePath"]
|
|
319
|
-
] = None,
|
|
320
|
-
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
321
|
-
use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
374
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
375
|
+
execution_context: typing.Union[str, int] = None,
|
|
376
|
+
undo: bool = None,
|
|
377
|
+
path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] = None,
|
|
378
|
+
use_front_faces_only: typing.Union[bool, typing.Any] = False,
|
|
322
379
|
):
|
|
323
380
|
"""Add face set within the lasso as you move the brush
|
|
324
381
|
|
|
325
|
-
:type override_context: typing.
|
|
326
|
-
:type execution_context: typing.
|
|
327
|
-
:type undo:
|
|
382
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
383
|
+
:type execution_context: typing.Union[str, int]
|
|
384
|
+
:type undo: bool
|
|
328
385
|
:param path: Path
|
|
329
|
-
:type path:
|
|
386
|
+
:type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
330
387
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
331
|
-
:type use_front_faces_only: typing.
|
|
332
|
-
: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
|
|
333
|
-
:type use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]]
|
|
388
|
+
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
334
389
|
"""
|
|
335
390
|
|
|
336
391
|
...
|
|
337
392
|
|
|
338
393
|
def face_sets_create(
|
|
339
|
-
override_context: typing.
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
undo: typing.Optional[bool] = None,
|
|
344
|
-
*,
|
|
345
|
-
mode: typing.Optional[typing.Any] = "MASKED",
|
|
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",
|
|
346
398
|
):
|
|
347
399
|
"""Create a new Face Set
|
|
348
400
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
401
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
402
|
+
:type execution_context: typing.Union[str, int]
|
|
403
|
+
:type undo: bool
|
|
404
|
+
:param mode: Mode
|
|
405
|
+
|
|
406
|
+
MASKED
|
|
407
|
+
Face Set from Masked -- Create a new Face Set from the masked faces.
|
|
408
|
+
|
|
409
|
+
VISIBLE
|
|
410
|
+
Face Set from Visible -- Create a new Face Set from the visible vertices.
|
|
411
|
+
|
|
412
|
+
ALL
|
|
413
|
+
Face Set Full Mesh -- Create an unique Face Set with all faces in the sculpt.
|
|
414
|
+
|
|
415
|
+
SELECTION
|
|
416
|
+
Face Set from Edit Mode Selection -- Create an Face Set corresponding to the Edit Mode face selection.
|
|
417
|
+
:type mode: typing.Any
|
|
354
418
|
"""
|
|
355
419
|
|
|
356
420
|
...
|
|
357
421
|
|
|
358
422
|
def face_sets_init(
|
|
359
|
-
override_context: typing.
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
*,
|
|
365
|
-
mode: typing.Optional[typing.Any] = "LOOSE_PARTS",
|
|
366
|
-
threshold: typing.Optional[typing.Any] = 0.5,
|
|
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,
|
|
367
428
|
):
|
|
368
429
|
"""Initializes all Face Sets in the mesh
|
|
369
430
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
431
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
432
|
+
:type execution_context: typing.Union[str, int]
|
|
433
|
+
:type undo: bool
|
|
434
|
+
:param mode: Mode
|
|
435
|
+
|
|
436
|
+
LOOSE_PARTS
|
|
437
|
+
Face Sets from Loose Parts -- Create a Face Set per loose part in the mesh.
|
|
438
|
+
|
|
439
|
+
MATERIALS
|
|
440
|
+
Face Sets from Material Slots -- Create a Face Set per Material Slot.
|
|
441
|
+
|
|
442
|
+
NORMALS
|
|
443
|
+
Face Sets from Mesh Normals -- Create Face Sets for Faces that have similar normal.
|
|
444
|
+
|
|
445
|
+
UV_SEAMS
|
|
446
|
+
Face Sets from UV Seams -- Create Face Sets using UV Seams as boundaries.
|
|
447
|
+
|
|
448
|
+
CREASES
|
|
449
|
+
Face Sets from Edge Creases -- Create Face Sets using Edge Creases as boundaries.
|
|
450
|
+
|
|
451
|
+
BEVEL_WEIGHT
|
|
452
|
+
Face Sets from Bevel Weight -- Create Face Sets using Bevel Weights as boundaries.
|
|
453
|
+
|
|
454
|
+
SHARP_EDGES
|
|
455
|
+
Face Sets from Sharp Edges -- Create Face Sets using Sharp Edges as boundaries.
|
|
456
|
+
|
|
457
|
+
FACE_SET_BOUNDARIES
|
|
458
|
+
Face Sets from Face Set Boundaries -- Create a Face Set per isolated Face Set.
|
|
459
|
+
:type mode: typing.Any
|
|
460
|
+
:param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the Face Sets
|
|
461
|
+
:type threshold: typing.Any
|
|
377
462
|
"""
|
|
378
463
|
|
|
379
464
|
...
|
|
380
465
|
|
|
381
466
|
def face_sets_randomize_colors(
|
|
382
|
-
override_context: typing.
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
386
|
-
undo: typing.Optional[bool] = None,
|
|
467
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
468
|
+
execution_context: typing.Union[str, int] = None,
|
|
469
|
+
undo: bool = None,
|
|
387
470
|
):
|
|
388
471
|
"""Generates a new set of random colors to render the Face Sets in the viewport
|
|
389
472
|
|
|
390
|
-
:type override_context: typing.
|
|
391
|
-
:type execution_context: typing.
|
|
392
|
-
:type undo:
|
|
473
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
474
|
+
:type execution_context: typing.Union[str, int]
|
|
475
|
+
:type undo: bool
|
|
393
476
|
"""
|
|
394
477
|
|
|
395
478
|
...
|
|
396
479
|
|
|
397
480
|
def mask_by_color(
|
|
398
|
-
override_context: typing.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
406
|
-
preserve_previous_mask: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
407
|
-
threshold: typing.Optional[typing.Any] = 0.35,
|
|
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,
|
|
408
488
|
):
|
|
409
489
|
"""Creates a mask based on the active color attribute
|
|
410
490
|
|
|
411
|
-
:type override_context: typing.
|
|
412
|
-
:type execution_context: typing.
|
|
413
|
-
:type undo:
|
|
491
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
492
|
+
:type execution_context: typing.Union[str, int]
|
|
493
|
+
:type undo: bool
|
|
414
494
|
:param contiguous: Contiguous, Mask only contiguous color areas
|
|
415
|
-
:type contiguous: typing.
|
|
495
|
+
:type contiguous: typing.Union[bool, typing.Any]
|
|
416
496
|
:param invert: Invert, Invert the generated mask
|
|
417
|
-
:type invert: typing.
|
|
497
|
+
:type invert: typing.Union[bool, typing.Any]
|
|
418
498
|
:param preserve_previous_mask: Preserve Previous Mask, Preserve the previous mask and add or subtract the new one generated by the colors
|
|
419
|
-
:type preserve_previous_mask: typing.
|
|
499
|
+
:type preserve_previous_mask: typing.Union[bool, typing.Any]
|
|
420
500
|
:param threshold: Threshold, How much changes in color affect the mask generation
|
|
421
|
-
:type threshold: typing.
|
|
501
|
+
:type threshold: typing.Any
|
|
422
502
|
"""
|
|
423
503
|
|
|
424
504
|
...
|
|
425
505
|
|
|
426
506
|
def mask_filter(
|
|
427
|
-
override_context: typing.
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
filter_type: typing.Optional[typing.Any] = "SMOOTH",
|
|
434
|
-
iterations: typing.Optional[typing.Any] = 1,
|
|
435
|
-
auto_iteration_count: typing.Optional[typing.Union[bool, typing.Any]] = True,
|
|
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,
|
|
436
513
|
):
|
|
437
514
|
"""Applies a filter to modify the current mask
|
|
438
515
|
|
|
439
|
-
:type override_context: typing.
|
|
440
|
-
:type execution_context: typing.
|
|
441
|
-
:type undo:
|
|
442
|
-
:param filter_type: Type, Filter that is going to be applied to the mask
|
|
443
|
-
:type filter_type: typing.
|
|
516
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
517
|
+
:type execution_context: typing.Union[str, int]
|
|
518
|
+
:type undo: bool
|
|
519
|
+
:param filter_type: Type, Filter that is going to be applied to the mask
|
|
520
|
+
:type filter_type: typing.Any
|
|
444
521
|
:param iterations: Iterations, Number of times that the filter is going to be applied
|
|
445
|
-
:type iterations: typing.
|
|
522
|
+
:type iterations: typing.Any
|
|
446
523
|
:param auto_iteration_count: Auto Iteration Count, Use a automatic number of iterations based on the number of vertices of the sculpt
|
|
447
|
-
:type auto_iteration_count: typing.
|
|
524
|
+
:type auto_iteration_count: typing.Union[bool, typing.Any]
|
|
448
525
|
"""
|
|
449
526
|
|
|
450
527
|
...
|
|
451
528
|
|
|
452
529
|
def mask_from_cavity(
|
|
453
|
-
override_context: typing.
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
blur_steps: typing.Optional[typing.Any] = 2,
|
|
464
|
-
use_curve: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
465
|
-
invert: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
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,
|
|
466
540
|
):
|
|
467
541
|
"""Creates a mask based on the curvature of the surface
|
|
468
542
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
543
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
544
|
+
:type execution_context: typing.Union[str, int]
|
|
545
|
+
:type undo: bool
|
|
546
|
+
:param mix_mode: Mode, Mix mode
|
|
547
|
+
:type mix_mode: typing.Any
|
|
548
|
+
:param mix_factor: Mix Factor
|
|
549
|
+
:type mix_factor: typing.Any
|
|
550
|
+
:param settings_source: Settings, Use settings from here
|
|
551
|
+
|
|
552
|
+
OPERATOR
|
|
553
|
+
Operator -- Use settings from operator properties.
|
|
554
|
+
|
|
555
|
+
BRUSH
|
|
556
|
+
Brush -- Use settings from brush.
|
|
557
|
+
|
|
558
|
+
SCENE
|
|
559
|
+
Scene -- Use settings from scene.
|
|
560
|
+
:type settings_source: typing.Any
|
|
561
|
+
:param factor: Factor, The contrast of the cavity mask
|
|
562
|
+
:type factor: typing.Any
|
|
563
|
+
:param blur_steps: Blur, The number of times the cavity mask is blurred
|
|
564
|
+
:type blur_steps: typing.Any
|
|
565
|
+
:param use_curve: Custom Curve
|
|
566
|
+
:type use_curve: typing.Union[bool, typing.Any]
|
|
567
|
+
:param invert: Cavity (Inverted)
|
|
568
|
+
:type invert: typing.Union[bool, typing.Any]
|
|
486
569
|
"""
|
|
487
570
|
|
|
488
571
|
...
|
|
489
572
|
|
|
490
573
|
def mask_init(
|
|
491
|
-
override_context: typing.
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
undo: typing.Optional[bool] = None,
|
|
496
|
-
*,
|
|
497
|
-
mode: typing.Optional[typing.Any] = "RANDOM_PER_VERTEX",
|
|
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",
|
|
498
578
|
):
|
|
499
579
|
"""Creates a new mask for the entire mesh
|
|
500
580
|
|
|
501
|
-
:type override_context: typing.
|
|
502
|
-
:type execution_context: typing.
|
|
503
|
-
:type undo:
|
|
581
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
582
|
+
:type execution_context: typing.Union[str, int]
|
|
583
|
+
:type undo: bool
|
|
504
584
|
:param mode: Mode
|
|
505
|
-
:type mode: typing.
|
|
585
|
+
:type mode: typing.Any
|
|
506
586
|
"""
|
|
507
587
|
|
|
508
588
|
...
|
|
509
589
|
|
|
510
590
|
def mesh_filter(
|
|
511
|
-
override_context: typing.
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
sharpen_smooth_ratio: typing.Optional[typing.Any] = 0.35,
|
|
530
|
-
sharpen_intensify_detail_strength: typing.Optional[typing.Any] = 0.0,
|
|
531
|
-
sharpen_curvature_smooth_iterations: typing.Optional[typing.Any] = 0,
|
|
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: bpy.types.bpy_prop_collection[
|
|
599
|
+
bpy.types.OperatorStrokeElement
|
|
600
|
+
] = None,
|
|
601
|
+
type: typing.Any = "INFLATE",
|
|
602
|
+
deform_axis: typing.Any = {'"X"', '"Z"', '"Y"'},
|
|
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,
|
|
532
609
|
):
|
|
533
610
|
"""Applies a filter to modify the current mesh
|
|
534
611
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
612
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
613
|
+
:type execution_context: typing.Union[str, int]
|
|
614
|
+
:type undo: bool
|
|
615
|
+
:param start_mouse: Starting Mouse
|
|
616
|
+
:type start_mouse: typing.Any
|
|
617
|
+
: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
|
|
619
|
+
:param strength: Strength, Filter strength
|
|
620
|
+
:type strength: typing.Any
|
|
621
|
+
: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]
|
|
624
|
+
:param type: Filter Type, Operation that is going to be applied to the mesh
|
|
625
|
+
|
|
626
|
+
SMOOTH
|
|
627
|
+
Smooth -- Smooth mesh.
|
|
628
|
+
|
|
629
|
+
SCALE
|
|
630
|
+
Scale -- Scale mesh.
|
|
631
|
+
|
|
632
|
+
INFLATE
|
|
633
|
+
Inflate -- Inflate mesh.
|
|
634
|
+
|
|
635
|
+
SPHERE
|
|
636
|
+
Sphere -- Morph into sphere.
|
|
637
|
+
|
|
638
|
+
RANDOM
|
|
639
|
+
Random -- Randomize vertex positions.
|
|
640
|
+
|
|
641
|
+
RELAX
|
|
642
|
+
Relax -- Relax mesh.
|
|
643
|
+
|
|
644
|
+
RELAX_FACE_SETS
|
|
645
|
+
Relax Face Sets -- Smooth the edges of all the Face Sets.
|
|
646
|
+
|
|
647
|
+
SURFACE_SMOOTH
|
|
648
|
+
Surface Smooth -- Smooth the surface of the mesh, preserving the volume.
|
|
649
|
+
|
|
650
|
+
SHARPEN
|
|
651
|
+
Sharpen -- Sharpen the cavities of the mesh.
|
|
652
|
+
|
|
653
|
+
ENHANCE_DETAILS
|
|
654
|
+
Enhance Details -- Enhance the high frequency surface detail.
|
|
655
|
+
|
|
656
|
+
ERASE_DISCPLACEMENT
|
|
657
|
+
Erase Displacement -- Deletes the displacement of the Multires Modifier.
|
|
658
|
+
:type type: typing.Any
|
|
659
|
+
:param deform_axis: Deform Axis, Apply the deformation in the selected axis
|
|
660
|
+
|
|
661
|
+
X
|
|
662
|
+
X -- Deform in the X axis.
|
|
663
|
+
|
|
664
|
+
Y
|
|
665
|
+
Y -- Deform in the Y axis.
|
|
666
|
+
|
|
667
|
+
Z
|
|
668
|
+
Z -- Deform in the Z axis.
|
|
669
|
+
:type deform_axis: typing.Any
|
|
670
|
+
:param orientation: Orientation, Orientation of the axis to limit the filter displacement
|
|
671
|
+
|
|
672
|
+
LOCAL
|
|
673
|
+
Local -- Use the local axis to limit the displacement.
|
|
674
|
+
|
|
675
|
+
WORLD
|
|
676
|
+
World -- Use the global axis to limit the displacement.
|
|
677
|
+
|
|
678
|
+
VIEW
|
|
679
|
+
View -- Use the view axis to limit the displacement.
|
|
680
|
+
:type orientation: typing.Any
|
|
681
|
+
: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
|
|
683
|
+
: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
|
|
685
|
+
:param sharpen_smooth_ratio: Smooth Ratio, How much smoothing is applied to polished surfaces
|
|
686
|
+
:type sharpen_smooth_ratio: typing.Any
|
|
687
|
+
:param sharpen_intensify_detail_strength: Intensify Details, How much creases and valleys are intensified
|
|
688
|
+
:type sharpen_intensify_detail_strength: typing.Any
|
|
689
|
+
: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
|
|
563
691
|
"""
|
|
564
692
|
|
|
565
693
|
...
|
|
566
694
|
|
|
567
695
|
def optimize(
|
|
568
|
-
override_context: typing.
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
572
|
-
undo: typing.Optional[bool] = None,
|
|
696
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
697
|
+
execution_context: typing.Union[str, int] = None,
|
|
698
|
+
undo: bool = None,
|
|
573
699
|
):
|
|
574
700
|
"""Recalculate the sculpt BVH to improve performance
|
|
575
701
|
|
|
576
|
-
:type override_context: typing.
|
|
577
|
-
:type execution_context: typing.
|
|
578
|
-
:type undo:
|
|
702
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
703
|
+
:type execution_context: typing.Union[str, int]
|
|
704
|
+
:type undo: bool
|
|
579
705
|
"""
|
|
580
706
|
|
|
581
707
|
...
|
|
582
708
|
|
|
583
709
|
def project_line_gesture(
|
|
584
|
-
override_context: typing.
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
cursor: typing.Optional[typing.Any] = 5,
|
|
596
|
-
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
597
|
-
use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
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,
|
|
598
721
|
):
|
|
599
722
|
"""Project the geometry onto a plane defined by a line
|
|
600
723
|
|
|
601
|
-
:type override_context: typing.
|
|
602
|
-
:type execution_context: typing.
|
|
603
|
-
:type undo:
|
|
724
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
725
|
+
:type execution_context: typing.Union[str, int]
|
|
726
|
+
:type undo: bool
|
|
604
727
|
:param xstart: X Start
|
|
605
|
-
:type xstart: typing.
|
|
728
|
+
:type xstart: typing.Any
|
|
606
729
|
:param xend: X End
|
|
607
|
-
:type xend: typing.
|
|
730
|
+
:type xend: typing.Any
|
|
608
731
|
:param ystart: Y Start
|
|
609
|
-
:type ystart: typing.
|
|
732
|
+
:type ystart: typing.Any
|
|
610
733
|
:param yend: Y End
|
|
611
|
-
:type yend: typing.
|
|
734
|
+
:type yend: typing.Any
|
|
612
735
|
:param flip: Flip
|
|
613
|
-
:type flip: typing.
|
|
736
|
+
:type flip: typing.Union[bool, typing.Any]
|
|
614
737
|
:param cursor: Cursor, Mouse cursor style to use during the modal operator
|
|
615
|
-
:type cursor: typing.
|
|
738
|
+
:type cursor: typing.Any
|
|
616
739
|
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
617
|
-
:type use_front_faces_only: typing.
|
|
740
|
+
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
618
741
|
: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
|
|
619
|
-
:type use_limit_to_segment: typing.
|
|
742
|
+
:type use_limit_to_segment: typing.Union[bool, typing.Any]
|
|
620
743
|
"""
|
|
621
744
|
|
|
622
745
|
...
|
|
623
746
|
|
|
624
747
|
def sample_color(
|
|
625
|
-
override_context: typing.
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
629
|
-
undo: typing.Optional[bool] = None,
|
|
748
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
749
|
+
execution_context: typing.Union[str, int] = None,
|
|
750
|
+
undo: bool = None,
|
|
630
751
|
):
|
|
631
752
|
"""Sample the vertex color of the active vertex
|
|
632
753
|
|
|
633
|
-
:type override_context: typing.
|
|
634
|
-
:type execution_context: typing.
|
|
635
|
-
:type undo:
|
|
754
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
755
|
+
:type execution_context: typing.Union[str, int]
|
|
756
|
+
:type undo: bool
|
|
636
757
|
"""
|
|
637
758
|
|
|
638
759
|
...
|
|
639
760
|
|
|
640
761
|
def sample_detail_size(
|
|
641
|
-
override_context: typing.
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
*,
|
|
647
|
-
location: typing.Optional[typing.Any] = (0, 0),
|
|
648
|
-
mode: typing.Optional[typing.Any] = "DYNTOPO",
|
|
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",
|
|
649
767
|
):
|
|
650
768
|
"""Sample the mesh detail on clicked point
|
|
651
769
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
:type mode: typing.Optional[typing.Any]
|
|
659
|
-
"""
|
|
660
|
-
|
|
661
|
-
...
|
|
770
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
771
|
+
:type execution_context: typing.Union[str, int]
|
|
772
|
+
:type undo: bool
|
|
773
|
+
:param location: Location, Screen coordinates of sampling
|
|
774
|
+
:type location: typing.Any
|
|
775
|
+
:param mode: Detail Mode, Target sculpting workflow that is going to use the sampled size
|
|
662
776
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
typing.Union[typing.Dict, "bpy.types.Context"]
|
|
666
|
-
] = None,
|
|
667
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
668
|
-
undo: typing.Optional[bool] = None,
|
|
669
|
-
):
|
|
670
|
-
"""Toggle sculpt mode in 3D view
|
|
777
|
+
DYNTOPO
|
|
778
|
+
Dyntopo -- Sample dyntopo detail.
|
|
671
779
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
780
|
+
VOXEL
|
|
781
|
+
Voxel -- Sample mesh voxel size.
|
|
782
|
+
:type mode: typing.Any
|
|
675
783
|
"""
|
|
676
784
|
|
|
677
785
|
...
|
|
678
786
|
|
|
679
|
-
def
|
|
680
|
-
override_context: typing.
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
684
|
-
undo: typing.Optional[bool] = None,
|
|
787
|
+
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,
|
|
685
791
|
):
|
|
686
|
-
"""
|
|
792
|
+
"""Toggle sculpt mode in 3D view
|
|
687
793
|
|
|
688
|
-
:type override_context: typing.
|
|
689
|
-
:type execution_context: typing.
|
|
690
|
-
:type undo:
|
|
794
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
795
|
+
:type execution_context: typing.Union[str, int]
|
|
796
|
+
:type undo: bool
|
|
691
797
|
"""
|
|
692
798
|
|
|
693
799
|
...
|
|
694
800
|
|
|
695
801
|
def set_persistent_base(
|
|
696
|
-
override_context: typing.
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
execution_context: typing.Optional[typing.Union[str, int]] = None,
|
|
700
|
-
undo: typing.Optional[bool] = None,
|
|
802
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
803
|
+
execution_context: typing.Union[str, int] = None,
|
|
804
|
+
undo: bool = None,
|
|
701
805
|
):
|
|
702
806
|
"""Reset the copy of the mesh that is being sculpted on
|
|
703
807
|
|
|
704
|
-
:type override_context: typing.
|
|
705
|
-
:type execution_context: typing.
|
|
706
|
-
:type undo:
|
|
808
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
809
|
+
:type execution_context: typing.Union[str, int]
|
|
810
|
+
:type undo: bool
|
|
707
811
|
"""
|
|
708
812
|
|
|
709
813
|
...
|
|
710
814
|
|
|
711
815
|
def set_pivot_position(
|
|
712
|
-
override_context: typing.
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
mode: typing.Optional[typing.Any] = "UNMASKED",
|
|
719
|
-
mouse_x: typing.Optional[typing.Any] = 0.0,
|
|
720
|
-
mouse_y: typing.Optional[typing.Any] = 0.0,
|
|
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,
|
|
721
822
|
):
|
|
722
823
|
"""Sets the sculpt transform pivot position
|
|
723
824
|
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
825
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
826
|
+
:type execution_context: typing.Union[str, int]
|
|
827
|
+
:type undo: bool
|
|
828
|
+
:param mode: Mode
|
|
829
|
+
|
|
830
|
+
ORIGIN
|
|
831
|
+
Origin -- Sets the pivot to the origin of the sculpt.
|
|
832
|
+
|
|
833
|
+
UNMASKED
|
|
834
|
+
Unmasked -- Sets the pivot position to the average position of the unmasked vertices.
|
|
835
|
+
|
|
836
|
+
BORDER
|
|
837
|
+
Mask Border -- Sets the pivot position to the center of the border of the mask.
|
|
838
|
+
|
|
839
|
+
ACTIVE
|
|
840
|
+
Active Vertex -- Sets the pivot position to the active vertex position.
|
|
841
|
+
|
|
842
|
+
SURFACE
|
|
843
|
+
Surface -- Sets the pivot position to the surface under the cursor.
|
|
844
|
+
:type mode: typing.Any
|
|
845
|
+
:param mouse_x: Mouse Position X, Position of the mouse used for "Surface" mode
|
|
846
|
+
:type mouse_x: typing.Any
|
|
847
|
+
:param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" mode
|
|
848
|
+
:type mouse_y: typing.Any
|
|
733
849
|
"""
|
|
734
850
|
|
|
735
851
|
...
|
|
736
852
|
|
|
737
853
|
def symmetrize(
|
|
738
|
-
override_context: typing.
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
undo: typing.Optional[bool] = None,
|
|
743
|
-
*,
|
|
744
|
-
merge_tolerance: typing.Optional[typing.Any] = 0.0005,
|
|
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,
|
|
745
858
|
):
|
|
746
859
|
"""Symmetrize the topology modifications
|
|
747
860
|
|
|
748
|
-
:type override_context: typing.
|
|
749
|
-
:type execution_context: typing.
|
|
750
|
-
:type undo:
|
|
861
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
862
|
+
:type execution_context: typing.Union[str, int]
|
|
863
|
+
:type undo: bool
|
|
751
864
|
:param merge_tolerance: Merge Distance, Distance within which symmetrical vertices are merged
|
|
752
|
-
:type merge_tolerance: typing.
|
|
865
|
+
:type merge_tolerance: typing.Any
|
|
753
866
|
"""
|
|
754
867
|
|
|
755
868
|
...
|
|
756
869
|
|
|
757
870
|
def trim_box_gesture(
|
|
758
|
-
override_context: typing.
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
trim_mode: typing.Optional[typing.Any] = "DIFFERENCE",
|
|
772
|
-
use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
773
|
-
trim_orientation: typing.Optional[typing.Any] = "VIEW",
|
|
774
|
-
trim_extrude_mode: typing.Optional[typing.Any] = "FIXED",
|
|
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
|
+
trim_mode: typing.Any = "DIFFERENCE",
|
|
881
|
+
use_cursor_depth: typing.Union[bool, typing.Any] = False,
|
|
882
|
+
trim_orientation: typing.Any = "VIEW",
|
|
883
|
+
trim_extrude_mode: typing.Any = "FIXED",
|
|
775
884
|
):
|
|
776
885
|
"""Trims the mesh within the box as you move the brush
|
|
777
886
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
887
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
888
|
+
:type execution_context: typing.Union[str, int]
|
|
889
|
+
:type undo: bool
|
|
890
|
+
:param xmin: X Min
|
|
891
|
+
:type xmin: typing.Any
|
|
892
|
+
:param xmax: X Max
|
|
893
|
+
:type xmax: typing.Any
|
|
894
|
+
:param ymin: Y Min
|
|
895
|
+
:type ymin: typing.Any
|
|
896
|
+
:param ymax: Y Max
|
|
897
|
+
:type ymax: typing.Any
|
|
898
|
+
:param wait_for_input: Wait for Input
|
|
899
|
+
:type wait_for_input: typing.Union[bool, typing.Any]
|
|
900
|
+
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
901
|
+
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
902
|
+
:param trim_mode: Trim Mode
|
|
903
|
+
|
|
904
|
+
DIFFERENCE
|
|
905
|
+
Difference -- Use a difference boolean operation.
|
|
906
|
+
|
|
907
|
+
UNION
|
|
908
|
+
Union -- Use a union boolean operation.
|
|
909
|
+
|
|
910
|
+
JOIN
|
|
911
|
+
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
912
|
+
:type trim_mode: typing.Any
|
|
913
|
+
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
914
|
+
:type use_cursor_depth: typing.Union[bool, typing.Any]
|
|
915
|
+
:param trim_orientation: Shape Orientation
|
|
916
|
+
|
|
917
|
+
VIEW
|
|
918
|
+
View -- Use the view to orientate the trimming shape.
|
|
919
|
+
|
|
920
|
+
SURFACE
|
|
921
|
+
Surface -- Use the surface normal to orientate the trimming shape.
|
|
922
|
+
:type trim_orientation: typing.Any
|
|
923
|
+
:param trim_extrude_mode: Extrude Mode
|
|
924
|
+
|
|
925
|
+
PROJECT
|
|
926
|
+
Project -- Project back faces when extruding.
|
|
927
|
+
|
|
928
|
+
FIXED
|
|
929
|
+
Fixed -- Extrude back faces by fixed amount.
|
|
930
|
+
:type trim_extrude_mode: typing.Any
|
|
803
931
|
"""
|
|
804
932
|
|
|
805
933
|
...
|
|
806
934
|
|
|
807
935
|
def trim_lasso_gesture(
|
|
808
|
-
override_context: typing.
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
use_front_faces_only: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
818
|
-
use_limit_to_segment: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
819
|
-
trim_mode: typing.Optional[typing.Any] = "DIFFERENCE",
|
|
820
|
-
use_cursor_depth: typing.Optional[typing.Union[bool, typing.Any]] = False,
|
|
821
|
-
trim_orientation: typing.Optional[typing.Any] = "VIEW",
|
|
822
|
-
trim_extrude_mode: typing.Optional[typing.Any] = "FIXED",
|
|
936
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
937
|
+
execution_context: typing.Union[str, int] = None,
|
|
938
|
+
undo: bool = None,
|
|
939
|
+
path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] = None,
|
|
940
|
+
use_front_faces_only: typing.Union[bool, typing.Any] = False,
|
|
941
|
+
trim_mode: typing.Any = "DIFFERENCE",
|
|
942
|
+
use_cursor_depth: typing.Union[bool, typing.Any] = False,
|
|
943
|
+
trim_orientation: typing.Any = "VIEW",
|
|
944
|
+
trim_extrude_mode: typing.Any = "FIXED",
|
|
823
945
|
):
|
|
824
946
|
"""Trims the mesh within the lasso as you move the brush
|
|
825
947
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
948
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
949
|
+
:type execution_context: typing.Union[str, int]
|
|
950
|
+
:type undo: bool
|
|
951
|
+
:param path: Path
|
|
952
|
+
:type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath]
|
|
953
|
+
:param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
|
|
954
|
+
:type use_front_faces_only: typing.Union[bool, typing.Any]
|
|
955
|
+
:param trim_mode: Trim Mode
|
|
956
|
+
|
|
957
|
+
DIFFERENCE
|
|
958
|
+
Difference -- Use a difference boolean operation.
|
|
959
|
+
|
|
960
|
+
UNION
|
|
961
|
+
Union -- Use a union boolean operation.
|
|
962
|
+
|
|
963
|
+
JOIN
|
|
964
|
+
Join -- Join the new mesh as separate geometry, without performing any boolean operation.
|
|
965
|
+
:type trim_mode: typing.Any
|
|
966
|
+
:param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
|
|
967
|
+
:type use_cursor_depth: typing.Union[bool, typing.Any]
|
|
968
|
+
:param trim_orientation: Shape Orientation
|
|
969
|
+
|
|
970
|
+
VIEW
|
|
971
|
+
View -- Use the view to orientate the trimming shape.
|
|
972
|
+
|
|
973
|
+
SURFACE
|
|
974
|
+
Surface -- Use the surface normal to orientate the trimming shape.
|
|
975
|
+
:type trim_orientation: typing.Any
|
|
976
|
+
:param trim_extrude_mode: Extrude Mode
|
|
977
|
+
|
|
978
|
+
PROJECT
|
|
979
|
+
Project -- Project back faces when extruding.
|
|
980
|
+
|
|
981
|
+
FIXED
|
|
982
|
+
Fixed -- Extrude back faces by fixed amount.
|
|
983
|
+
:type trim_extrude_mode: typing.Any
|
|
843
984
|
"""
|
|
844
985
|
|
|
845
986
|
...
|
|
846
987
|
|
|
847
988
|
def uv_sculpt_stroke(
|
|
848
|
-
override_context: typing.
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
undo: typing.Optional[bool] = None,
|
|
853
|
-
*,
|
|
854
|
-
mode: typing.Optional[typing.Any] = "NORMAL",
|
|
989
|
+
override_context: typing.Union[dict, bpy.types.Context] = None,
|
|
990
|
+
execution_context: typing.Union[str, int] = None,
|
|
991
|
+
undo: bool = None,
|
|
992
|
+
mode: typing.Any = "NORMAL",
|
|
855
993
|
):
|
|
856
994
|
"""Sculpt UVs using a brush
|
|
857
995
|
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
996
|
+
:type override_context: typing.Union[dict, bpy.types.Context]
|
|
997
|
+
:type execution_context: typing.Union[str, int]
|
|
998
|
+
:type undo: bool
|
|
999
|
+
:param mode: Mode, Stroke Mode
|
|
1000
|
+
|
|
1001
|
+
NORMAL
|
|
1002
|
+
Regular -- Apply brush normally.
|
|
1003
|
+
|
|
1004
|
+
INVERT
|
|
1005
|
+
Invert -- Invert action of brush for duration of stroke.
|
|
1006
|
+
|
|
1007
|
+
RELAX
|
|
1008
|
+
Relax -- Switch brush to relax mode for duration of stroke.
|
|
1009
|
+
:type mode: typing.Any
|
|
863
1010
|
"""
|
|
864
1011
|
|
|
865
1012
|
...
|