fake-bpy-module 20250828__py3-none-any.whl → 20260118__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_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +2 -0
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- _bpy_internal/__init__.pyi +3 -1
- _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
- _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
- _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
- _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
- _bpy_internal/filesystem/__init__.pyi +5 -0
- _bpy_internal/filesystem/locking/__init__.pyi +28 -0
- _bpy_internal/platform/__init__.pyi +5 -0
- _bpy_types/__init__.pyi +115 -117
- {rna_info → _rna_info}/__init__.pyi +0 -1
- addon_utils/__init__.pyi +0 -13
- aud/__init__.pyi +66 -142
- bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
- bl_app_templates_system/__init__.pyi +5 -0
- bl_app_templates_system/py.typed +0 -0
- bl_math/__init__.pyi +2 -12
- bl_operators/__init__.pyi +1 -0
- bl_operators/add_mesh_torus/__init__.pyi +0 -2
- bl_operators/anim/__init__.pyi +47 -24
- bl_operators/assets/__init__.pyi +0 -6
- bl_operators/bone_selection_sets/__init__.pyi +0 -28
- bl_operators/clip/__init__.pyi +0 -20
- bl_operators/connect_to_output/__init__.pyi +0 -2
- bl_operators/console/__init__.pyi +0 -10
- bl_operators/constraint/__init__.pyi +0 -8
- bl_operators/copy_global_transform/__init__.pyi +261 -0
- bl_operators/file/__init__.pyi +0 -6
- bl_operators/freestyle/__init__.pyi +0 -8
- bl_operators/geometry_nodes/__init__.pyi +0 -8
- bl_operators/grease_pencil/__init__.pyi +0 -2
- bl_operators/image/__init__.pyi +0 -10
- bl_operators/image_as_planes/__init__.pyi +0 -4
- bl_operators/mesh/__init__.pyi +0 -47
- bl_operators/node/__init__.pyi +277 -57
- bl_operators/object/__init__.pyi +0 -37
- bl_operators/object_align/__init__.pyi +0 -2
- bl_operators/object_quick_effects/__init__.pyi +0 -8
- bl_operators/object_randomize_transform/__init__.pyi +0 -2
- bl_operators/presets/__init__.pyi +1 -51
- bl_operators/rigidbody/__init__.pyi +0 -6
- bl_operators/screen_play_rendered_anim/__init__.pyi +0 -2
- bl_operators/sequencer/__init__.pyi +0 -16
- bl_operators/spreadsheet/__init__.pyi +0 -2
- bl_operators/userpref/__init__.pyi +0 -50
- bl_operators/uvcalc_follow_active/__init__.pyi +1 -3
- bl_operators/uvcalc_lightmap/__init__.pyi +0 -2
- bl_operators/uvcalc_transform/__init__.pyi +21 -12
- bl_operators/vertexpaint_dirt/__init__.pyi +0 -2
- bl_operators/view3d/__init__.pyi +0 -16
- bl_operators/wm/__init__.pyi +0 -92
- bl_operators/world/__init__.pyi +0 -2
- bl_ui/__init__.pyi +3 -4
- bl_ui/anim/__init__.pyi +0 -2
- bl_ui/asset_shelf/__init__.pyi +0 -2
- bl_ui/generic_ui_list/__init__.pyi +1 -17
- bl_ui/node_add_menu/__init__.pyi +261 -6
- bl_ui/node_add_menu_compositor/__init__.pyi +96 -80
- bl_ui/node_add_menu_geometry/__init__.pyi +266 -306
- bl_ui/node_add_menu_shader/__init__.pyi +49 -50
- bl_ui/node_add_menu_texture/__init__.pyi +16 -62
- bl_ui/properties_collection/__init__.pyi +0 -14
- bl_ui/properties_constraint/__init__.pyi +55 -209
- bl_ui/properties_data_armature/__init__.pyi +0 -36
- bl_ui/properties_data_bone/__init__.pyi +0 -20
- bl_ui/properties_data_camera/__init__.pyi +0 -30
- bl_ui/properties_data_curve/__init__.pyi +0 -30
- bl_ui/properties_data_curves/__init__.pyi +0 -16
- bl_ui/properties_data_empty/__init__.pyi +0 -4
- bl_ui/properties_data_grease_pencil/__init__.pyi +0 -40
- bl_ui/properties_data_lattice/__init__.pyi +0 -8
- bl_ui/properties_data_light/__init__.pyi +0 -20
- bl_ui/properties_data_lightprobe/__init__.pyi +0 -28
- bl_ui/properties_data_mesh/__init__.pyi +1 -42
- bl_ui/properties_data_metaball/__init__.pyi +0 -12
- bl_ui/properties_data_modifier/__init__.pyi +12 -19
- bl_ui/properties_data_pointcloud/__init__.pyi +0 -12
- bl_ui/properties_data_shaderfx/__init__.pyi +0 -2
- bl_ui/properties_data_speaker/__init__.pyi +0 -12
- bl_ui/properties_data_volume/__init__.pyi +0 -18
- bl_ui/properties_freestyle/__init__.pyi +0 -50
- bl_ui/properties_grease_pencil_common/__init__.pyi +0 -159
- bl_ui/properties_mask_common/__init__.pyi +0 -14
- bl_ui/properties_material/__init__.pyi +0 -32
- bl_ui/properties_material_gpencil/__init__.pyi +23 -45
- bl_ui/properties_object/__init__.pyi +35 -42
- bl_ui/properties_output/__init__.pyi +0 -40
- bl_ui/properties_paint_common/__init__.pyi +23 -19
- bl_ui/properties_particle/__init__.pyi +0 -106
- bl_ui/properties_physics_cloth/__init__.pyi +0 -28
- bl_ui/properties_physics_common/__init__.pyi +0 -2
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +0 -44
- bl_ui/properties_physics_field/__init__.pyi +0 -20
- bl_ui/properties_physics_fluid/__init__.pyi +0 -56
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +0 -2
- bl_ui/properties_physics_rigidbody/__init__.pyi +0 -16
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +0 -26
- bl_ui/properties_physics_softbody/__init__.pyi +0 -30
- bl_ui/properties_render/__init__.pyi +58 -86
- bl_ui/properties_scene/__init__.pyi +0 -34
- bl_ui/properties_strip/__init__.pyi +744 -0
- bl_ui/properties_strip_modifier/__init__.pyi +45 -0
- bl_ui/properties_texture/__init__.pyi +0 -54
- bl_ui/properties_view_layer/__init__.pyi +7 -28
- bl_ui/properties_workspace/__init__.pyi +0 -8
- bl_ui/properties_world/__init__.pyi +0 -22
- bl_ui/space_clip/__init__.pyi +82 -166
- bl_ui/space_console/__init__.pyi +0 -12
- bl_ui/space_dopesheet/__init__.pyi +67 -76
- bl_ui/space_filebrowser/__init__.pyi +0 -60
- bl_ui/space_graph/__init__.pyi +0 -66
- bl_ui/space_image/__init__.pyi +28 -162
- bl_ui/space_info/__init__.pyi +0 -12
- bl_ui/space_nla/__init__.pyi +0 -58
- bl_ui/space_node/__init__.pyi +99 -132
- bl_ui/space_outliner/__init__.pyi +0 -30
- bl_ui/space_properties/__init__.pyi +29 -6
- bl_ui/space_sequencer/__init__.pyi +159 -987
- bl_ui/space_spreadsheet/__init__.pyi +0 -6
- bl_ui/space_statusbar/__init__.pyi +0 -2
- bl_ui/space_text/__init__.pyi +0 -32
- bl_ui/space_time/__init__.pyi +29 -22
- bl_ui/space_toolsystem_toolbar/__init__.pyi +7 -2
- bl_ui/space_topbar/__init__.pyi +7 -52
- bl_ui/space_userpref/__init__.pyi +77 -225
- bl_ui/space_view3d/__init__.pyi +69 -551
- bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +22 -799
- bl_ui/utils/__init__.pyi +0 -17
- blf/__init__.pyi +6 -50
- bmesh/__init__.pyi +0 -7
- bmesh/geometry/__init__.pyi +0 -3
- bmesh/ops/__init__.pyi +5 -450
- bmesh/types/__init__.pyi +298 -639
- bmesh/utils/__init__.pyi +16 -43
- bpy/app/__init__.pyi +66 -58
- bpy/app/icons/__init__.pyi +0 -6
- bpy/app/timers/__init__.pyi +0 -6
- bpy/app/translations/__init__.pyi +1 -16
- bpy/msgbus/__init__.pyi +1 -4
- bpy/ops/action/__init__.pyi +17 -186
- bpy/ops/anim/__init__.pyi +38 -279
- bpy/ops/armature/__init__.pyi +20 -191
- bpy/ops/asset/__init__.pyi +11 -97
- bpy/ops/boid/__init__.pyi +7 -38
- bpy/ops/brush/__init__.pyi +3 -104
- bpy/ops/buttons/__init__.pyi +4 -71
- bpy/ops/cachefile/__init__.pyi +2 -63
- bpy/ops/camera/__init__.pyi +0 -11
- bpy/ops/clip/__init__.pyi +43 -427
- bpy/ops/cloth/__init__.pyi +0 -5
- bpy/ops/collection/__init__.pyi +3 -35
- bpy/ops/console/__init__.pyi +10 -88
- bpy/ops/constraint/__init__.pyi +3 -80
- bpy/ops/curve/__init__.pyi +23 -254
- bpy/ops/curves/__init__.pyi +54 -149
- bpy/ops/cycles/__init__.pyi +1 -14
- bpy/ops/dpaint/__init__.pyi +3 -21
- bpy/ops/ed/__init__.pyi +10 -82
- bpy/ops/export_anim/__init__.pyi +2 -10
- bpy/ops/export_scene/__init__.pyi +1 -155
- bpy/ops/extensions/__init__.pyi +15 -150
- bpy/ops/file/__init__.pyi +29 -216
- bpy/ops/fluid/__init__.pyi +13 -70
- bpy/ops/font/__init__.pyi +10 -134
- bpy/ops/geometry/__init__.pyi +3 -124
- bpy/ops/gizmogroup/__init__.pyi +1 -12
- bpy/ops/gpencil/__init__.pyi +5 -49
- bpy/ops/graph/__init__.pyi +20 -315
- bpy/ops/grease_pencil/__init__.pyi +62 -523
- bpy/ops/image/__init__.pyi +19 -379
- bpy/ops/import_anim/__init__.pyi +2 -16
- bpy/ops/import_curve/__init__.pyi +0 -6
- bpy/ops/import_scene/__init__.pyi +0 -50
- bpy/ops/info/__init__.pyi +4 -35
- bpy/ops/lattice/__init__.pyi +3 -33
- bpy/ops/marker/__init__.pyi +4 -49
- bpy/ops/mask/__init__.pyi +17 -176
- bpy/ops/material/__init__.pyi +3 -15
- bpy/ops/mball/__init__.pyi +1 -30
- bpy/ops/mesh/__init__.pyi +34 -932
- bpy/ops/nla/__init__.pyi +22 -183
- bpy/ops/node/__init__.pyi +420 -625
- bpy/ops/object/__init__.pyi +197 -1239
- bpy/ops/outliner/__init__.pyi +47 -327
- bpy/ops/paint/__init__.pyi +29 -282
- bpy/ops/paintcurve/__init__.pyi +4 -36
- bpy/ops/palette/__init__.pyi +3 -27
- bpy/ops/particle/__init__.pyi +20 -160
- bpy/ops/pointcloud/__init__.pyi +3 -35
- bpy/ops/pose/__init__.pyi +29 -234
- bpy/ops/poselib/__init__.pyi +19 -66
- bpy/ops/preferences/__init__.pyi +9 -177
- bpy/ops/ptcache/__init__.pyi +5 -31
- bpy/ops/render/__init__.pyi +10 -68
- bpy/ops/rigidbody/__init__.pyi +6 -56
- bpy/ops/scene/__init__.pyi +23 -168
- bpy/ops/screen/__init__.pyi +36 -202
- bpy/ops/script/__init__.pyi +1 -12
- bpy/ops/sculpt/__init__.pyi +42 -313
- bpy/ops/sculpt_curves/__init__.pyi +6 -21
- bpy/ops/sequencer/__init__.pyi +187 -644
- bpy/ops/sound/__init__.pyi +3 -109
- bpy/ops/spreadsheet/__init__.pyi +5 -32
- bpy/ops/surface/__init__.pyi +0 -48
- bpy/ops/text/__init__.pyi +27 -225
- bpy/ops/text_editor/__init__.pyi +0 -5
- bpy/ops/texture/__init__.pyi +3 -18
- bpy/ops/transform/__init__.pyi +10 -382
- bpy/ops/ui/__init__.pyi +29 -154
- bpy/ops/uilist/__init__.pyi +0 -13
- bpy/ops/uv/__init__.pyi +195 -288
- bpy/ops/view2d/__init__.pyi +3 -73
- bpy/ops/view3d/__init__.pyi +37 -339
- bpy/ops/wm/__init__.pyi +129 -1317
- bpy/ops/workspace/__init__.pyi +7 -39
- bpy/ops/world/__init__.pyi +2 -10
- bpy/path/__init__.pyi +0 -34
- bpy/props/__init__.pyi +332 -203
- bpy/stub_internal/rna_enums/__init__.pyi +102 -82
- bpy/types/__init__.pyi +51712 -89245
- bpy/utils/__init__.pyi +4 -75
- bpy/utils/previews/__init__.pyi +1 -10
- bpy/utils/units/__init__.pyi +0 -12
- bpy_extras/anim_utils/__init__.pyi +24 -16
- bpy_extras/bmesh_utils/__init__.pyi +0 -1
- bpy_extras/id_map_utils/__init__.pyi +14 -6
- bpy_extras/image_utils/__init__.pyi +0 -9
- bpy_extras/io_utils/__init__.pyi +4 -23
- bpy_extras/keyconfig_utils/__init__.pyi +1 -1
- bpy_extras/mesh_utils/__init__.pyi +0 -12
- bpy_extras/node_shader_utils/__init__.pyi +0 -8
- bpy_extras/object_utils/__init__.pyi +0 -14
- bpy_extras/view3d_utils/__init__.pyi +0 -18
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260118.dist-info}/METADATA +4 -1
- fake_bpy_module-20260118.dist-info/RECORD +385 -0
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260118.dist-info}/top_level.txt +15 -14
- freestyle/chainingiterators/__init__.pyi +0 -22
- freestyle/functions/__init__.pyi +0 -139
- freestyle/predicates/__init__.pyi +0 -51
- freestyle/shaders/__init__.pyi +0 -65
- freestyle/types/__init__.pyi +139 -777
- freestyle/utils/ContextFunctions/__init__.pyi +0 -23
- freestyle/utils/__init__.pyi +0 -6
- gpu/capabilities/__init__.pyi +0 -21
- gpu/matrix/__init__.pyi +1 -10
- gpu/platform/__init__.pyi +0 -5
- gpu/shader/__init__.pyi +22 -6
- gpu/state/__init__.pyi +59 -38
- gpu/texture/__init__.pyi +0 -2
- gpu/types/__init__.pyi +84 -152
- gpu_extras/batch/__init__.pyi +0 -4
- gpu_extras/presets/__init__.pyi +6 -8
- idprop/types/__init__.pyi +6 -6
- imbuf/__init__.pyi +2 -9
- imbuf/types/__init__.pyi +5 -25
- keyingsets_builtins/__init__.pyi +1 -45
- mathutils/__init__.pyi +106 -2168
- mathutils/bvhtree/__init__.pyi +3 -25
- mathutils/geometry/__init__.pyi +41 -133
- mathutils/interpolate/__init__.pyi +3 -4
- mathutils/kdtree/__init__.pyi +0 -11
- mathutils/noise/__init__.pyi +0 -62
- fake_bpy_module-20250828.dist-info/RECORD +0 -370
- {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/py.typed +0 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
- {bl_ui_utils → _bl_ui_utils}/py.typed +0 -0
- /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {console_python → _console_python}/__init__.pyi +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/__init__.pyi +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/__init__.pyi +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/__init__.pyi +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260118.dist-info}/WHEEL +0 -0
bmesh/ops/__init__.pyi
CHANGED
|
@@ -29,9 +29,7 @@ def average_vert_facedata(
|
|
|
29
29
|
the vert_snap_to_bb_center is just too long).
|
|
30
30
|
|
|
31
31
|
:param bm: The bmesh to operate on.
|
|
32
|
-
:type bm: bmesh.types.BMesh
|
|
33
32
|
:param verts: Input vertices.
|
|
34
|
-
:type verts: list[bmesh.types.BMVert]
|
|
35
33
|
"""
|
|
36
34
|
|
|
37
35
|
def beautify_fill(
|
|
@@ -44,20 +42,14 @@ def beautify_fill(
|
|
|
44
42
|
"""Beautify Fill.Rotate edges to create more evenly spaced triangles.
|
|
45
43
|
|
|
46
44
|
:param bm: The bmesh to operate on.
|
|
47
|
-
:type bm: bmesh.types.BMesh
|
|
48
45
|
:param faces: Input faces.
|
|
49
|
-
:type faces: list[bmesh.types.BMFace]
|
|
50
46
|
:param edges: Edges that can be flipped.
|
|
51
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
52
47
|
:param use_restrict_tag: Restrict edge rotation to mixed tagged vertices.
|
|
53
|
-
:type use_restrict_tag: bool
|
|
54
48
|
:param method: Method to define what is beautiful.
|
|
55
|
-
:type method: typing.Literal['AREA','ANGLE']
|
|
56
49
|
:return: geom:
|
|
57
50
|
New flipped faces and edges.
|
|
58
51
|
|
|
59
52
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
60
|
-
:rtype: dict[str, typing.Any]
|
|
61
53
|
"""
|
|
62
54
|
|
|
63
55
|
def bevel(
|
|
@@ -89,45 +81,25 @@ def bevel(
|
|
|
89
81
|
"""Bevel.Bevels edges and vertices
|
|
90
82
|
|
|
91
83
|
:param bm: The bmesh to operate on.
|
|
92
|
-
:type bm: bmesh.types.BMesh
|
|
93
84
|
:param geom: Input edges and vertices.
|
|
94
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
95
85
|
:param offset: Amount to offset beveled edge.
|
|
96
|
-
:type offset: float
|
|
97
86
|
:param offset_type: How to measure the offset.
|
|
98
|
-
:type offset_type: typing.Literal['OFFSET','WIDTH','DEPTH','PERCENT','ABSOLUTE']
|
|
99
87
|
:param profile_type: The profile type to use for bevel.
|
|
100
|
-
:type profile_type: typing.Literal['SUPERELLIPSE','CUSTOM']
|
|
101
88
|
:param segments: Number of segments in bevel.
|
|
102
|
-
:type segments: int
|
|
103
89
|
:param profile: Profile shape, 0->1 (.5=>round).
|
|
104
|
-
:type profile: float
|
|
105
90
|
:param affect: Whether to bevel vertices or edges.
|
|
106
|
-
:type affect: typing.Literal['VERTICES','EDGES']
|
|
107
91
|
:param clamp_overlap: Do not allow beveled edges/vertices to overlap each other.
|
|
108
|
-
:type clamp_overlap: bool
|
|
109
92
|
:param material: Material for bevel faces, -1 means get from adjacent faces.
|
|
110
|
-
:type material: int
|
|
111
93
|
:param loop_slide: Prefer to slide along edges to having even widths.
|
|
112
|
-
:type loop_slide: bool
|
|
113
94
|
:param mark_seam: Extend edge data to allow seams to run across bevels.
|
|
114
|
-
:type mark_seam: bool
|
|
115
95
|
:param mark_sharp: Extend edge data to allow sharp edges to run across bevels.
|
|
116
|
-
:type mark_sharp: bool
|
|
117
96
|
:param harden_normals: Harden normals.
|
|
118
|
-
:type harden_normals: bool
|
|
119
97
|
:param face_strength_mode: Whether to set face strength, and which faces to set if so.
|
|
120
|
-
:type face_strength_mode: typing.Literal['NONE','NEW','AFFECTED','ALL']
|
|
121
98
|
:param miter_outer: Outer miter kind.
|
|
122
|
-
:type miter_outer: typing.Literal['SHARP','PATCH','ARC']
|
|
123
99
|
:param miter_inner: Outer miter kind.
|
|
124
|
-
:type miter_inner: typing.Literal['SHARP','PATCH','ARC']
|
|
125
100
|
:param spread: Amount to offset beveled edge.
|
|
126
|
-
:type spread: float
|
|
127
101
|
:param custom_profile: CurveProfile, if None ignored
|
|
128
|
-
:type custom_profile: bpy.types.bpy_struct | None
|
|
129
102
|
:param vmesh_method: The method to use to create meshes at intersections.
|
|
130
|
-
:type vmesh_method: typing.Literal['ADJ','CUTOFF']
|
|
131
103
|
:return: faces:
|
|
132
104
|
Output faces.
|
|
133
105
|
|
|
@@ -142,7 +114,6 @@ def bevel(
|
|
|
142
114
|
Output verts.
|
|
143
115
|
|
|
144
116
|
type list of (`bmesh.types.BMVert`)
|
|
145
|
-
:rtype: dict[str, typing.Any]
|
|
146
117
|
"""
|
|
147
118
|
|
|
148
119
|
def bisect_edges(
|
|
@@ -155,17 +126,13 @@ def bisect_edges(
|
|
|
155
126
|
This creates a 2-valence vert.
|
|
156
127
|
|
|
157
128
|
:param bm: The bmesh to operate on.
|
|
158
|
-
:type bm: bmesh.types.BMesh
|
|
159
129
|
:param edges: Input edges.
|
|
160
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
161
130
|
:param cuts: Number of cuts.
|
|
162
|
-
:type cuts: int
|
|
163
131
|
:param edge_percents: Undocumented.
|
|
164
132
|
:return: geom_split:
|
|
165
133
|
Newly created vertices and edges.
|
|
166
134
|
|
|
167
135
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
168
|
-
:rtype: dict[str, typing.Any]
|
|
169
136
|
"""
|
|
170
137
|
|
|
171
138
|
def bisect_plane(
|
|
@@ -183,21 +150,13 @@ def bisect_plane(
|
|
|
183
150
|
"""Bisect Plane.Bisects the mesh by a plane (cut the mesh in half).
|
|
184
151
|
|
|
185
152
|
:param bm: The bmesh to operate on.
|
|
186
|
-
:type bm: bmesh.types.BMesh
|
|
187
153
|
:param geom: Input geometry.
|
|
188
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
189
154
|
:param dist: Minimum distance when testing if a vert is exactly on the plane.
|
|
190
|
-
:type dist: float
|
|
191
155
|
:param plane_co: Point on the plane.
|
|
192
|
-
:type plane_co: collections.abc.Sequence[float] | mathutils.Vector
|
|
193
156
|
:param plane_no: Direction of the plane.
|
|
194
|
-
:type plane_no: collections.abc.Sequence[float] | mathutils.Vector
|
|
195
157
|
:param use_snap_center: Snap axis aligned verts to the center.
|
|
196
|
-
:type use_snap_center: bool
|
|
197
158
|
:param clear_outer: When enabled. remove all geometry on the positive side of the plane.
|
|
198
|
-
:type clear_outer: bool
|
|
199
159
|
:param clear_inner: When enabled. remove all geometry on the negative side of the plane.
|
|
200
|
-
:type clear_inner: bool
|
|
201
160
|
:return: geom_cut:
|
|
202
161
|
Output geometry aligned with the plane (new and existing).
|
|
203
162
|
|
|
@@ -207,7 +166,6 @@ def bisect_plane(
|
|
|
207
166
|
Input and output geometry (result of cut).
|
|
208
167
|
|
|
209
168
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
210
|
-
:rtype: dict[str, typing.Any]
|
|
211
169
|
"""
|
|
212
170
|
|
|
213
171
|
def bmesh_to_mesh(
|
|
@@ -216,11 +174,8 @@ def bmesh_to_mesh(
|
|
|
216
174
|
"""BMesh to Mesh.Converts a bmesh to a Mesh. This is reserved for exiting edit-mode.
|
|
217
175
|
|
|
218
176
|
:param bm: The bmesh to operate on.
|
|
219
|
-
:type bm: bmesh.types.BMesh
|
|
220
177
|
:param mesh: Pointer to a mesh structure to fill in.
|
|
221
|
-
:type mesh: bpy.types.Mesh
|
|
222
178
|
:param object: Pointer to an object structure.
|
|
223
|
-
:type object: bpy.types.Object
|
|
224
179
|
"""
|
|
225
180
|
|
|
226
181
|
def bridge_loops(
|
|
@@ -235,19 +190,12 @@ def bridge_loops(
|
|
|
235
190
|
"""Bridge edge loops with faces.
|
|
236
191
|
|
|
237
192
|
:param bm: The bmesh to operate on.
|
|
238
|
-
:type bm: bmesh.types.BMesh
|
|
239
193
|
:param edges: Input edges.
|
|
240
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
241
194
|
:param use_pairs: Undocumented.
|
|
242
|
-
:type use_pairs: bool
|
|
243
195
|
:param use_cyclic: Undocumented.
|
|
244
|
-
:type use_cyclic: bool
|
|
245
196
|
:param use_merge: Merge rather than creating faces.
|
|
246
|
-
:type use_merge: bool
|
|
247
197
|
:param merge_factor: Merge factor.
|
|
248
|
-
:type merge_factor: float
|
|
249
198
|
:param twist_offset: Twist offset for closed loops.
|
|
250
|
-
:type twist_offset: int
|
|
251
199
|
:return: faces:
|
|
252
200
|
New faces.
|
|
253
201
|
|
|
@@ -257,7 +205,6 @@ def bridge_loops(
|
|
|
257
205
|
New edges.
|
|
258
206
|
|
|
259
207
|
type list of (`bmesh.types.BMEdge`)
|
|
260
|
-
:rtype: dict[str, typing.Any]
|
|
261
208
|
"""
|
|
262
209
|
|
|
263
210
|
def collapse(
|
|
@@ -266,20 +213,15 @@ def collapse(
|
|
|
266
213
|
"""Collapse Connected.Collapses connected vertices
|
|
267
214
|
|
|
268
215
|
:param bm: The bmesh to operate on.
|
|
269
|
-
:type bm: bmesh.types.BMesh
|
|
270
216
|
:param edges: Input edges.
|
|
271
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
272
217
|
:param uvs: Also collapse UVs and such.
|
|
273
|
-
:type uvs: bool
|
|
274
218
|
"""
|
|
275
219
|
|
|
276
220
|
def collapse_uvs(bm: bmesh.types.BMesh, edges: list[bmesh.types.BMEdge] = []) -> None:
|
|
277
221
|
"""Collapse Connected UVs.Collapses connected UV vertices.
|
|
278
222
|
|
|
279
223
|
:param bm: The bmesh to operate on.
|
|
280
|
-
:type bm: bmesh.types.BMesh
|
|
281
224
|
:param edges: Input edges.
|
|
282
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
283
225
|
"""
|
|
284
226
|
|
|
285
227
|
def connect_vert_pair(
|
|
@@ -291,17 +233,12 @@ def connect_vert_pair(
|
|
|
291
233
|
"""Connect Verts.Split faces by adding edges that connect verts.
|
|
292
234
|
|
|
293
235
|
:param bm: The bmesh to operate on.
|
|
294
|
-
:type bm: bmesh.types.BMesh
|
|
295
236
|
:param verts: Input vertices.
|
|
296
|
-
:type verts: list[bmesh.types.BMVert]
|
|
297
237
|
:param verts_exclude: Input vertices to explicitly exclude from connecting.
|
|
298
|
-
:type verts_exclude: list[bmesh.types.BMVert]
|
|
299
238
|
:param faces_exclude: Input faces to explicitly exclude from connecting.
|
|
300
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
301
239
|
:return: edges:
|
|
302
240
|
|
|
303
241
|
type list of (`bmesh.types.BMEdge`)
|
|
304
|
-
:rtype: dict[str, typing.Any]
|
|
305
242
|
"""
|
|
306
243
|
|
|
307
244
|
def connect_verts(
|
|
@@ -313,17 +250,12 @@ def connect_verts(
|
|
|
313
250
|
"""Connect Verts.Split faces by adding edges that connect verts.
|
|
314
251
|
|
|
315
252
|
:param bm: The bmesh to operate on.
|
|
316
|
-
:type bm: bmesh.types.BMesh
|
|
317
253
|
:param verts: Input vertices.
|
|
318
|
-
:type verts: list[bmesh.types.BMVert]
|
|
319
254
|
:param faces_exclude: Input faces to explicitly exclude from connecting.
|
|
320
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
321
255
|
:param check_degenerate: Prevent splits with overlaps & intersections.
|
|
322
|
-
:type check_degenerate: bool
|
|
323
256
|
:return: edges:
|
|
324
257
|
|
|
325
258
|
type list of (`bmesh.types.BMEdge`)
|
|
326
|
-
:rtype: dict[str, typing.Any]
|
|
327
259
|
"""
|
|
328
260
|
|
|
329
261
|
def connect_verts_concave(
|
|
@@ -332,9 +264,7 @@ def connect_verts_concave(
|
|
|
332
264
|
"""Connect Verts to form Convex Faces.Ensures all faces are convex faces.
|
|
333
265
|
|
|
334
266
|
:param bm: The bmesh to operate on.
|
|
335
|
-
:type bm: bmesh.types.BMesh
|
|
336
267
|
:param faces: Input faces.
|
|
337
|
-
:type faces: list[bmesh.types.BMFace]
|
|
338
268
|
:return: edges:
|
|
339
269
|
|
|
340
270
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -342,7 +272,6 @@ def connect_verts_concave(
|
|
|
342
272
|
faces:
|
|
343
273
|
|
|
344
274
|
type list of (`bmesh.types.BMFace`)
|
|
345
|
-
:rtype: dict[str, typing.Any]
|
|
346
275
|
"""
|
|
347
276
|
|
|
348
277
|
def connect_verts_nonplanar(
|
|
@@ -351,11 +280,8 @@ def connect_verts_nonplanar(
|
|
|
351
280
|
"""Connect Verts Across non Planer Faces.Split faces by connecting edges along non planer faces.
|
|
352
281
|
|
|
353
282
|
:param bm: The bmesh to operate on.
|
|
354
|
-
:type bm: bmesh.types.BMesh
|
|
355
283
|
:param angle_limit: Total rotation angle (radians).
|
|
356
|
-
:type angle_limit: float
|
|
357
284
|
:param faces: Input faces.
|
|
358
|
-
:type faces: list[bmesh.types.BMFace]
|
|
359
285
|
:return: edges:
|
|
360
286
|
|
|
361
287
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -363,7 +289,6 @@ def connect_verts_nonplanar(
|
|
|
363
289
|
faces:
|
|
364
290
|
|
|
365
291
|
type list of (`bmesh.types.BMFace`)
|
|
366
|
-
:rtype: dict[str, typing.Any]
|
|
367
292
|
"""
|
|
368
293
|
|
|
369
294
|
def contextual_create(
|
|
@@ -380,13 +305,9 @@ def contextual_create(
|
|
|
380
305
|
become a wire edge.
|
|
381
306
|
|
|
382
307
|
:param bm: The bmesh to operate on.
|
|
383
|
-
:type bm: bmesh.types.BMesh
|
|
384
308
|
:param geom: Input geometry.
|
|
385
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
386
309
|
:param mat_nr: Material to use.
|
|
387
|
-
:type mat_nr: int
|
|
388
310
|
:param use_smooth: Smooth to use.
|
|
389
|
-
:type use_smooth: bool
|
|
390
311
|
:return: faces:
|
|
391
312
|
Newly-made face(s).
|
|
392
313
|
|
|
@@ -396,7 +317,6 @@ def contextual_create(
|
|
|
396
317
|
Newly-made edge(s).
|
|
397
318
|
|
|
398
319
|
type list of (`bmesh.types.BMEdge`)
|
|
399
|
-
:rtype: dict[str, typing.Any]
|
|
400
320
|
"""
|
|
401
321
|
|
|
402
322
|
def convex_hull(
|
|
@@ -415,11 +335,8 @@ def convex_hull(
|
|
|
415
335
|
that were in the input and are part of the hull.
|
|
416
336
|
|
|
417
337
|
:param bm: The bmesh to operate on.
|
|
418
|
-
:type bm: bmesh.types.BMesh
|
|
419
338
|
:param input: Input geometry.
|
|
420
|
-
:type input: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
421
339
|
:param use_existing_faces: Skip hull triangles that are covered by a pre-existing face.
|
|
422
|
-
:type use_existing_faces: bool
|
|
423
340
|
:return: geom:
|
|
424
341
|
|
|
425
342
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -435,7 +352,6 @@ def convex_hull(
|
|
|
435
352
|
geom_holes:
|
|
436
353
|
|
|
437
354
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
438
|
-
:rtype: dict[str, typing.Any]
|
|
439
355
|
"""
|
|
440
356
|
|
|
441
357
|
def create_circle(
|
|
@@ -451,24 +367,16 @@ def create_circle(
|
|
|
451
367
|
"""Creates a Circle.
|
|
452
368
|
|
|
453
369
|
:param bm: The bmesh to operate on.
|
|
454
|
-
:type bm: bmesh.types.BMesh
|
|
455
370
|
:param cap_ends: Whether or not to fill in the ends with faces.
|
|
456
|
-
:type cap_ends: bool
|
|
457
371
|
:param cap_tris: Fill ends with triangles instead of ngons.
|
|
458
|
-
:type cap_tris: bool
|
|
459
372
|
:param segments: Number of vertices in the circle.
|
|
460
|
-
:type segments: int
|
|
461
373
|
:param radius: Radius of the circle.
|
|
462
|
-
:type radius: float
|
|
463
374
|
:param matrix: Matrix to multiply the new geometry with.
|
|
464
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
465
375
|
:param calc_uvs: Calculate default UVs.
|
|
466
|
-
:type calc_uvs: bool
|
|
467
376
|
:return: verts:
|
|
468
377
|
Output verts.
|
|
469
378
|
|
|
470
379
|
type list of (`bmesh.types.BMVert`)
|
|
471
|
-
:rtype: dict[str, typing.Any]
|
|
472
380
|
"""
|
|
473
381
|
|
|
474
382
|
def create_cone(
|
|
@@ -486,28 +394,18 @@ def create_cone(
|
|
|
486
394
|
"""Create Cone.Creates a cone with variable depth at both ends
|
|
487
395
|
|
|
488
396
|
:param bm: The bmesh to operate on.
|
|
489
|
-
:type bm: bmesh.types.BMesh
|
|
490
397
|
:param cap_ends: Whether or not to fill in the ends with faces.
|
|
491
|
-
:type cap_ends: bool
|
|
492
398
|
:param cap_tris: Fill ends with triangles instead of ngons.
|
|
493
|
-
:type cap_tris: bool
|
|
494
399
|
:param segments: Number of vertices in the base circle.
|
|
495
|
-
:type segments: int
|
|
496
400
|
:param radius1: Radius of one end.
|
|
497
|
-
:type radius1: float
|
|
498
401
|
:param radius2: Radius of the opposite.
|
|
499
|
-
:type radius2: float
|
|
500
402
|
:param depth: Distance between ends.
|
|
501
|
-
:type depth: float
|
|
502
403
|
:param matrix: Matrix to multiply the new geometry with.
|
|
503
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
504
404
|
:param calc_uvs: Calculate default UVs.
|
|
505
|
-
:type calc_uvs: bool
|
|
506
405
|
:return: verts:
|
|
507
406
|
Output verts.
|
|
508
407
|
|
|
509
408
|
type list of (`bmesh.types.BMVert`)
|
|
510
|
-
:rtype: dict[str, typing.Any]
|
|
511
409
|
"""
|
|
512
410
|
|
|
513
411
|
def create_cube(
|
|
@@ -520,18 +418,13 @@ def create_cube(
|
|
|
520
418
|
"""Create CubeCreates a cube.
|
|
521
419
|
|
|
522
420
|
:param bm: The bmesh to operate on.
|
|
523
|
-
:type bm: bmesh.types.BMesh
|
|
524
421
|
:param size: Size of the cube.
|
|
525
|
-
:type size: float
|
|
526
422
|
:param matrix: Matrix to multiply the new geometry with.
|
|
527
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
528
423
|
:param calc_uvs: Calculate default UVs.
|
|
529
|
-
:type calc_uvs: bool
|
|
530
424
|
:return: verts:
|
|
531
425
|
Output verts.
|
|
532
426
|
|
|
533
427
|
type list of (`bmesh.types.BMVert`)
|
|
534
|
-
:rtype: dict[str, typing.Any]
|
|
535
428
|
"""
|
|
536
429
|
|
|
537
430
|
def create_grid(
|
|
@@ -546,22 +439,15 @@ def create_grid(
|
|
|
546
439
|
"""Create Grid.Creates a grid with a variable number of subdivisions
|
|
547
440
|
|
|
548
441
|
:param bm: The bmesh to operate on.
|
|
549
|
-
:type bm: bmesh.types.BMesh
|
|
550
442
|
:param x_segments: Number of x segments.
|
|
551
|
-
:type x_segments: int
|
|
552
443
|
:param y_segments: Number of y segments.
|
|
553
|
-
:type y_segments: int
|
|
554
444
|
:param size: Size of the grid.
|
|
555
|
-
:type size: float
|
|
556
445
|
:param matrix: Matrix to multiply the new geometry with.
|
|
557
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
558
446
|
:param calc_uvs: Calculate default UVs.
|
|
559
|
-
:type calc_uvs: bool
|
|
560
447
|
:return: verts:
|
|
561
448
|
Output verts.
|
|
562
449
|
|
|
563
450
|
type list of (`bmesh.types.BMVert`)
|
|
564
|
-
:rtype: dict[str, typing.Any]
|
|
565
451
|
"""
|
|
566
452
|
|
|
567
453
|
def create_icosphere(
|
|
@@ -575,20 +461,14 @@ def create_icosphere(
|
|
|
575
461
|
"""Create Ico-Sphere.Creates a grid with a variable number of subdivisions
|
|
576
462
|
|
|
577
463
|
:param bm: The bmesh to operate on.
|
|
578
|
-
:type bm: bmesh.types.BMesh
|
|
579
464
|
:param subdivisions: How many times to recursively subdivide the sphere.
|
|
580
|
-
:type subdivisions: int
|
|
581
465
|
:param radius: Radius.
|
|
582
|
-
:type radius: float
|
|
583
466
|
:param matrix: Matrix to multiply the new geometry with.
|
|
584
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
585
467
|
:param calc_uvs: Calculate default UVs.
|
|
586
|
-
:type calc_uvs: bool
|
|
587
468
|
:return: verts:
|
|
588
469
|
Output verts.
|
|
589
470
|
|
|
590
471
|
type list of (`bmesh.types.BMVert`)
|
|
591
|
-
:rtype: dict[str, typing.Any]
|
|
592
472
|
"""
|
|
593
473
|
|
|
594
474
|
def create_monkey(
|
|
@@ -600,16 +480,12 @@ def create_monkey(
|
|
|
600
480
|
"""Create Suzanne.Creates a monkey (standard blender primitive).
|
|
601
481
|
|
|
602
482
|
:param bm: The bmesh to operate on.
|
|
603
|
-
:type bm: bmesh.types.BMesh
|
|
604
483
|
:param matrix: Matrix to multiply the new geometry with.
|
|
605
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
606
484
|
:param calc_uvs: Calculate default UVs.
|
|
607
|
-
:type calc_uvs: bool
|
|
608
485
|
:return: verts:
|
|
609
486
|
Output verts.
|
|
610
487
|
|
|
611
488
|
type list of (`bmesh.types.BMVert`)
|
|
612
|
-
:rtype: dict[str, typing.Any]
|
|
613
489
|
"""
|
|
614
490
|
|
|
615
491
|
def create_uvsphere(
|
|
@@ -624,22 +500,15 @@ def create_uvsphere(
|
|
|
624
500
|
"""Create UV Sphere.Creates a grid with a variable number of subdivisions
|
|
625
501
|
|
|
626
502
|
:param bm: The bmesh to operate on.
|
|
627
|
-
:type bm: bmesh.types.BMesh
|
|
628
503
|
:param u_segments: Number of u segments.
|
|
629
|
-
:type u_segments: int
|
|
630
504
|
:param v_segments: Number of v segment.
|
|
631
|
-
:type v_segments: int
|
|
632
505
|
:param radius: Radius.
|
|
633
|
-
:type radius: float
|
|
634
506
|
:param matrix: Matrix to multiply the new geometry with.
|
|
635
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
636
507
|
:param calc_uvs: Calculate default UVs.
|
|
637
|
-
:type calc_uvs: bool
|
|
638
508
|
:return: verts:
|
|
639
509
|
Output verts.
|
|
640
510
|
|
|
641
511
|
type list of (`bmesh.types.BMVert`)
|
|
642
|
-
:rtype: dict[str, typing.Any]
|
|
643
512
|
"""
|
|
644
513
|
|
|
645
514
|
def create_vert(
|
|
@@ -650,14 +519,11 @@ def create_vert(
|
|
|
650
519
|
for click-create-vertex.
|
|
651
520
|
|
|
652
521
|
:param bm: The bmesh to operate on.
|
|
653
|
-
:type bm: bmesh.types.BMesh
|
|
654
522
|
:param co: The coordinate of the new vert.
|
|
655
|
-
:type co: collections.abc.Sequence[float] | mathutils.Vector
|
|
656
523
|
:return: vert:
|
|
657
524
|
The new vert.
|
|
658
525
|
|
|
659
526
|
type list of (`bmesh.types.BMVert`)
|
|
660
|
-
:rtype: dict[str, typing.Any]
|
|
661
527
|
"""
|
|
662
528
|
|
|
663
529
|
def delete(
|
|
@@ -678,11 +544,8 @@ def delete(
|
|
|
678
544
|
"""Delete Geometry.Utility operator to delete geometry.
|
|
679
545
|
|
|
680
546
|
:param bm: The bmesh to operate on.
|
|
681
|
-
:type bm: bmesh.types.BMesh
|
|
682
547
|
:param geom: Input geometry.
|
|
683
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
684
548
|
:param context: Geometry types to delete.
|
|
685
|
-
:type context: typing.Literal['VERTS','EDGES','FACES_ONLY','EDGES_FACES','FACES','FACES_KEEP_BOUNDARY','TAGGED_ONLY']
|
|
686
549
|
"""
|
|
687
550
|
|
|
688
551
|
def dissolve_degenerate(
|
|
@@ -691,11 +554,8 @@ def dissolve_degenerate(
|
|
|
691
554
|
"""Degenerate Dissolve.Dissolve edges with no length, faces with no area.
|
|
692
555
|
|
|
693
556
|
:param bm: The bmesh to operate on.
|
|
694
|
-
:type bm: bmesh.types.BMesh
|
|
695
557
|
:param dist: Maximum distance to consider degenerate.
|
|
696
|
-
:type dist: float
|
|
697
558
|
:param edges: Input edges.
|
|
698
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
699
559
|
"""
|
|
700
560
|
|
|
701
561
|
def dissolve_edges(
|
|
@@ -708,20 +568,14 @@ def dissolve_edges(
|
|
|
708
568
|
"""Dissolve Edges.
|
|
709
569
|
|
|
710
570
|
:param bm: The bmesh to operate on.
|
|
711
|
-
:type bm: bmesh.types.BMesh
|
|
712
571
|
:param edges: Input edges.
|
|
713
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
714
572
|
:param use_verts: Dissolve verts left between only 2 edges.
|
|
715
|
-
:type use_verts: bool
|
|
716
573
|
:param use_face_split: Split off face corners to maintain surrounding geometry.
|
|
717
|
-
:type use_face_split: bool
|
|
718
574
|
:param angle_threshold: Do not dissolve verts between 2 edges when their angle exceeds this threshold.
|
|
719
575
|
Disabled by default.
|
|
720
|
-
:type angle_threshold: float
|
|
721
576
|
:return: region:
|
|
722
577
|
|
|
723
578
|
type list of (`bmesh.types.BMFace`)
|
|
724
|
-
:rtype: dict[str, typing.Any]
|
|
725
579
|
"""
|
|
726
580
|
|
|
727
581
|
def dissolve_faces(
|
|
@@ -730,15 +584,11 @@ def dissolve_faces(
|
|
|
730
584
|
"""Dissolve Faces.
|
|
731
585
|
|
|
732
586
|
:param bm: The bmesh to operate on.
|
|
733
|
-
:type bm: bmesh.types.BMesh
|
|
734
587
|
:param faces: Input faces.
|
|
735
|
-
:type faces: list[bmesh.types.BMFace]
|
|
736
588
|
:param use_verts: Dissolve verts left between only 2 edges.
|
|
737
|
-
:type use_verts: bool
|
|
738
589
|
:return: region:
|
|
739
590
|
|
|
740
591
|
type list of (`bmesh.types.BMFace`)
|
|
741
|
-
:rtype: dict[str, typing.Any]
|
|
742
592
|
"""
|
|
743
593
|
|
|
744
594
|
def dissolve_limit(
|
|
@@ -752,20 +602,14 @@ def dissolve_limit(
|
|
|
752
602
|
"""Limited Dissolve.Dissolve planar faces and co-linear edges.
|
|
753
603
|
|
|
754
604
|
:param bm: The bmesh to operate on.
|
|
755
|
-
:type bm: bmesh.types.BMesh
|
|
756
605
|
:param angle_limit: Total rotation angle (radians).
|
|
757
|
-
:type angle_limit: float
|
|
758
606
|
:param use_dissolve_boundaries: Dissolve all vertices in between face boundaries.
|
|
759
|
-
:type use_dissolve_boundaries: bool
|
|
760
607
|
:param verts: Input vertices.
|
|
761
|
-
:type verts: list[bmesh.types.BMVert]
|
|
762
608
|
:param edges: Input edges.
|
|
763
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
764
609
|
:param delimit: Delimit dissolve operation.
|
|
765
610
|
:return: region:
|
|
766
611
|
|
|
767
612
|
type list of (`bmesh.types.BMFace`)
|
|
768
|
-
:rtype: dict[str, typing.Any]
|
|
769
613
|
"""
|
|
770
614
|
|
|
771
615
|
def dissolve_verts(
|
|
@@ -777,13 +621,9 @@ def dissolve_verts(
|
|
|
777
621
|
"""Dissolve Verts.
|
|
778
622
|
|
|
779
623
|
:param bm: The bmesh to operate on.
|
|
780
|
-
:type bm: bmesh.types.BMesh
|
|
781
624
|
:param verts: Input vertices.
|
|
782
|
-
:type verts: list[bmesh.types.BMVert]
|
|
783
625
|
:param use_face_split: Split off face corners to maintain surrounding geometry.
|
|
784
|
-
:type use_face_split: bool
|
|
785
626
|
:param use_boundary_tear: Split off face corners instead of merging faces.
|
|
786
|
-
:type use_boundary_tear: bool
|
|
787
627
|
"""
|
|
788
628
|
|
|
789
629
|
def duplicate(
|
|
@@ -799,15 +639,10 @@ def duplicate(
|
|
|
799
639
|
optionally into a destination mesh.
|
|
800
640
|
|
|
801
641
|
:param bm: The bmesh to operate on.
|
|
802
|
-
:type bm: bmesh.types.BMesh
|
|
803
642
|
:param geom: Input geometry.
|
|
804
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
805
643
|
:param dest: Destination bmesh, if None will use current on.
|
|
806
|
-
:type dest: bmesh.types.BMesh | None
|
|
807
644
|
:param use_select_history: Undocumented.
|
|
808
|
-
:type use_select_history: bool
|
|
809
645
|
:param use_edge_flip_from_face: Undocumented.
|
|
810
|
-
:type use_edge_flip_from_face: bool
|
|
811
646
|
:return: geom_orig:
|
|
812
647
|
|
|
813
648
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -837,7 +672,6 @@ def duplicate(
|
|
|
837
672
|
isovert_map:
|
|
838
673
|
|
|
839
674
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
840
|
-
:rtype: dict[str, typing.Any]
|
|
841
675
|
"""
|
|
842
676
|
|
|
843
677
|
def edgeloop_fill(
|
|
@@ -849,18 +683,13 @@ def edgeloop_fill(
|
|
|
849
683
|
"""Edge Loop Fill.Create faces defined by one or more non overlapping edge loops.
|
|
850
684
|
|
|
851
685
|
:param bm: The bmesh to operate on.
|
|
852
|
-
:type bm: bmesh.types.BMesh
|
|
853
686
|
:param edges: Input edges.
|
|
854
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
855
687
|
:param mat_nr: Material to use.
|
|
856
|
-
:type mat_nr: int
|
|
857
688
|
:param use_smooth: Smooth state to use.
|
|
858
|
-
:type use_smooth: bool
|
|
859
689
|
:return: faces:
|
|
860
690
|
New faces.
|
|
861
691
|
|
|
862
692
|
type list of (`bmesh.types.BMFace`)
|
|
863
|
-
:rtype: dict[str, typing.Any]
|
|
864
693
|
"""
|
|
865
694
|
|
|
866
695
|
def edgenet_fill(
|
|
@@ -873,20 +702,14 @@ def edgenet_fill(
|
|
|
873
702
|
"""Edge Net Fill.Create faces defined by enclosed edges.
|
|
874
703
|
|
|
875
704
|
:param bm: The bmesh to operate on.
|
|
876
|
-
:type bm: bmesh.types.BMesh
|
|
877
705
|
:param edges: Input edges.
|
|
878
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
879
706
|
:param mat_nr: Material to use.
|
|
880
|
-
:type mat_nr: int
|
|
881
707
|
:param use_smooth: Smooth state to use.
|
|
882
|
-
:type use_smooth: bool
|
|
883
708
|
:param sides: Number of sides.
|
|
884
|
-
:type sides: int
|
|
885
709
|
:return: faces:
|
|
886
710
|
New faces.
|
|
887
711
|
|
|
888
712
|
type list of (`bmesh.types.BMFace`)
|
|
889
|
-
:rtype: dict[str, typing.Any]
|
|
890
713
|
"""
|
|
891
714
|
|
|
892
715
|
def edgenet_prepare(
|
|
@@ -896,14 +719,11 @@ def edgenet_prepare(
|
|
|
896
719
|
theyll become a face when edgenet_fill is called. The cases covered are:
|
|
897
720
|
|
|
898
721
|
:param bm: The bmesh to operate on.
|
|
899
|
-
:type bm: bmesh.types.BMesh
|
|
900
722
|
:param edges: Input edges.
|
|
901
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
902
723
|
:return: edges:
|
|
903
724
|
New edges.
|
|
904
725
|
|
|
905
726
|
type list of (`bmesh.types.BMEdge`)
|
|
906
|
-
:rtype: dict[str, typing.Any]
|
|
907
727
|
"""
|
|
908
728
|
|
|
909
729
|
def extrude_discrete_faces(
|
|
@@ -915,18 +735,13 @@ def extrude_discrete_faces(
|
|
|
915
735
|
"""Individual Face Extrude.Extrudes faces individually.
|
|
916
736
|
|
|
917
737
|
:param bm: The bmesh to operate on.
|
|
918
|
-
:type bm: bmesh.types.BMesh
|
|
919
738
|
:param faces: Input faces.
|
|
920
|
-
:type faces: list[bmesh.types.BMFace]
|
|
921
739
|
:param use_normal_flip: Create faces with reversed direction.
|
|
922
|
-
:type use_normal_flip: bool
|
|
923
740
|
:param use_select_history: Pass to duplicate.
|
|
924
|
-
:type use_select_history: bool
|
|
925
741
|
:return: faces:
|
|
926
742
|
Output faces.
|
|
927
743
|
|
|
928
744
|
type list of (`bmesh.types.BMFace`)
|
|
929
|
-
:rtype: dict[str, typing.Any]
|
|
930
745
|
"""
|
|
931
746
|
|
|
932
747
|
def extrude_edge_only(
|
|
@@ -939,18 +754,13 @@ def extrude_edge_only(
|
|
|
939
754
|
winged extrusion.
|
|
940
755
|
|
|
941
756
|
:param bm: The bmesh to operate on.
|
|
942
|
-
:type bm: bmesh.types.BMesh
|
|
943
757
|
:param edges: Input vertices.
|
|
944
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
945
758
|
:param use_normal_flip: Create faces with reversed direction.
|
|
946
|
-
:type use_normal_flip: bool
|
|
947
759
|
:param use_select_history: Pass to duplicate.
|
|
948
|
-
:type use_select_history: bool
|
|
949
760
|
:return: geom:
|
|
950
761
|
Output geometry.
|
|
951
762
|
|
|
952
763
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
953
|
-
:rtype: dict[str, typing.Any]
|
|
954
764
|
"""
|
|
955
765
|
|
|
956
766
|
def extrude_face_region(
|
|
@@ -964,28 +774,22 @@ def extrude_face_region(
|
|
|
964
774
|
use_normal_from_adjacent: bool = False,
|
|
965
775
|
use_dissolve_ortho_edges: bool = False,
|
|
966
776
|
use_select_history: bool = False,
|
|
777
|
+
skip_input_flip: bool = False,
|
|
967
778
|
) -> dict[str, typing.Any]:
|
|
968
779
|
"""Extrude Faces.Extrude operator (does not transform)
|
|
969
780
|
|
|
970
781
|
:param bm: The bmesh to operate on.
|
|
971
|
-
:type bm: bmesh.types.BMesh
|
|
972
782
|
:param geom: Edges and faces.
|
|
973
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
974
783
|
:param edges_exclude: Input edges to explicitly exclude from extrusion.
|
|
975
784
|
:param use_keep_orig: Keep original geometry (requires geom to include edges).
|
|
976
|
-
:type use_keep_orig: bool
|
|
977
785
|
:param use_normal_flip: Create faces with reversed direction.
|
|
978
|
-
:type use_normal_flip: bool
|
|
979
786
|
:param use_normal_from_adjacent: Use winding from surrounding faces instead of this region.
|
|
980
|
-
:type use_normal_from_adjacent: bool
|
|
981
787
|
:param use_dissolve_ortho_edges: Dissolve edges whose faces form a flat surface.
|
|
982
|
-
:type use_dissolve_ortho_edges: bool
|
|
983
788
|
:param use_select_history: Pass to duplicate.
|
|
984
|
-
:
|
|
789
|
+
:param skip_input_flip: Skip flipping of input faces to preserve original orientation.
|
|
985
790
|
:return: geom:
|
|
986
791
|
|
|
987
792
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
988
|
-
:rtype: dict[str, typing.Any]
|
|
989
793
|
"""
|
|
990
794
|
|
|
991
795
|
def extrude_vert_indiv(
|
|
@@ -996,11 +800,8 @@ def extrude_vert_indiv(
|
|
|
996
800
|
"""Individual Vertex Extrude.Extrudes wire edges from vertices.
|
|
997
801
|
|
|
998
802
|
:param bm: The bmesh to operate on.
|
|
999
|
-
:type bm: bmesh.types.BMesh
|
|
1000
803
|
:param verts: Input vertices.
|
|
1001
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1002
804
|
:param use_select_history: Pass to duplicate.
|
|
1003
|
-
:type use_select_history: bool
|
|
1004
805
|
:return: edges:
|
|
1005
806
|
Output wire edges.
|
|
1006
807
|
|
|
@@ -1010,7 +811,6 @@ def extrude_vert_indiv(
|
|
|
1010
811
|
Output vertices.
|
|
1011
812
|
|
|
1012
813
|
type list of (`bmesh.types.BMVert`)
|
|
1013
|
-
:rtype: dict[str, typing.Any]
|
|
1014
814
|
"""
|
|
1015
815
|
|
|
1016
816
|
def face_attribute_fill(
|
|
@@ -1022,18 +822,13 @@ def face_attribute_fill(
|
|
|
1022
822
|
"""Face Attribute Fill.Fill in faces with data from adjacent faces.
|
|
1023
823
|
|
|
1024
824
|
:param bm: The bmesh to operate on.
|
|
1025
|
-
:type bm: bmesh.types.BMesh
|
|
1026
825
|
:param faces: Input faces.
|
|
1027
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1028
826
|
:param use_normals: Copy face winding.
|
|
1029
|
-
:type use_normals: bool
|
|
1030
827
|
:param use_data: Copy face data.
|
|
1031
|
-
:type use_data: bool
|
|
1032
828
|
:return: faces_fail:
|
|
1033
829
|
Faces that could not be handled.
|
|
1034
830
|
|
|
1035
831
|
type list of (`bmesh.types.BMFace`)
|
|
1036
|
-
:rtype: dict[str, typing.Any]
|
|
1037
832
|
"""
|
|
1038
833
|
|
|
1039
834
|
def find_doubles(
|
|
@@ -1048,19 +843,13 @@ def find_doubles(
|
|
|
1048
843
|
with vertices in that set.
|
|
1049
844
|
|
|
1050
845
|
:param bm: The bmesh to operate on.
|
|
1051
|
-
:type bm: bmesh.types.BMesh
|
|
1052
846
|
:param verts: Input vertices.
|
|
1053
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1054
847
|
:param keep_verts: List of verts to keep.
|
|
1055
|
-
:type keep_verts: list[bmesh.types.BMVert]
|
|
1056
848
|
:param use_connected: Limit the search for doubles by connected geometry.
|
|
1057
|
-
:type use_connected: bool
|
|
1058
849
|
:param dist: Maximum distance.
|
|
1059
|
-
:type dist: float
|
|
1060
850
|
:return: targetmap:
|
|
1061
851
|
|
|
1062
852
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
1063
|
-
:rtype: dict[str, typing.Any]
|
|
1064
853
|
"""
|
|
1065
854
|
|
|
1066
855
|
def flip_quad_tessellation(
|
|
@@ -1069,9 +858,7 @@ def flip_quad_tessellation(
|
|
|
1069
858
|
"""Flip Quad TessellationFlip the tessellation direction of the selected quads.
|
|
1070
859
|
|
|
1071
860
|
:param bm: The bmesh to operate on.
|
|
1072
|
-
:type bm: bmesh.types.BMesh
|
|
1073
861
|
:param faces: Input faces.
|
|
1074
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1075
862
|
"""
|
|
1076
863
|
|
|
1077
864
|
def grid_fill(
|
|
@@ -1084,20 +871,14 @@ def grid_fill(
|
|
|
1084
871
|
"""Grid Fill.Create faces defined by 2 disconnected edge loops (which share edges).
|
|
1085
872
|
|
|
1086
873
|
:param bm: The bmesh to operate on.
|
|
1087
|
-
:type bm: bmesh.types.BMesh
|
|
1088
874
|
:param edges: Input edges.
|
|
1089
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1090
875
|
:param mat_nr: Material to use.
|
|
1091
|
-
:type mat_nr: int
|
|
1092
876
|
:param use_smooth: Smooth state to use.
|
|
1093
|
-
:type use_smooth: bool
|
|
1094
877
|
:param use_interp_simple: Use simple interpolation.
|
|
1095
|
-
:type use_interp_simple: bool
|
|
1096
878
|
:return: faces:
|
|
1097
879
|
New faces.
|
|
1098
880
|
|
|
1099
881
|
type list of (`bmesh.types.BMFace`)
|
|
1100
|
-
:rtype: dict[str, typing.Any]
|
|
1101
882
|
"""
|
|
1102
883
|
|
|
1103
884
|
def holes_fill(
|
|
@@ -1106,16 +887,12 @@ def holes_fill(
|
|
|
1106
887
|
"""Fill Holes.Fill boundary edges with faces, copying surrounding custom-data.
|
|
1107
888
|
|
|
1108
889
|
:param bm: The bmesh to operate on.
|
|
1109
|
-
:type bm: bmesh.types.BMesh
|
|
1110
890
|
:param edges: Input edges.
|
|
1111
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1112
891
|
:param sides: Number of face sides to fill.
|
|
1113
|
-
:type sides: int
|
|
1114
892
|
:return: faces:
|
|
1115
893
|
New faces.
|
|
1116
894
|
|
|
1117
895
|
type list of (`bmesh.types.BMFace`)
|
|
1118
|
-
:rtype: dict[str, typing.Any]
|
|
1119
896
|
"""
|
|
1120
897
|
|
|
1121
898
|
def inset_individual(
|
|
@@ -1130,24 +907,16 @@ def inset_individual(
|
|
|
1130
907
|
"""Face Inset (Individual).Insets individual faces.
|
|
1131
908
|
|
|
1132
909
|
:param bm: The bmesh to operate on.
|
|
1133
|
-
:type bm: bmesh.types.BMesh
|
|
1134
910
|
:param faces: Input faces.
|
|
1135
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1136
911
|
:param thickness: Thickness.
|
|
1137
|
-
:type thickness: float
|
|
1138
912
|
:param depth: Depth.
|
|
1139
|
-
:type depth: float
|
|
1140
913
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
1141
|
-
:type use_even_offset: bool
|
|
1142
914
|
:param use_interpolate: Blend face data across the inset.
|
|
1143
|
-
:type use_interpolate: bool
|
|
1144
915
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
1145
|
-
:type use_relative_offset: bool
|
|
1146
916
|
:return: faces:
|
|
1147
917
|
Output faces.
|
|
1148
918
|
|
|
1149
919
|
type list of (`bmesh.types.BMFace`)
|
|
1150
|
-
:rtype: dict[str, typing.Any]
|
|
1151
920
|
"""
|
|
1152
921
|
|
|
1153
922
|
def inset_region(
|
|
@@ -1166,32 +935,20 @@ def inset_region(
|
|
|
1166
935
|
"""Face Inset (Regions).Inset or outset face regions.
|
|
1167
936
|
|
|
1168
937
|
:param bm: The bmesh to operate on.
|
|
1169
|
-
:type bm: bmesh.types.BMesh
|
|
1170
938
|
:param faces: Input faces.
|
|
1171
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1172
939
|
:param faces_exclude: Input faces to explicitly exclude from inset.
|
|
1173
|
-
:type faces_exclude: list[bmesh.types.BMFace]
|
|
1174
940
|
:param use_boundary: Inset face boundaries.
|
|
1175
|
-
:type use_boundary: bool
|
|
1176
941
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
1177
|
-
:type use_even_offset: bool
|
|
1178
942
|
:param use_interpolate: Blend face data across the inset.
|
|
1179
|
-
:type use_interpolate: bool
|
|
1180
943
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
1181
|
-
:type use_relative_offset: bool
|
|
1182
944
|
:param use_edge_rail: Inset the region along existing edges.
|
|
1183
|
-
:type use_edge_rail: bool
|
|
1184
945
|
:param thickness: Thickness.
|
|
1185
|
-
:type thickness: float
|
|
1186
946
|
:param depth: Depth.
|
|
1187
|
-
:type depth: float
|
|
1188
947
|
:param use_outset: Outset rather than inset.
|
|
1189
|
-
:type use_outset: bool
|
|
1190
948
|
:return: faces:
|
|
1191
949
|
Output faces.
|
|
1192
950
|
|
|
1193
951
|
type list of (`bmesh.types.BMFace`)
|
|
1194
|
-
:rtype: dict[str, typing.Any]
|
|
1195
952
|
"""
|
|
1196
953
|
|
|
1197
954
|
def join_triangles(
|
|
@@ -1213,36 +970,22 @@ def join_triangles(
|
|
|
1213
970
|
to angle threshold and delimiters.
|
|
1214
971
|
|
|
1215
972
|
:param bm: The bmesh to operate on.
|
|
1216
|
-
:type bm: bmesh.types.BMesh
|
|
1217
973
|
:param faces: Input geometry.
|
|
1218
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1219
974
|
:param cmp_seam: Compare seam
|
|
1220
|
-
:type cmp_seam: bool
|
|
1221
975
|
:param cmp_sharp: Compare sharp
|
|
1222
|
-
:type cmp_sharp: bool
|
|
1223
976
|
:param cmp_uvs: Compare UVs
|
|
1224
|
-
:type cmp_uvs: bool
|
|
1225
977
|
:param cmp_vcols: Compare VCols.
|
|
1226
|
-
:type cmp_vcols: bool
|
|
1227
978
|
:param cmp_materials: Compare materials.
|
|
1228
|
-
:type cmp_materials: bool
|
|
1229
979
|
:param angle_face_threshold: Undocumented.
|
|
1230
|
-
:type angle_face_threshold: float
|
|
1231
980
|
:param angle_shape_threshold: Undocumented.
|
|
1232
|
-
:type angle_shape_threshold: float
|
|
1233
981
|
:param topology_influence: Undocumented.
|
|
1234
|
-
:type topology_influence: float
|
|
1235
982
|
:param deselect_joined: Undocumented.
|
|
1236
|
-
:type deselect_joined: bool
|
|
1237
983
|
:param merge_limit: Undocumented.
|
|
1238
|
-
:type merge_limit: int
|
|
1239
984
|
:param neighbor_debug: Undocumented.
|
|
1240
|
-
:type neighbor_debug: int
|
|
1241
985
|
:return: faces:
|
|
1242
986
|
Joined faces.
|
|
1243
987
|
|
|
1244
988
|
type list of (`bmesh.types.BMFace`)
|
|
1245
|
-
:rtype: dict[str, typing.Any]
|
|
1246
989
|
"""
|
|
1247
990
|
|
|
1248
991
|
def mesh_to_bmesh(
|
|
@@ -1255,13 +998,9 @@ def mesh_to_bmesh(
|
|
|
1255
998
|
reserved exclusively for entering edit-mode.
|
|
1256
999
|
|
|
1257
1000
|
:param bm: The bmesh to operate on.
|
|
1258
|
-
:type bm: bmesh.types.BMesh
|
|
1259
1001
|
:param mesh: Pointer to a Mesh structure.
|
|
1260
|
-
:type mesh: bpy.types.Mesh
|
|
1261
1002
|
:param object: Pointer to an Object structure.
|
|
1262
|
-
:type object: bpy.types.Object
|
|
1263
1003
|
:param use_shapekey: Load active shapekey coordinates into verts.
|
|
1264
|
-
:type use_shapekey: bool
|
|
1265
1004
|
"""
|
|
1266
1005
|
|
|
1267
1006
|
def mirror(
|
|
@@ -1283,28 +1022,18 @@ def mirror(
|
|
|
1283
1022
|
parameter (which defines the minimum distance for welding to happen).
|
|
1284
1023
|
|
|
1285
1024
|
:param bm: The bmesh to operate on.
|
|
1286
|
-
:type bm: bmesh.types.BMesh
|
|
1287
1025
|
:param geom: Input geometry.
|
|
1288
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1289
1026
|
:param matrix: Matrix defining the mirror transformation.
|
|
1290
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1291
1027
|
:param merge_dist: Maximum distance for merging. does no merging if 0.
|
|
1292
|
-
:type merge_dist: float
|
|
1293
1028
|
:param axis: The axis to use.
|
|
1294
|
-
:type axis: typing.Literal['X','Y','Z']
|
|
1295
1029
|
:param mirror_u: Mirror UVs across the u axis.
|
|
1296
|
-
:type mirror_u: bool
|
|
1297
1030
|
:param mirror_v: Mirror UVs across the v axis.
|
|
1298
|
-
:type mirror_v: bool
|
|
1299
1031
|
:param mirror_udim: Mirror UVs in each tile.
|
|
1300
|
-
:type mirror_udim: bool
|
|
1301
1032
|
:param use_shapekey: Transform shape keys too.
|
|
1302
|
-
:type use_shapekey: bool
|
|
1303
1033
|
:return: geom:
|
|
1304
1034
|
Output geometry, mirrored.
|
|
1305
1035
|
|
|
1306
1036
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1307
|
-
:rtype: dict[str, typing.Any]
|
|
1308
1037
|
"""
|
|
1309
1038
|
|
|
1310
1039
|
def object_load_bmesh(
|
|
@@ -1314,11 +1043,8 @@ def object_load_bmesh(
|
|
|
1314
1043
|
BMOP.
|
|
1315
1044
|
|
|
1316
1045
|
:param bm: The bmesh to operate on.
|
|
1317
|
-
:type bm: bmesh.types.BMesh
|
|
1318
1046
|
:param scene: Pointer to an scene structure.
|
|
1319
|
-
:type scene: bpy.types.Scene
|
|
1320
1047
|
:param object: Pointer to an object structure.
|
|
1321
|
-
:type object: bpy.types.Object
|
|
1322
1048
|
"""
|
|
1323
1049
|
|
|
1324
1050
|
def offset_edgeloops(
|
|
@@ -1329,16 +1055,12 @@ def offset_edgeloops(
|
|
|
1329
1055
|
"""Edge-loop Offset.Creates edge loops based on simple edge-outset method.
|
|
1330
1056
|
|
|
1331
1057
|
:param bm: The bmesh to operate on.
|
|
1332
|
-
:type bm: bmesh.types.BMesh
|
|
1333
1058
|
:param edges: Input edges.
|
|
1334
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1335
1059
|
:param use_cap_endpoint: Extend loop around end-points.
|
|
1336
|
-
:type use_cap_endpoint: bool
|
|
1337
1060
|
:return: edges:
|
|
1338
1061
|
Output edges.
|
|
1339
1062
|
|
|
1340
1063
|
type list of (`bmesh.types.BMEdge`)
|
|
1341
|
-
:rtype: dict[str, typing.Any]
|
|
1342
1064
|
"""
|
|
1343
1065
|
|
|
1344
1066
|
def planar_faces(
|
|
@@ -1350,18 +1072,13 @@ def planar_faces(
|
|
|
1350
1072
|
"""Planar Faces.Iteratively flatten faces.
|
|
1351
1073
|
|
|
1352
1074
|
:param bm: The bmesh to operate on.
|
|
1353
|
-
:type bm: bmesh.types.BMesh
|
|
1354
1075
|
:param faces: Input geometry.
|
|
1355
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1356
1076
|
:param iterations: Number of times to flatten faces (for when connected faces are used)
|
|
1357
|
-
:type iterations: int
|
|
1358
1077
|
:param factor: Influence for making planar each iteration
|
|
1359
|
-
:type factor: float
|
|
1360
1078
|
:return: geom:
|
|
1361
1079
|
Output slot, computed boundary geometry.
|
|
1362
1080
|
|
|
1363
1081
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1364
|
-
:rtype: dict[str, typing.Any]
|
|
1365
1082
|
"""
|
|
1366
1083
|
|
|
1367
1084
|
def pointmerge(
|
|
@@ -1372,11 +1089,8 @@ def pointmerge(
|
|
|
1372
1089
|
"""Point Merge.Merge verts together at a point.
|
|
1373
1090
|
|
|
1374
1091
|
:param bm: The bmesh to operate on.
|
|
1375
|
-
:type bm: bmesh.types.BMesh
|
|
1376
1092
|
:param verts: Input vertices (all verts will be merged into the first).
|
|
1377
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1378
1093
|
:param merge_co: Position to merge at.
|
|
1379
|
-
:type merge_co: collections.abc.Sequence[float] | mathutils.Vector
|
|
1380
1094
|
"""
|
|
1381
1095
|
|
|
1382
1096
|
def pointmerge_facedata(
|
|
@@ -1387,11 +1101,8 @@ def pointmerge_facedata(
|
|
|
1387
1101
|
"""Face-Data Point Merge.Merge uv/vcols at a specific vertex.
|
|
1388
1102
|
|
|
1389
1103
|
:param bm: The bmesh to operate on.
|
|
1390
|
-
:type bm: bmesh.types.BMesh
|
|
1391
1104
|
:param verts: Input vertices.
|
|
1392
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1393
1105
|
:param vert_snap: Snap vertex.
|
|
1394
|
-
:type vert_snap: bmesh.types.BMVert | None
|
|
1395
1106
|
"""
|
|
1396
1107
|
|
|
1397
1108
|
def poke(
|
|
@@ -1404,15 +1115,10 @@ def poke(
|
|
|
1404
1115
|
"""Pokes a face.Splits a face into a triangle fan.
|
|
1405
1116
|
|
|
1406
1117
|
:param bm: The bmesh to operate on.
|
|
1407
|
-
:type bm: bmesh.types.BMesh
|
|
1408
1118
|
:param faces: Input faces.
|
|
1409
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1410
1119
|
:param offset: Center vertex offset along normal.
|
|
1411
|
-
:type offset: float
|
|
1412
1120
|
:param center_mode: Calculation mode for center vertex.
|
|
1413
|
-
:type center_mode: typing.Literal['MEAN_WEIGHTED','MEAN','BOUNDS']
|
|
1414
1121
|
:param use_relative_offset: Apply offset.
|
|
1415
|
-
:type use_relative_offset: bool
|
|
1416
1122
|
:return: verts:
|
|
1417
1123
|
Output verts.
|
|
1418
1124
|
|
|
@@ -1422,7 +1128,6 @@ def poke(
|
|
|
1422
1128
|
Output faces.
|
|
1423
1129
|
|
|
1424
1130
|
type list of (`bmesh.types.BMFace`)
|
|
1425
|
-
:rtype: dict[str, typing.Any]
|
|
1426
1131
|
"""
|
|
1427
1132
|
|
|
1428
1133
|
def recalc_face_normals(
|
|
@@ -1431,9 +1136,7 @@ def recalc_face_normals(
|
|
|
1431
1136
|
"""Right-Hand Faces.Computes an "outside" normal for the specified input faces.
|
|
1432
1137
|
|
|
1433
1138
|
:param bm: The bmesh to operate on.
|
|
1434
|
-
:type bm: bmesh.types.BMesh
|
|
1435
1139
|
:param faces: Input faces.
|
|
1436
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1437
1140
|
"""
|
|
1438
1141
|
|
|
1439
1142
|
def region_extend(
|
|
@@ -1451,20 +1154,14 @@ def region_extend(
|
|
|
1451
1154
|
otherwise it spits out faces.
|
|
1452
1155
|
|
|
1453
1156
|
:param bm: The bmesh to operate on.
|
|
1454
|
-
:type bm: bmesh.types.BMesh
|
|
1455
1157
|
:param geom: Input geometry.
|
|
1456
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1457
1158
|
:param use_contract: Find boundary inside the regions, not outside.
|
|
1458
|
-
:type use_contract: bool
|
|
1459
1159
|
:param use_faces: Extend from faces instead of edges.
|
|
1460
|
-
:type use_faces: bool
|
|
1461
1160
|
:param use_face_step: Step over connected faces.
|
|
1462
|
-
:type use_face_step: bool
|
|
1463
1161
|
:return: geom:
|
|
1464
1162
|
Output slot, computed boundary geometry.
|
|
1465
1163
|
|
|
1466
1164
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1467
|
-
:rtype: dict[str, typing.Any]
|
|
1468
1165
|
"""
|
|
1469
1166
|
|
|
1470
1167
|
def remove_doubles(
|
|
@@ -1477,13 +1174,9 @@ def remove_doubles(
|
|
|
1477
1174
|
using the weld verts BMOP.
|
|
1478
1175
|
|
|
1479
1176
|
:param bm: The bmesh to operate on.
|
|
1480
|
-
:type bm: bmesh.types.BMesh
|
|
1481
1177
|
:param verts: Input verts.
|
|
1482
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1483
1178
|
:param use_connected: Limit the search for doubles by connected geometry.
|
|
1484
|
-
:type use_connected: bool
|
|
1485
1179
|
:param dist: Minimum distance.
|
|
1486
|
-
:type dist: float
|
|
1487
1180
|
"""
|
|
1488
1181
|
|
|
1489
1182
|
def reverse_colors(
|
|
@@ -1492,11 +1185,8 @@ def reverse_colors(
|
|
|
1492
1185
|
"""Color ReverseReverse the loop colors.
|
|
1493
1186
|
|
|
1494
1187
|
:param bm: The bmesh to operate on.
|
|
1495
|
-
:type bm: bmesh.types.BMesh
|
|
1496
1188
|
:param faces: Input faces.
|
|
1497
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1498
1189
|
:param color_index: Index into color attribute list.
|
|
1499
|
-
:type color_index: int
|
|
1500
1190
|
"""
|
|
1501
1191
|
|
|
1502
1192
|
def reverse_faces(
|
|
@@ -1508,20 +1198,15 @@ def reverse_faces(
|
|
|
1508
1198
|
This has the effect of flipping the normal.
|
|
1509
1199
|
|
|
1510
1200
|
:param bm: The bmesh to operate on.
|
|
1511
|
-
:type bm: bmesh.types.BMesh
|
|
1512
1201
|
:param faces: Input faces.
|
|
1513
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1514
1202
|
:param flip_multires: Maintain multi-res offset.
|
|
1515
|
-
:type flip_multires: bool
|
|
1516
1203
|
"""
|
|
1517
1204
|
|
|
1518
1205
|
def reverse_uvs(bm: bmesh.types.BMesh, faces: list[bmesh.types.BMFace] = []) -> None:
|
|
1519
1206
|
"""UV Reverse.Reverse the UVs
|
|
1520
1207
|
|
|
1521
1208
|
:param bm: The bmesh to operate on.
|
|
1522
|
-
:type bm: bmesh.types.BMesh
|
|
1523
1209
|
:param faces: Input faces.
|
|
1524
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1525
1210
|
"""
|
|
1526
1211
|
|
|
1527
1212
|
def rotate(
|
|
@@ -1537,17 +1222,11 @@ def rotate(
|
|
|
1537
1222
|
"""Rotate.Rotate vertices around a center, using a 3x3 rotation matrix.
|
|
1538
1223
|
|
|
1539
1224
|
:param bm: The bmesh to operate on.
|
|
1540
|
-
:type bm: bmesh.types.BMesh
|
|
1541
1225
|
:param cent: Center of rotation.
|
|
1542
|
-
:type cent: collections.abc.Sequence[float] | mathutils.Vector
|
|
1543
1226
|
:param matrix: Matrix defining rotation.
|
|
1544
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1545
1227
|
:param verts: Input vertices.
|
|
1546
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1547
1228
|
:param space: Matrix to define the space (typically object matrix).
|
|
1548
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1549
1229
|
:param use_shapekey: Transform shape keys too.
|
|
1550
|
-
:type use_shapekey: bool
|
|
1551
1230
|
"""
|
|
1552
1231
|
|
|
1553
1232
|
def rotate_colors(
|
|
@@ -1559,13 +1238,9 @@ def rotate_colors(
|
|
|
1559
1238
|
"""Color Rotation.Cycle the loop colors
|
|
1560
1239
|
|
|
1561
1240
|
:param bm: The bmesh to operate on.
|
|
1562
|
-
:type bm: bmesh.types.BMesh
|
|
1563
1241
|
:param faces: Input faces.
|
|
1564
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1565
1242
|
:param use_ccw: Rotate counter-clockwise if true, otherwise clockwise.
|
|
1566
|
-
:type use_ccw: bool
|
|
1567
1243
|
:param color_index: Index into color attribute list.
|
|
1568
|
-
:type color_index: int
|
|
1569
1244
|
"""
|
|
1570
1245
|
|
|
1571
1246
|
def rotate_edges(
|
|
@@ -1575,16 +1250,12 @@ def rotate_edges(
|
|
|
1575
1250
|
Simple example: [/] becomes [|] then [\].
|
|
1576
1251
|
|
|
1577
1252
|
:param bm: The bmesh to operate on.
|
|
1578
|
-
:type bm: bmesh.types.BMesh
|
|
1579
1253
|
:param edges: Input edges.
|
|
1580
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1581
1254
|
:param use_ccw: Rotate edge counter-clockwise if true, otherwise clockwise.
|
|
1582
|
-
:type use_ccw: bool
|
|
1583
1255
|
:return: edges:
|
|
1584
1256
|
Newly spun edges.
|
|
1585
1257
|
|
|
1586
1258
|
type list of (`bmesh.types.BMEdge`)
|
|
1587
|
-
:rtype: dict[str, typing.Any]
|
|
1588
1259
|
"""
|
|
1589
1260
|
|
|
1590
1261
|
def rotate_uvs(
|
|
@@ -1593,11 +1264,8 @@ def rotate_uvs(
|
|
|
1593
1264
|
"""UV Rotation.Cycle the loop UVs
|
|
1594
1265
|
|
|
1595
1266
|
:param bm: The bmesh to operate on.
|
|
1596
|
-
:type bm: bmesh.types.BMesh
|
|
1597
1267
|
:param faces: Input faces.
|
|
1598
|
-
:type faces: list[bmesh.types.BMFace]
|
|
1599
1268
|
:param use_ccw: Rotate counter-clockwise if true, otherwise clockwise.
|
|
1600
|
-
:type use_ccw: bool
|
|
1601
1269
|
"""
|
|
1602
1270
|
|
|
1603
1271
|
def scale(
|
|
@@ -1611,15 +1279,10 @@ def scale(
|
|
|
1611
1279
|
"""Scale.Scales vertices by an offset.
|
|
1612
1280
|
|
|
1613
1281
|
:param bm: The bmesh to operate on.
|
|
1614
|
-
:type bm: bmesh.types.BMesh
|
|
1615
1282
|
:param vec: Scale factor.
|
|
1616
|
-
:type vec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1617
1283
|
:param space: Matrix to define the space (typically object matrix).
|
|
1618
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1619
1284
|
:param verts: Input vertices.
|
|
1620
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1621
1285
|
:param use_shapekey: Transform shape keys too.
|
|
1622
|
-
:type use_shapekey: bool
|
|
1623
1286
|
"""
|
|
1624
1287
|
|
|
1625
1288
|
def smooth_laplacian_vert(
|
|
@@ -1636,21 +1299,13 @@ def smooth_laplacian_vert(
|
|
|
1636
1299
|
Desbrun, et al. Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.
|
|
1637
1300
|
|
|
1638
1301
|
:param bm: The bmesh to operate on.
|
|
1639
|
-
:type bm: bmesh.types.BMesh
|
|
1640
1302
|
:param verts: Input vertices.
|
|
1641
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1642
1303
|
:param lambda_factor: Lambda parameter.
|
|
1643
|
-
:type lambda_factor: float
|
|
1644
1304
|
:param lambda_border: Lambda param in border.
|
|
1645
|
-
:type lambda_border: float
|
|
1646
1305
|
:param use_x: Smooth object along X axis.
|
|
1647
|
-
:type use_x: bool
|
|
1648
1306
|
:param use_y: Smooth object along Y axis.
|
|
1649
|
-
:type use_y: bool
|
|
1650
1307
|
:param use_z: Smooth object along Z axis.
|
|
1651
|
-
:type use_z: bool
|
|
1652
1308
|
:param preserve_volume: Apply volume preservation after smooth.
|
|
1653
|
-
:type preserve_volume: bool
|
|
1654
1309
|
"""
|
|
1655
1310
|
|
|
1656
1311
|
def smooth_vert(
|
|
@@ -1668,25 +1323,15 @@ def smooth_vert(
|
|
|
1668
1323
|
"""Vertex Smooth.Smooths vertices by using a basic vertex averaging scheme.
|
|
1669
1324
|
|
|
1670
1325
|
:param bm: The bmesh to operate on.
|
|
1671
|
-
:type bm: bmesh.types.BMesh
|
|
1672
1326
|
:param verts: Input vertices.
|
|
1673
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1674
1327
|
:param factor: Smoothing factor.
|
|
1675
|
-
:type factor: float
|
|
1676
1328
|
:param mirror_clip_x: Set vertices close to the x axis before the operation to 0.
|
|
1677
|
-
:type mirror_clip_x: bool
|
|
1678
1329
|
:param mirror_clip_y: Set vertices close to the y axis before the operation to 0.
|
|
1679
|
-
:type mirror_clip_y: bool
|
|
1680
1330
|
:param mirror_clip_z: Set vertices close to the z axis before the operation to 0.
|
|
1681
|
-
:type mirror_clip_z: bool
|
|
1682
1331
|
:param clip_dist: Clipping threshold for the above three slots.
|
|
1683
|
-
:type clip_dist: float
|
|
1684
1332
|
:param use_axis_x: Smooth vertices along X axis.
|
|
1685
|
-
:type use_axis_x: bool
|
|
1686
1333
|
:param use_axis_y: Smooth vertices along Y axis.
|
|
1687
|
-
:type use_axis_y: bool
|
|
1688
1334
|
:param use_axis_z: Smooth vertices along Z axis.
|
|
1689
|
-
:type use_axis_z: bool
|
|
1690
1335
|
"""
|
|
1691
1336
|
|
|
1692
1337
|
def solidify(
|
|
@@ -1699,15 +1344,11 @@ def solidify(
|
|
|
1699
1344
|
"""Solidify.Turns a mesh into a shell with thickness
|
|
1700
1345
|
|
|
1701
1346
|
:param bm: The bmesh to operate on.
|
|
1702
|
-
:type bm: bmesh.types.BMesh
|
|
1703
1347
|
:param geom: Input geometry.
|
|
1704
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1705
1348
|
:param thickness: Thickness.
|
|
1706
|
-
:type thickness: float
|
|
1707
1349
|
:return: geom:
|
|
1708
1350
|
|
|
1709
1351
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1710
|
-
:rtype: dict[str, typing.Any]
|
|
1711
1352
|
"""
|
|
1712
1353
|
|
|
1713
1354
|
def spin(
|
|
@@ -1730,32 +1371,20 @@ def spin(
|
|
|
1730
1371
|
rotating and possibly translating after each step
|
|
1731
1372
|
|
|
1732
1373
|
:param bm: The bmesh to operate on.
|
|
1733
|
-
:type bm: bmesh.types.BMesh
|
|
1734
1374
|
:param geom: Input geometry.
|
|
1735
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1736
1375
|
:param cent: Rotation center.
|
|
1737
|
-
:type cent: collections.abc.Sequence[float] | mathutils.Vector
|
|
1738
1376
|
:param axis: Rotation axis.
|
|
1739
|
-
:type axis: collections.abc.Sequence[float] | mathutils.Vector
|
|
1740
1377
|
:param dvec: Translation delta per step.
|
|
1741
|
-
:type dvec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1742
1378
|
:param angle: Total rotation angle (radians).
|
|
1743
|
-
:type angle: float
|
|
1744
1379
|
:param space: Matrix to define the space (typically object matrix).
|
|
1745
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1746
1380
|
:param steps: Number of steps.
|
|
1747
|
-
:type steps: int
|
|
1748
1381
|
:param use_merge: Merge first/last when the angle is a full revolution.
|
|
1749
|
-
:type use_merge: bool
|
|
1750
1382
|
:param use_normal_flip: Create faces with reversed direction.
|
|
1751
|
-
:type use_normal_flip: bool
|
|
1752
1383
|
:param use_duplicate: Duplicate or extrude?.
|
|
1753
|
-
:type use_duplicate: bool
|
|
1754
1384
|
:return: geom_last:
|
|
1755
1385
|
Result of last step.
|
|
1756
1386
|
|
|
1757
1387
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1758
|
-
:rtype: dict[str, typing.Any]
|
|
1759
1388
|
"""
|
|
1760
1389
|
|
|
1761
1390
|
def split(
|
|
@@ -1770,13 +1399,9 @@ def split(
|
|
|
1770
1399
|
optionally into a destination mesh.
|
|
1771
1400
|
|
|
1772
1401
|
:param bm: The bmesh to operate on.
|
|
1773
|
-
:type bm: bmesh.types.BMesh
|
|
1774
1402
|
:param geom: Input geometry.
|
|
1775
|
-
:type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1776
1403
|
:param dest: Destination bmesh, if None will use current one.
|
|
1777
|
-
:type dest: bmesh.types.BMesh | None
|
|
1778
1404
|
:param use_only_faces: When enabled. dont duplicate loose verts/edges.
|
|
1779
|
-
:type use_only_faces: bool
|
|
1780
1405
|
:return: geom:
|
|
1781
1406
|
|
|
1782
1407
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1793,7 +1418,6 @@ def split(
|
|
|
1793
1418
|
isovert_map:
|
|
1794
1419
|
|
|
1795
1420
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
1796
|
-
:rtype: dict[str, typing.Any]
|
|
1797
1421
|
"""
|
|
1798
1422
|
|
|
1799
1423
|
def split_edges(
|
|
@@ -1805,18 +1429,13 @@ def split_edges(
|
|
|
1805
1429
|
"""Edge Split.Disconnects faces along input edges.
|
|
1806
1430
|
|
|
1807
1431
|
:param bm: The bmesh to operate on.
|
|
1808
|
-
:type bm: bmesh.types.BMesh
|
|
1809
1432
|
:param edges: Input edges.
|
|
1810
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1811
1433
|
:param verts: Optional tag verts, use to have greater control of splits.
|
|
1812
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1813
1434
|
:param use_verts: Use verts for splitting, else just find verts to split from edges.
|
|
1814
|
-
:type use_verts: bool
|
|
1815
1435
|
:return: edges:
|
|
1816
1436
|
Old output disconnected edges.
|
|
1817
1437
|
|
|
1818
1438
|
type list of (`bmesh.types.BMEdge`)
|
|
1819
|
-
:rtype: dict[str, typing.Any]
|
|
1820
1439
|
"""
|
|
1821
1440
|
|
|
1822
1441
|
def subdivide_edgering(
|
|
@@ -1833,24 +1452,16 @@ def subdivide_edgering(
|
|
|
1833
1452
|
"""Subdivide Edge-Ring.Take an edge-ring, and subdivide with interpolation options.
|
|
1834
1453
|
|
|
1835
1454
|
:param bm: The bmesh to operate on.
|
|
1836
|
-
:type bm: bmesh.types.BMesh
|
|
1837
1455
|
:param edges: Input vertices.
|
|
1838
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1839
1456
|
:param interp_mode: Interpolation method.
|
|
1840
|
-
:type interp_mode: typing.Literal['LINEAR','PATH','SURFACE']
|
|
1841
1457
|
:param smooth: Smoothness factor.
|
|
1842
|
-
:type smooth: float
|
|
1843
1458
|
:param cuts: Number of cuts.
|
|
1844
|
-
:type cuts: int
|
|
1845
1459
|
:param profile_shape: Profile shape type.
|
|
1846
|
-
:type profile_shape: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
|
|
1847
1460
|
:param profile_shape_factor: How much intermediary new edges are shrunk/expanded.
|
|
1848
|
-
:type profile_shape_factor: float
|
|
1849
1461
|
:return: faces:
|
|
1850
1462
|
Output faces.
|
|
1851
1463
|
|
|
1852
1464
|
type list of (`bmesh.types.BMFace`)
|
|
1853
|
-
:rtype: dict[str, typing.Any]
|
|
1854
1465
|
"""
|
|
1855
1466
|
|
|
1856
1467
|
def subdivide_edges(
|
|
@@ -1879,35 +1490,21 @@ def subdivide_edges(
|
|
|
1879
1490
|
with options for face patterns, smoothing and randomization.
|
|
1880
1491
|
|
|
1881
1492
|
:param bm: The bmesh to operate on.
|
|
1882
|
-
:type bm: bmesh.types.BMesh
|
|
1883
1493
|
:param edges: Input edges.
|
|
1884
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
1885
1494
|
:param smooth: Smoothness factor.
|
|
1886
|
-
:type smooth: float
|
|
1887
1495
|
:param smooth_falloff: Smooth falloff type.
|
|
1888
|
-
:type smooth_falloff: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
|
|
1889
1496
|
:param fractal: Fractal randomness factor.
|
|
1890
|
-
:type fractal: float
|
|
1891
1497
|
:param along_normal: Apply fractal displacement along normal only.
|
|
1892
|
-
:type along_normal: float
|
|
1893
1498
|
:param cuts: Number of cuts.
|
|
1894
|
-
:type cuts: int
|
|
1895
1499
|
:param seed: Seed for the random number generator.
|
|
1896
|
-
:type seed: int
|
|
1897
1500
|
:param custom_patterns: Uses custom pointers.
|
|
1898
1501
|
:param edge_percents: Undocumented.
|
|
1899
1502
|
:param quad_corner_type: Quad corner type.
|
|
1900
|
-
:type quad_corner_type: typing.Literal['STRAIGHT_CUT','INNER_VERT','PATH','FAN']
|
|
1901
1503
|
:param use_grid_fill: Fill in fully-selected faces with a grid.
|
|
1902
|
-
:type use_grid_fill: bool
|
|
1903
1504
|
:param use_single_edge: Tessellate the case of one edge selected in a quad or triangle.
|
|
1904
|
-
:type use_single_edge: bool
|
|
1905
1505
|
:param use_only_quads: Only subdivide quads (for loop-cut).
|
|
1906
|
-
:type use_only_quads: bool
|
|
1907
1506
|
:param use_sphere: For making new primitives only.
|
|
1908
|
-
:type use_sphere: bool
|
|
1909
1507
|
:param use_smooth_even: Maintain even offset when smoothing.
|
|
1910
|
-
:type use_smooth_even: bool
|
|
1911
1508
|
:return: geom_inner:
|
|
1912
1509
|
|
|
1913
1510
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1920,7 +1517,6 @@ def subdivide_edges(
|
|
|
1920
1517
|
Contains all output geometry.
|
|
1921
1518
|
|
|
1922
1519
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1923
|
-
:rtype: dict[str, typing.Any]
|
|
1924
1520
|
"""
|
|
1925
1521
|
|
|
1926
1522
|
def symmetrize(
|
|
@@ -1938,19 +1534,13 @@ def symmetrize(
|
|
|
1938
1534
|
symmetry are split as needed to enforce symmetry.All new vertices, edges, and faces are added to the "geom.out" slot.
|
|
1939
1535
|
|
|
1940
1536
|
:param bm: The bmesh to operate on.
|
|
1941
|
-
:type bm: bmesh.types.BMesh
|
|
1942
1537
|
:param input: Input geometry.
|
|
1943
|
-
:type input: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
|
|
1944
1538
|
:param direction: Axis to use.
|
|
1945
|
-
:type direction: typing.Literal['-X','-Y','-Z','X','Y','Z']
|
|
1946
1539
|
:param dist: Minimum distance.
|
|
1947
|
-
:type dist: float
|
|
1948
1540
|
:param use_shapekey: Transform shape keys too.
|
|
1949
|
-
:type use_shapekey: bool
|
|
1950
1541
|
:return: geom:
|
|
1951
1542
|
|
|
1952
1543
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
1953
|
-
:rtype: dict[str, typing.Any]
|
|
1954
1544
|
"""
|
|
1955
1545
|
|
|
1956
1546
|
def transform(
|
|
@@ -1966,15 +1556,10 @@ def transform(
|
|
|
1966
1556
|
the vertex coordinates with the matrix.
|
|
1967
1557
|
|
|
1968
1558
|
:param bm: The bmesh to operate on.
|
|
1969
|
-
:type bm: bmesh.types.BMesh
|
|
1970
1559
|
:param matrix: Transform matrix.
|
|
1971
|
-
:type matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1972
1560
|
:param space: Matrix to define the space (typically object matrix).
|
|
1973
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1974
1561
|
:param verts: Input vertices.
|
|
1975
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1976
1562
|
:param use_shapekey: Transform shape keys too.
|
|
1977
|
-
:type use_shapekey: bool
|
|
1978
1563
|
"""
|
|
1979
1564
|
|
|
1980
1565
|
def translate(
|
|
@@ -1988,15 +1573,10 @@ def translate(
|
|
|
1988
1573
|
"""Translate.Translate vertices by an offset.
|
|
1989
1574
|
|
|
1990
1575
|
:param bm: The bmesh to operate on.
|
|
1991
|
-
:type bm: bmesh.types.BMesh
|
|
1992
1576
|
:param vec: Translation offset.
|
|
1993
|
-
:type vec: collections.abc.Sequence[float] | mathutils.Vector
|
|
1994
1577
|
:param space: Matrix to define the space (typically object matrix).
|
|
1995
|
-
:type space: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
1996
1578
|
:param verts: Input vertices.
|
|
1997
|
-
:type verts: list[bmesh.types.BMVert]
|
|
1998
1579
|
:param use_shapekey: Transform shape keys too.
|
|
1999
|
-
:type use_shapekey: bool
|
|
2000
1580
|
"""
|
|
2001
1581
|
|
|
2002
1582
|
def triangle_fill(
|
|
@@ -2009,20 +1589,14 @@ def triangle_fill(
|
|
|
2009
1589
|
"""Triangle Fill.Fill edges with triangles
|
|
2010
1590
|
|
|
2011
1591
|
:param bm: The bmesh to operate on.
|
|
2012
|
-
:type bm: bmesh.types.BMesh
|
|
2013
1592
|
:param use_beauty: Use best triangulation division.
|
|
2014
|
-
:type use_beauty: bool
|
|
2015
1593
|
:param use_dissolve: Dissolve resulting faces.
|
|
2016
|
-
:type use_dissolve: bool
|
|
2017
1594
|
:param edges: Input edges.
|
|
2018
|
-
:type edges: list[bmesh.types.BMEdge]
|
|
2019
1595
|
:param normal: Optionally pass the fill normal to use.
|
|
2020
|
-
:type normal: collections.abc.Sequence[float] | mathutils.Vector
|
|
2021
1596
|
:return: geom:
|
|
2022
1597
|
New faces and edges.
|
|
2023
1598
|
|
|
2024
1599
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
2025
|
-
:rtype: dict[str, typing.Any]
|
|
2026
1600
|
"""
|
|
2027
1601
|
|
|
2028
1602
|
def triangulate(
|
|
@@ -2036,13 +1610,9 @@ def triangulate(
|
|
|
2036
1610
|
"""Triangulate.
|
|
2037
1611
|
|
|
2038
1612
|
:param bm: The bmesh to operate on.
|
|
2039
|
-
:type bm: bmesh.types.BMesh
|
|
2040
1613
|
:param faces: Input faces.
|
|
2041
|
-
:type faces: list[bmesh.types.BMFace]
|
|
2042
1614
|
:param quad_method: Method for splitting the quads into triangles.
|
|
2043
|
-
:type quad_method: typing.Literal['BEAUTY','FIXED','ALTERNATE','SHORT_EDGE','LONG_EDGE']
|
|
2044
1615
|
:param ngon_method: Method for splitting the polygons into triangles.
|
|
2045
|
-
:type ngon_method: typing.Literal['BEAUTY','EAR_CLIP']
|
|
2046
1616
|
:return: edges:
|
|
2047
1617
|
|
|
2048
1618
|
type list of (`bmesh.types.BMEdge`)
|
|
@@ -2059,7 +1629,6 @@ def triangulate(
|
|
|
2059
1629
|
Duplicate faces.
|
|
2060
1630
|
|
|
2061
1631
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
2062
|
-
:rtype: dict[str, typing.Any]
|
|
2063
1632
|
"""
|
|
2064
1633
|
|
|
2065
1634
|
def unsubdivide(
|
|
@@ -2068,21 +1637,19 @@ def unsubdivide(
|
|
|
2068
1637
|
"""Un-Subdivide.Reduce detail in geometry containing grids.
|
|
2069
1638
|
|
|
2070
1639
|
:param bm: The bmesh to operate on.
|
|
2071
|
-
:type bm: bmesh.types.BMesh
|
|
2072
1640
|
:param verts: Input vertices.
|
|
2073
|
-
:type verts: list[bmesh.types.BMVert]
|
|
2074
1641
|
:param iterations: Number of times to unsubdivide.
|
|
2075
|
-
:type iterations: int
|
|
2076
1642
|
"""
|
|
2077
1643
|
|
|
2078
|
-
def weld_verts(bm: bmesh.types.BMesh, targetmap={}) -> None:
|
|
1644
|
+
def weld_verts(bm: bmesh.types.BMesh, targetmap={}, use_centroid: bool = False) -> None:
|
|
2079
1645
|
"""Weld Verts.Welds verts together (kind-of like remove doubles, merge, etc, all of which
|
|
2080
1646
|
use or will use this BMOP). You pass in mappings from vertices to the vertices
|
|
2081
1647
|
they weld with.
|
|
2082
1648
|
|
|
2083
1649
|
:param bm: The bmesh to operate on.
|
|
2084
|
-
:type bm: bmesh.types.BMesh
|
|
2085
1650
|
:param targetmap: Maps welded vertices to verts they should weld to.
|
|
1651
|
+
:param use_centroid: Merged vertices to their centroid position,
|
|
1652
|
+
otherwise the position of the target vertex is used.
|
|
2086
1653
|
"""
|
|
2087
1654
|
|
|
2088
1655
|
def wireframe(
|
|
@@ -2101,30 +1668,18 @@ def wireframe(
|
|
|
2101
1668
|
"""Wire Frame.Makes a wire-frame copy of faces.
|
|
2102
1669
|
|
|
2103
1670
|
:param bm: The bmesh to operate on.
|
|
2104
|
-
:type bm: bmesh.types.BMesh
|
|
2105
1671
|
:param faces: Input faces.
|
|
2106
|
-
:type faces: list[bmesh.types.BMFace]
|
|
2107
1672
|
:param thickness: Thickness.
|
|
2108
|
-
:type thickness: float
|
|
2109
1673
|
:param offset: Offset the thickness from the center.
|
|
2110
|
-
:type offset: float
|
|
2111
1674
|
:param use_replace: Remove original geometry.
|
|
2112
|
-
:type use_replace: bool
|
|
2113
1675
|
:param use_boundary: Inset face boundaries.
|
|
2114
|
-
:type use_boundary: bool
|
|
2115
1676
|
:param use_even_offset: Scale the offset to give more even thickness.
|
|
2116
|
-
:type use_even_offset: bool
|
|
2117
1677
|
:param use_crease: Crease hub edges for improved subdivision surface.
|
|
2118
|
-
:type use_crease: bool
|
|
2119
1678
|
:param crease_weight: The mean crease weight for resulting edges.
|
|
2120
|
-
:type crease_weight: float
|
|
2121
1679
|
:param use_relative_offset: Scale the offset by surrounding geometry.
|
|
2122
|
-
:type use_relative_offset: bool
|
|
2123
1680
|
:param material_offset: Offset material index of generated faces.
|
|
2124
|
-
:type material_offset: int
|
|
2125
1681
|
:return: faces:
|
|
2126
1682
|
Output faces.
|
|
2127
1683
|
|
|
2128
1684
|
type list of (`bmesh.types.BMFace`)
|
|
2129
|
-
:rtype: dict[str, typing.Any]
|
|
2130
1685
|
"""
|