fake-bpy-module 20240411__py3-none-any.whl → 20240418__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fake-bpy-module might be problematic. Click here for more details.
- _bpy_internal/__init__.pyi +4 -0
- _bpy_internal/freedesktop/__init__.pyi +88 -0
- _bpy_internal/freedesktop/py.typed +0 -0
- _bpy_internal/py.typed +0 -0
- aud/__init__.pyi +121 -48
- bgl/__init__.pyi +2443 -1265
- bl_math/__init__.pyi +19 -3
- bl_operators/presets/__init__.pyi +7 -0
- bl_ui/node_add_menu/__init__.pyi +1 -1
- bl_ui/properties_data_lightprobe/__init__.pyi +1134 -0
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +3 -0
- bl_ui/properties_physics_fluid/__init__.pyi +3 -0
- bl_ui/space_toolsystem_toolbar/__init__.pyi +17 -0
- bl_ui/space_userpref/__init__.pyi +13 -4
- bl_ui/space_view3d/__init__.pyi +190 -0
- blf/__init__.pyi +63 -13
- bmesh/__init__.pyi +13 -0
- bmesh/geometry/__init__.pyi +5 -0
- bmesh/ops/__init__.pyi +157 -68
- bmesh/types/__init__.pyi +109 -62
- bmesh/utils/__init__.pyi +11 -2
- bpy/__init__.pyi +7 -0
- bpy/app/__init__.pyi +13 -0
- bpy/app/handlers/__init__.pyi +41 -0
- bpy/app/icons/__init__.pyi +4 -2
- bpy/app/timers/__init__.pyi +38 -2
- bpy/app/translations/__init__.pyi +59 -1
- bpy/msgbus/__init__.pyi +46 -0
- bpy/ops/__init__.pyi +151 -0
- bpy/ops/action/__init__.pyi +76 -76
- bpy/ops/anim/__init__.pyi +104 -104
- bpy/ops/armature/__init__.pyi +96 -96
- bpy/ops/asset/__init__.pyi +32 -32
- bpy/ops/boid/__init__.pyi +16 -16
- bpy/ops/brush/__init__.pyi +18 -18
- bpy/ops/buttons/__init__.pyi +12 -12
- bpy/ops/cachefile/__init__.pyi +10 -10
- bpy/ops/camera/__init__.pyi +4 -4
- bpy/ops/clip/__init__.pyi +184 -184
- bpy/ops/cloth/__init__.pyi +2 -2
- bpy/ops/collection/__init__.pyi +18 -18
- bpy/ops/console/__init__.pyi +42 -42
- bpy/ops/constraint/__init__.pyi +36 -36
- bpy/ops/curve/__init__.pyi +102 -102
- bpy/ops/curves/__init__.pyi +132 -50
- bpy/ops/cycles/__init__.pyi +6 -6
- bpy/ops/dpaint/__init__.pyi +10 -10
- bpy/ops/ed/__init__.pyi +24 -24
- bpy/ops/export_anim/__init__.pyi +2 -2
- bpy/ops/export_mesh/__init__.pyi +2 -2
- bpy/ops/export_scene/__init__.pyi +11 -8
- bpy/ops/file/__init__.pyi +80 -80
- bpy/ops/fluid/__init__.pyi +28 -28
- bpy/ops/font/__init__.pyi +46 -46
- bpy/ops/geometry/__init__.pyi +20 -20
- bpy/ops/gizmogroup/__init__.pyi +4 -4
- bpy/ops/gpencil/__init__.pyi +300 -300
- bpy/ops/graph/__init__.pyi +130 -130
- bpy/ops/grease_pencil/__init__.pyi +139 -110
- bpy/ops/image/__init__.pyi +92 -92
- bpy/ops/import_anim/__init__.pyi +2 -2
- bpy/ops/import_curve/__init__.pyi +2 -2
- bpy/ops/import_mesh/__init__.pyi +2 -2
- bpy/ops/import_scene/__init__.pyi +6 -6
- bpy/ops/info/__init__.pyi +14 -14
- bpy/ops/lattice/__init__.pyi +16 -16
- bpy/ops/marker/__init__.pyi +22 -22
- bpy/ops/mask/__init__.pyi +78 -78
- bpy/ops/material/__init__.pyi +6 -6
- bpy/ops/mball/__init__.pyi +16 -16
- bpy/ops/mesh/__init__.pyi +327 -327
- bpy/ops/nla/__init__.pyi +80 -80
- bpy/ops/node/__init__.pyi +203 -203
- bpy/ops/object/__init__.pyi +496 -508
- bpy/ops/outliner/__init__.pyi +139 -139
- bpy/ops/paint/__init__.pyi +104 -104
- bpy/ops/paintcurve/__init__.pyi +16 -16
- bpy/ops/palette/__init__.pyi +14 -14
- bpy/ops/particle/__init__.pyi +72 -72
- bpy/ops/pose/__init__.pyi +78 -78
- bpy/ops/poselib/__init__.pyi +18 -18
- bpy/ops/preferences/__init__.pyi +77 -77
- bpy/ops/ptcache/__init__.pyi +14 -14
- bpy/ops/render/__init__.pyi +24 -24
- bpy/ops/rigidbody/__init__.pyi +26 -26
- bpy/ops/scene/__init__.pyi +78 -78
- bpy/ops/screen/__init__.pyi +78 -78
- bpy/ops/script/__init__.pyi +6 -6
- bpy/ops/sculpt/__init__.pyi +68 -62
- bpy/ops/sculpt_curves/__init__.pyi +8 -8
- bpy/ops/sequencer/__init__.pyi +170 -170
- bpy/ops/sound/__init__.pyi +14 -14
- bpy/ops/spreadsheet/__init__.pyi +8 -8
- bpy/ops/surface/__init__.pyi +12 -12
- bpy/ops/text/__init__.pyi +86 -86
- bpy/ops/text_editor/__init__.pyi +2 -2
- bpy/ops/texture/__init__.pyi +8 -8
- bpy/ops/transform/__init__.pyi +54 -54
- bpy/ops/ui/__init__.pyi +64 -64
- bpy/ops/uilist/__init__.pyi +6 -6
- bpy/ops/uv/__init__.pyi +98 -98
- bpy/ops/view2d/__init__.pyi +28 -28
- bpy/ops/view3d/__init__.pyi +134 -134
- bpy/ops/wm/__init__.pyi +225 -225
- bpy/ops/workspace/__init__.pyi +14 -14
- bpy/ops/world/__init__.pyi +2 -2
- bpy/path/__init__.pyi +6 -0
- bpy/props/__init__.pyi +141 -29
- bpy/types/__init__.pyi +101773 -5222
- bpy/utils/__init__.pyi +18 -3
- bpy/utils/previews/__init__.pyi +15 -0
- bpy/utils/units/__init__.pyi +11 -3
- bpy_extras/__init__.pyi +19 -0
- bpy_extras/asset_utils/__init__.pyi +5 -0
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/METADATA +1 -1
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/RECORD +145 -141
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/top_level.txt +1 -0
- freestyle/__init__.pyi +18 -0
- freestyle/chainingiterators/__init__.pyi +20 -5
- freestyle/functions/__init__.pyi +151 -155
- freestyle/predicates/__init__.pyi +53 -46
- freestyle/shaders/__init__.pyi +91 -32
- freestyle/types/__init__.pyi +362 -120
- freestyle/utils/ContextFunctions/__init__.pyi +32 -7
- freestyle/utils/__init__.pyi +13 -1
- gpu/__init__.pyi +225 -0
- gpu/capabilities/__init__.pyi +37 -15
- gpu/matrix/__init__.pyi +7 -1
- gpu/platform/__init__.pyi +5 -0
- gpu/select/__init__.pyi +5 -0
- gpu/shader/__init__.pyi +77 -0
- gpu/state/__init__.pyi +15 -4
- gpu/texture/__init__.pyi +5 -0
- gpu/types/__init__.pyi +91 -33
- gpu_extras/__init__.pyi +15 -0
- gpu_extras/presets/__init__.pyi +16 -4
- imbuf/__init__.pyi +13 -0
- imbuf/types/__init__.pyi +20 -5
- mathutils/__init__.pyi +349 -227
- mathutils/bvhtree/__init__.pyi +21 -8
- mathutils/geometry/__init__.pyi +23 -9
- mathutils/interpolate/__init__.pyi +5 -0
- mathutils/kdtree/__init__.pyi +19 -5
- mathutils/noise/__init__.pyi +87 -41
- {fake_bpy_module-20240411.dist-info → fake_bpy_module-20240418.dist-info}/WHEEL +0 -0
bmesh/ops/__init__.pyi
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module gives access to low level bmesh operations.
|
|
3
|
+
|
|
4
|
+
Most operators take input and return output, they can be chained together
|
|
5
|
+
to perform useful operations.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
--------------------
|
|
9
|
+
|
|
10
|
+
This script shows how operators can be used to model a link of a chain.
|
|
11
|
+
|
|
12
|
+
```__/examples/bmesh.ops.1.py```
|
|
13
|
+
|
|
14
|
+
"""
|
|
15
|
+
|
|
1
16
|
import typing
|
|
2
17
|
import bmesh.types
|
|
3
18
|
import bpy.types
|
|
@@ -54,14 +69,14 @@ def bevel(
|
|
|
54
69
|
typing.List[bmesh.types.BMEdge],
|
|
55
70
|
typing.List[bmesh.types.BMFace],
|
|
56
71
|
] = [],
|
|
57
|
-
offset=0,
|
|
72
|
+
offset: float = 0,
|
|
58
73
|
offset_type: typing.Union[str, int] = "OFFSET",
|
|
59
74
|
profile_type: typing.Union[str, int] = "SUPERELLIPSE",
|
|
60
|
-
segments=0,
|
|
61
|
-
profile=0,
|
|
75
|
+
segments: int = 0,
|
|
76
|
+
profile: float = 0,
|
|
62
77
|
affect: typing.Union[str, int] = "VERTICES",
|
|
63
78
|
clamp_overlap: bool = False,
|
|
64
|
-
material=0,
|
|
79
|
+
material: int = 0,
|
|
65
80
|
loop_slide: bool = False,
|
|
66
81
|
mark_seam: bool = False,
|
|
67
82
|
mark_sharp: bool = False,
|
|
@@ -69,7 +84,7 @@ def bevel(
|
|
|
69
84
|
face_strength_mode: typing.Union[str, int] = "NONE",
|
|
70
85
|
miter_outer: typing.Union[str, int] = "SHARP",
|
|
71
86
|
miter_inner: typing.Union[str, int] = "SHARP",
|
|
72
|
-
spread=0,
|
|
87
|
+
spread: float = 0,
|
|
73
88
|
custom_profile: bpy.types.bpy_struct = None,
|
|
74
89
|
vmesh_method: typing.Union[str, int] = "ADJ",
|
|
75
90
|
) -> typing.Dict:
|
|
@@ -80,17 +95,21 @@ def bevel(
|
|
|
80
95
|
:param geom: input edges and vertices
|
|
81
96
|
:type geom: typing.Union[typing.List[bmesh.types.BMVert], typing.List[bmesh.types.BMEdge], typing.List[bmesh.types.BMFace]]
|
|
82
97
|
:param offset: amount to offset beveled edge
|
|
98
|
+
:type offset: float
|
|
83
99
|
:param offset_type: how to measure the offset
|
|
84
100
|
:type offset_type: typing.Union[str, int]
|
|
85
101
|
:param profile_type: The profile type to use for bevel.
|
|
86
102
|
:type profile_type: typing.Union[str, int]
|
|
87
103
|
:param segments: number of segments in bevel
|
|
104
|
+
:type segments: int
|
|
88
105
|
:param profile: profile shape, 0->1 (.5=>round)
|
|
106
|
+
:type profile: float
|
|
89
107
|
:param affect: Whether to bevel vertices or edges.
|
|
90
108
|
:type affect: typing.Union[str, int]
|
|
91
109
|
:param clamp_overlap: do not allow beveled edges/vertices to overlap each other
|
|
92
110
|
:type clamp_overlap: bool
|
|
93
111
|
:param material: material for bevel faces, -1 means get from adjacent faces
|
|
112
|
+
:type material: int
|
|
94
113
|
:param loop_slide: prefer to slide along edges to having even widths
|
|
95
114
|
:type loop_slide: bool
|
|
96
115
|
:param mark_seam: extend edge data to allow seams to run across bevels
|
|
@@ -106,6 +125,7 @@ def bevel(
|
|
|
106
125
|
:param miter_inner: outer miter kind
|
|
107
126
|
:type miter_inner: typing.Union[str, int]
|
|
108
127
|
:param spread: amount to offset beveled edge
|
|
128
|
+
:type spread: float
|
|
109
129
|
:param custom_profile: CurveProfile, if None ignored
|
|
110
130
|
:type custom_profile: bpy.types.bpy_struct
|
|
111
131
|
:param vmesh_method: The method to use to create meshes at intersections.
|
|
@@ -129,7 +149,7 @@ def bevel(
|
|
|
129
149
|
def bisect_edges(
|
|
130
150
|
bm: bmesh.types.BMesh,
|
|
131
151
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
132
|
-
cuts=0,
|
|
152
|
+
cuts: int = 0,
|
|
133
153
|
edge_percents={},
|
|
134
154
|
) -> typing.Dict:
|
|
135
155
|
"""Edge Bisect.Splits input edges (but doesn't do anything else).
|
|
@@ -140,6 +160,7 @@ def bisect_edges(
|
|
|
140
160
|
:param edges: input edges
|
|
141
161
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
142
162
|
:param cuts: number of cuts
|
|
163
|
+
:type cuts: int
|
|
143
164
|
:param edge_percents: Undocumented.
|
|
144
165
|
:return: geom_split: newly created vertices and edges
|
|
145
166
|
|
|
@@ -156,7 +177,7 @@ def bisect_plane(
|
|
|
156
177
|
typing.List[bmesh.types.BMEdge],
|
|
157
178
|
typing.List[bmesh.types.BMFace],
|
|
158
179
|
] = [],
|
|
159
|
-
dist=0,
|
|
180
|
+
dist: float = 0,
|
|
160
181
|
plane_co: typing.Union[typing.Sequence[float], mathutils.Vector] = None(),
|
|
161
182
|
plane_no: typing.Union[typing.Sequence[float], mathutils.Vector] = None(),
|
|
162
183
|
use_snap_center: bool = False,
|
|
@@ -170,6 +191,7 @@ def bisect_plane(
|
|
|
170
191
|
:param geom: input geometry
|
|
171
192
|
:type geom: typing.Union[typing.List[bmesh.types.BMVert], typing.List[bmesh.types.BMEdge], typing.List[bmesh.types.BMFace]]
|
|
172
193
|
:param dist: minimum distance when testing if a vert is exactly on the plane
|
|
194
|
+
:type dist: float
|
|
173
195
|
:param plane_co: point on the plane
|
|
174
196
|
:type plane_co: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
175
197
|
:param plane_no: direction of the plane
|
|
@@ -213,8 +235,8 @@ def bridge_loops(
|
|
|
213
235
|
use_pairs: bool = False,
|
|
214
236
|
use_cyclic: bool = False,
|
|
215
237
|
use_merge: bool = False,
|
|
216
|
-
merge_factor=0,
|
|
217
|
-
twist_offset=0,
|
|
238
|
+
merge_factor: float = 0,
|
|
239
|
+
twist_offset: int = 0,
|
|
218
240
|
) -> typing.Dict:
|
|
219
241
|
"""Bridge edge loops with faces.
|
|
220
242
|
|
|
@@ -229,7 +251,9 @@ def bridge_loops(
|
|
|
229
251
|
:param use_merge: merge rather than creating faces
|
|
230
252
|
:type use_merge: bool
|
|
231
253
|
:param merge_factor: merge factor
|
|
254
|
+
:type merge_factor: float
|
|
232
255
|
:param twist_offset: twist offset for closed loops
|
|
256
|
+
:type twist_offset: int
|
|
233
257
|
:return: faces: new faces
|
|
234
258
|
|
|
235
259
|
type list of (`bmesh.types.BMFace`)
|
|
@@ -340,13 +364,16 @@ def connect_verts_concave(
|
|
|
340
364
|
...
|
|
341
365
|
|
|
342
366
|
def connect_verts_nonplanar(
|
|
343
|
-
bm: bmesh.types.BMesh,
|
|
367
|
+
bm: bmesh.types.BMesh,
|
|
368
|
+
angle_limit: float = 0,
|
|
369
|
+
faces: typing.List[bmesh.types.BMFace] = [],
|
|
344
370
|
) -> typing.Dict:
|
|
345
371
|
"""Connect Verts Across non Planer Faces.Split faces by connecting edges along non planer faces.
|
|
346
372
|
|
|
347
373
|
:param bm: The bmesh to operate on.
|
|
348
374
|
:type bm: bmesh.types.BMesh
|
|
349
375
|
:param angle_limit: total rotation angle (radians)
|
|
376
|
+
:type angle_limit: float
|
|
350
377
|
:param faces: input faces
|
|
351
378
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
352
379
|
:return: edges:
|
|
@@ -368,7 +395,7 @@ def contextual_create(
|
|
|
368
395
|
typing.List[bmesh.types.BMEdge],
|
|
369
396
|
typing.List[bmesh.types.BMFace],
|
|
370
397
|
] = [],
|
|
371
|
-
mat_nr=0,
|
|
398
|
+
mat_nr: int = 0,
|
|
372
399
|
use_smooth: bool = False,
|
|
373
400
|
) -> typing.Dict:
|
|
374
401
|
"""Contextual Create.This is basically F-key, it creates
|
|
@@ -381,6 +408,7 @@ def contextual_create(
|
|
|
381
408
|
:param geom: input geometry.
|
|
382
409
|
:type geom: typing.Union[typing.List[bmesh.types.BMVert], typing.List[bmesh.types.BMEdge], typing.List[bmesh.types.BMFace]]
|
|
383
410
|
:param mat_nr: material to use
|
|
411
|
+
:type mat_nr: int
|
|
384
412
|
:param use_smooth: smooth to use
|
|
385
413
|
:type use_smooth: bool
|
|
386
414
|
:return: faces: newly-made face(s)
|
|
@@ -442,8 +470,8 @@ def create_circle(
|
|
|
442
470
|
bm: bmesh.types.BMesh,
|
|
443
471
|
cap_ends: bool = False,
|
|
444
472
|
cap_tris: bool = False,
|
|
445
|
-
segments=0,
|
|
446
|
-
radius=0,
|
|
473
|
+
segments: int = 0,
|
|
474
|
+
radius: float = 0,
|
|
447
475
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
448
476
|
calc_uvs: bool = False,
|
|
449
477
|
) -> typing.Dict:
|
|
@@ -456,7 +484,9 @@ def create_circle(
|
|
|
456
484
|
:param cap_tris: fill ends with triangles instead of ngons
|
|
457
485
|
:type cap_tris: bool
|
|
458
486
|
:param segments: number of vertices in the circle
|
|
487
|
+
:type segments: int
|
|
459
488
|
:param radius: Radius of the circle.
|
|
489
|
+
:type radius: float
|
|
460
490
|
:param matrix: matrix to multiply the new geometry with
|
|
461
491
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
462
492
|
:param calc_uvs: calculate default UVs
|
|
@@ -473,10 +503,10 @@ def create_cone(
|
|
|
473
503
|
bm: bmesh.types.BMesh,
|
|
474
504
|
cap_ends: bool = False,
|
|
475
505
|
cap_tris: bool = False,
|
|
476
|
-
segments=0,
|
|
477
|
-
radius1=0,
|
|
478
|
-
radius2=0,
|
|
479
|
-
depth=0,
|
|
506
|
+
segments: int = 0,
|
|
507
|
+
radius1: float = 0,
|
|
508
|
+
radius2: float = 0,
|
|
509
|
+
depth: float = 0,
|
|
480
510
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
481
511
|
calc_uvs: bool = False,
|
|
482
512
|
) -> typing.Dict:
|
|
@@ -489,9 +519,13 @@ def create_cone(
|
|
|
489
519
|
:param cap_tris: fill ends with triangles instead of ngons
|
|
490
520
|
:type cap_tris: bool
|
|
491
521
|
:param segments: number of vertices in the base circle
|
|
522
|
+
:type segments: int
|
|
492
523
|
:param radius1: radius of one end
|
|
524
|
+
:type radius1: float
|
|
493
525
|
:param radius2: radius of the opposite
|
|
526
|
+
:type radius2: float
|
|
494
527
|
:param depth: distance between ends
|
|
528
|
+
:type depth: float
|
|
495
529
|
:param matrix: matrix to multiply the new geometry with
|
|
496
530
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
497
531
|
:param calc_uvs: calculate default UVs
|
|
@@ -506,7 +540,7 @@ def create_cone(
|
|
|
506
540
|
|
|
507
541
|
def create_cube(
|
|
508
542
|
bm: bmesh.types.BMesh,
|
|
509
|
-
size=0,
|
|
543
|
+
size: float = 0,
|
|
510
544
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
511
545
|
calc_uvs: bool = False,
|
|
512
546
|
) -> typing.Dict:
|
|
@@ -515,6 +549,7 @@ def create_cube(
|
|
|
515
549
|
:param bm: The bmesh to operate on.
|
|
516
550
|
:type bm: bmesh.types.BMesh
|
|
517
551
|
:param size: size of the cube
|
|
552
|
+
:type size: float
|
|
518
553
|
:param matrix: matrix to multiply the new geometry with
|
|
519
554
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
520
555
|
:param calc_uvs: calculate default UVs
|
|
@@ -529,9 +564,9 @@ def create_cube(
|
|
|
529
564
|
|
|
530
565
|
def create_grid(
|
|
531
566
|
bm: bmesh.types.BMesh,
|
|
532
|
-
x_segments=0,
|
|
533
|
-
y_segments=0,
|
|
534
|
-
size=0,
|
|
567
|
+
x_segments: int = 0,
|
|
568
|
+
y_segments: int = 0,
|
|
569
|
+
size: float = 0,
|
|
535
570
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
536
571
|
calc_uvs: bool = False,
|
|
537
572
|
) -> typing.Dict:
|
|
@@ -540,8 +575,11 @@ def create_grid(
|
|
|
540
575
|
:param bm: The bmesh to operate on.
|
|
541
576
|
:type bm: bmesh.types.BMesh
|
|
542
577
|
:param x_segments: number of x segments
|
|
578
|
+
:type x_segments: int
|
|
543
579
|
:param y_segments: number of y segments
|
|
580
|
+
:type y_segments: int
|
|
544
581
|
:param size: size of the grid
|
|
582
|
+
:type size: float
|
|
545
583
|
:param matrix: matrix to multiply the new geometry with
|
|
546
584
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
547
585
|
:param calc_uvs: calculate default UVs
|
|
@@ -556,8 +594,8 @@ def create_grid(
|
|
|
556
594
|
|
|
557
595
|
def create_icosphere(
|
|
558
596
|
bm: bmesh.types.BMesh,
|
|
559
|
-
subdivisions=0,
|
|
560
|
-
radius=0,
|
|
597
|
+
subdivisions: int = 0,
|
|
598
|
+
radius: float = 0,
|
|
561
599
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
562
600
|
calc_uvs: bool = False,
|
|
563
601
|
) -> typing.Dict:
|
|
@@ -566,7 +604,9 @@ def create_icosphere(
|
|
|
566
604
|
:param bm: The bmesh to operate on.
|
|
567
605
|
:type bm: bmesh.types.BMesh
|
|
568
606
|
:param subdivisions: how many times to recursively subdivide the sphere
|
|
607
|
+
:type subdivisions: int
|
|
569
608
|
:param radius: radius
|
|
609
|
+
:type radius: float
|
|
570
610
|
:param matrix: matrix to multiply the new geometry with
|
|
571
611
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
572
612
|
:param calc_uvs: calculate default UVs
|
|
@@ -602,9 +642,9 @@ def create_monkey(
|
|
|
602
642
|
|
|
603
643
|
def create_uvsphere(
|
|
604
644
|
bm: bmesh.types.BMesh,
|
|
605
|
-
u_segments=0,
|
|
606
|
-
v_segments=0,
|
|
607
|
-
radius=0,
|
|
645
|
+
u_segments: int = 0,
|
|
646
|
+
v_segments: int = 0,
|
|
647
|
+
radius: float = 0,
|
|
608
648
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
609
649
|
calc_uvs: bool = False,
|
|
610
650
|
) -> typing.Dict:
|
|
@@ -613,8 +653,11 @@ def create_uvsphere(
|
|
|
613
653
|
:param bm: The bmesh to operate on.
|
|
614
654
|
:type bm: bmesh.types.BMesh
|
|
615
655
|
:param u_segments: number of u segments
|
|
656
|
+
:type u_segments: int
|
|
616
657
|
:param v_segments: number of v segment
|
|
658
|
+
:type v_segments: int
|
|
617
659
|
:param radius: radius
|
|
660
|
+
:type radius: float
|
|
618
661
|
:param matrix: matrix to multiply the new geometry with
|
|
619
662
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
620
663
|
:param calc_uvs: calculate default UVs
|
|
@@ -668,13 +711,14 @@ def delete(
|
|
|
668
711
|
...
|
|
669
712
|
|
|
670
713
|
def dissolve_degenerate(
|
|
671
|
-
bm: bmesh.types.BMesh, dist=0, edges: typing.List[bmesh.types.BMEdge] = []
|
|
714
|
+
bm: bmesh.types.BMesh, dist: float = 0, edges: typing.List[bmesh.types.BMEdge] = []
|
|
672
715
|
):
|
|
673
716
|
"""Degenerate Dissolve.Dissolve edges with no length, faces with no area.
|
|
674
717
|
|
|
675
718
|
:param bm: The bmesh to operate on.
|
|
676
719
|
:type bm: bmesh.types.BMesh
|
|
677
720
|
:param dist: maximum distance to consider degenerate
|
|
721
|
+
:type dist: float
|
|
678
722
|
:param edges: input edges
|
|
679
723
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
680
724
|
"""
|
|
@@ -728,7 +772,7 @@ def dissolve_faces(
|
|
|
728
772
|
|
|
729
773
|
def dissolve_limit(
|
|
730
774
|
bm: bmesh.types.BMesh,
|
|
731
|
-
angle_limit=0,
|
|
775
|
+
angle_limit: float = 0,
|
|
732
776
|
use_dissolve_boundaries: bool = False,
|
|
733
777
|
verts: typing.List[bmesh.types.BMVert] = [],
|
|
734
778
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
@@ -739,6 +783,7 @@ def dissolve_limit(
|
|
|
739
783
|
:param bm: The bmesh to operate on.
|
|
740
784
|
:type bm: bmesh.types.BMesh
|
|
741
785
|
:param angle_limit: total rotation angle (radians)
|
|
786
|
+
:type angle_limit: float
|
|
742
787
|
:param use_dissolve_boundaries: dissolve all vertices in between face boundaries
|
|
743
788
|
:type use_dissolve_boundaries: bool
|
|
744
789
|
:param verts: input vertices
|
|
@@ -833,7 +878,7 @@ def duplicate(
|
|
|
833
878
|
def edgeloop_fill(
|
|
834
879
|
bm: bmesh.types.BMesh,
|
|
835
880
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
836
|
-
mat_nr=0,
|
|
881
|
+
mat_nr: int = 0,
|
|
837
882
|
use_smooth: bool = False,
|
|
838
883
|
) -> typing.Dict:
|
|
839
884
|
"""Edge Loop Fill.Create faces defined by one or more non overlapping edge loops.
|
|
@@ -843,6 +888,7 @@ def edgeloop_fill(
|
|
|
843
888
|
:param edges: input edges
|
|
844
889
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
845
890
|
:param mat_nr: material to use
|
|
891
|
+
:type mat_nr: int
|
|
846
892
|
:param use_smooth: smooth state to use
|
|
847
893
|
:type use_smooth: bool
|
|
848
894
|
:return: faces: new faces
|
|
@@ -856,9 +902,9 @@ def edgeloop_fill(
|
|
|
856
902
|
def edgenet_fill(
|
|
857
903
|
bm: bmesh.types.BMesh,
|
|
858
904
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
859
|
-
mat_nr=0,
|
|
905
|
+
mat_nr: int = 0,
|
|
860
906
|
use_smooth: bool = False,
|
|
861
|
-
sides=0,
|
|
907
|
+
sides: int = 0,
|
|
862
908
|
) -> typing.Dict:
|
|
863
909
|
"""Edge Net Fill.Create faces defined by enclosed edges.
|
|
864
910
|
|
|
@@ -867,9 +913,11 @@ def edgenet_fill(
|
|
|
867
913
|
:param edges: input edges
|
|
868
914
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
869
915
|
:param mat_nr: material to use
|
|
916
|
+
:type mat_nr: int
|
|
870
917
|
:param use_smooth: smooth state to use
|
|
871
918
|
:type use_smooth: bool
|
|
872
919
|
:param sides: number of sides
|
|
920
|
+
:type sides: int
|
|
873
921
|
:return: faces: new faces
|
|
874
922
|
|
|
875
923
|
type list of (`bmesh.types.BMFace`)
|
|
@@ -1037,7 +1085,7 @@ def find_doubles(
|
|
|
1037
1085
|
bm: bmesh.types.BMesh,
|
|
1038
1086
|
verts: typing.List[bmesh.types.BMVert] = [],
|
|
1039
1087
|
keep_verts: typing.List[bmesh.types.BMVert] = [],
|
|
1040
|
-
dist=0,
|
|
1088
|
+
dist: float = 0,
|
|
1041
1089
|
) -> typing.Dict:
|
|
1042
1090
|
"""Find Doubles.Takes input verts and find vertices they should weld to.
|
|
1043
1091
|
Outputs a mapping slot suitable for use with the weld verts BMOP.If keep_verts is used, vertices outside that set can only be merged
|
|
@@ -1050,6 +1098,7 @@ def find_doubles(
|
|
|
1050
1098
|
:param keep_verts: list of verts to keep
|
|
1051
1099
|
:type keep_verts: typing.List[bmesh.types.BMVert]
|
|
1052
1100
|
:param dist: maximum distance
|
|
1101
|
+
:type dist: float
|
|
1053
1102
|
:return: targetmap:
|
|
1054
1103
|
|
|
1055
1104
|
type dict mapping vert/edge/face types to `bmesh.types.BMVert`/`bmesh.types.BMEdge`/`bmesh.types.BMFace`
|
|
@@ -1074,7 +1123,7 @@ def flip_quad_tessellation(
|
|
|
1074
1123
|
def grid_fill(
|
|
1075
1124
|
bm: bmesh.types.BMesh,
|
|
1076
1125
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
1077
|
-
mat_nr=0,
|
|
1126
|
+
mat_nr: int = 0,
|
|
1078
1127
|
use_smooth: bool = False,
|
|
1079
1128
|
use_interp_simple: bool = False,
|
|
1080
1129
|
) -> typing.Dict:
|
|
@@ -1085,6 +1134,7 @@ def grid_fill(
|
|
|
1085
1134
|
:param edges: input edges
|
|
1086
1135
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
1087
1136
|
:param mat_nr: material to use
|
|
1137
|
+
:type mat_nr: int
|
|
1088
1138
|
:param use_smooth: smooth state to use
|
|
1089
1139
|
:type use_smooth: bool
|
|
1090
1140
|
:param use_interp_simple: use simple interpolation
|
|
@@ -1098,7 +1148,7 @@ def grid_fill(
|
|
|
1098
1148
|
...
|
|
1099
1149
|
|
|
1100
1150
|
def holes_fill(
|
|
1101
|
-
bm: bmesh.types.BMesh, edges: typing.List[bmesh.types.BMEdge] = [], sides=0
|
|
1151
|
+
bm: bmesh.types.BMesh, edges: typing.List[bmesh.types.BMEdge] = [], sides: int = 0
|
|
1102
1152
|
) -> typing.Dict:
|
|
1103
1153
|
"""Fill Holes.Fill boundary edges with faces, copying surrounding customdata.
|
|
1104
1154
|
|
|
@@ -1107,6 +1157,7 @@ def holes_fill(
|
|
|
1107
1157
|
:param edges: input edges
|
|
1108
1158
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
1109
1159
|
:param sides: number of face sides to fill
|
|
1160
|
+
:type sides: int
|
|
1110
1161
|
:return: faces: new faces
|
|
1111
1162
|
|
|
1112
1163
|
type list of (`bmesh.types.BMFace`)
|
|
@@ -1118,8 +1169,8 @@ def holes_fill(
|
|
|
1118
1169
|
def inset_individual(
|
|
1119
1170
|
bm: bmesh.types.BMesh,
|
|
1120
1171
|
faces: typing.List[bmesh.types.BMFace] = [],
|
|
1121
|
-
thickness=0,
|
|
1122
|
-
depth=0,
|
|
1172
|
+
thickness: float = 0,
|
|
1173
|
+
depth: float = 0,
|
|
1123
1174
|
use_even_offset: bool = False,
|
|
1124
1175
|
use_interpolate: bool = False,
|
|
1125
1176
|
use_relative_offset: bool = False,
|
|
@@ -1131,7 +1182,9 @@ def inset_individual(
|
|
|
1131
1182
|
:param faces: input faces
|
|
1132
1183
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
1133
1184
|
:param thickness: thickness
|
|
1185
|
+
:type thickness: float
|
|
1134
1186
|
:param depth: depth
|
|
1187
|
+
:type depth: float
|
|
1135
1188
|
:param use_even_offset: scale the offset to give more even thickness
|
|
1136
1189
|
:type use_even_offset: bool
|
|
1137
1190
|
:param use_interpolate: blend face data across the inset
|
|
@@ -1155,8 +1208,8 @@ def inset_region(
|
|
|
1155
1208
|
use_interpolate: bool = False,
|
|
1156
1209
|
use_relative_offset: bool = False,
|
|
1157
1210
|
use_edge_rail: bool = False,
|
|
1158
|
-
thickness=0,
|
|
1159
|
-
depth=0,
|
|
1211
|
+
thickness: float = 0,
|
|
1212
|
+
depth: float = 0,
|
|
1160
1213
|
use_outset: bool = False,
|
|
1161
1214
|
) -> typing.Dict:
|
|
1162
1215
|
"""Face Inset (Regions).Inset or outset face regions.
|
|
@@ -1178,7 +1231,9 @@ def inset_region(
|
|
|
1178
1231
|
:param use_edge_rail: inset the region along existing edges
|
|
1179
1232
|
:type use_edge_rail: bool
|
|
1180
1233
|
:param thickness: thickness
|
|
1234
|
+
:type thickness: float
|
|
1181
1235
|
:param depth: depth
|
|
1236
|
+
:type depth: float
|
|
1182
1237
|
:param use_outset: outset rather than inset
|
|
1183
1238
|
:type use_outset: bool
|
|
1184
1239
|
:return: faces: output faces
|
|
@@ -1197,8 +1252,8 @@ def join_triangles(
|
|
|
1197
1252
|
cmp_uvs: bool = False,
|
|
1198
1253
|
cmp_vcols: bool = False,
|
|
1199
1254
|
cmp_materials: bool = False,
|
|
1200
|
-
angle_face_threshold=0,
|
|
1201
|
-
angle_shape_threshold=0,
|
|
1255
|
+
angle_face_threshold: float = 0,
|
|
1256
|
+
angle_shape_threshold: float = 0,
|
|
1202
1257
|
) -> typing.Dict:
|
|
1203
1258
|
"""Join Triangles.Tries to intelligently join triangles according
|
|
1204
1259
|
to angle threshold and delimiters.
|
|
@@ -1218,7 +1273,9 @@ def join_triangles(
|
|
|
1218
1273
|
:param cmp_materials: compare materials
|
|
1219
1274
|
:type cmp_materials: bool
|
|
1220
1275
|
:param angle_face_threshold: Undocumented.
|
|
1276
|
+
:type angle_face_threshold: float
|
|
1221
1277
|
:param angle_shape_threshold: Undocumented.
|
|
1278
|
+
:type angle_shape_threshold: float
|
|
1222
1279
|
:return: faces: joined faces
|
|
1223
1280
|
|
|
1224
1281
|
type list of (`bmesh.types.BMFace`)
|
|
@@ -1256,7 +1313,7 @@ def mirror(
|
|
|
1256
1313
|
typing.List[bmesh.types.BMFace],
|
|
1257
1314
|
] = [],
|
|
1258
1315
|
matrix: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
1259
|
-
merge_dist=0,
|
|
1316
|
+
merge_dist: float = 0,
|
|
1260
1317
|
axis: typing.Union[str, int] = "X",
|
|
1261
1318
|
mirror_u: bool = False,
|
|
1262
1319
|
mirror_v: bool = False,
|
|
@@ -1274,6 +1331,7 @@ def mirror(
|
|
|
1274
1331
|
:param matrix: matrix defining the mirror transformation
|
|
1275
1332
|
:type matrix: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
1276
1333
|
:param merge_dist: maximum distance for merging. does no merging if 0.
|
|
1334
|
+
:type merge_dist: float
|
|
1277
1335
|
:param axis: the axis to use.
|
|
1278
1336
|
:type axis: typing.Union[str, int]
|
|
1279
1337
|
:param mirror_u: mirror UVs across the u axis
|
|
@@ -1332,8 +1390,8 @@ def offset_edgeloops(
|
|
|
1332
1390
|
def planar_faces(
|
|
1333
1391
|
bm: bmesh.types.BMesh,
|
|
1334
1392
|
faces: typing.List[bmesh.types.BMFace] = [],
|
|
1335
|
-
iterations=0,
|
|
1336
|
-
factor=0,
|
|
1393
|
+
iterations: int = 0,
|
|
1394
|
+
factor: float = 0,
|
|
1337
1395
|
) -> typing.Dict:
|
|
1338
1396
|
"""Planar Faces.Iteratively flatten faces.
|
|
1339
1397
|
|
|
@@ -1342,7 +1400,9 @@ def planar_faces(
|
|
|
1342
1400
|
:param faces: input geometry.
|
|
1343
1401
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
1344
1402
|
:param iterations: Number of times to flatten faces (for when connected faces are used)
|
|
1403
|
+
:type iterations: int
|
|
1345
1404
|
:param factor: Influence for making planar each iteration
|
|
1405
|
+
:type factor: float
|
|
1346
1406
|
:return: geom: output slot, computed boundary geometry.
|
|
1347
1407
|
|
|
1348
1408
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1388,7 +1448,7 @@ def pointmerge_facedata(
|
|
|
1388
1448
|
def poke(
|
|
1389
1449
|
bm: bmesh.types.BMesh,
|
|
1390
1450
|
faces: typing.List[bmesh.types.BMFace] = [],
|
|
1391
|
-
offset=0,
|
|
1451
|
+
offset: float = 0,
|
|
1392
1452
|
center_mode: typing.Union[str, int] = "MEAN_WEIGHTED",
|
|
1393
1453
|
use_relative_offset: bool = False,
|
|
1394
1454
|
) -> typing.Dict:
|
|
@@ -1399,6 +1459,7 @@ def poke(
|
|
|
1399
1459
|
:param faces: input faces
|
|
1400
1460
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
1401
1461
|
:param offset: center vertex offset along normal
|
|
1462
|
+
:type offset: float
|
|
1402
1463
|
:param center_mode: calculation mode for center vertex
|
|
1403
1464
|
:type center_mode: typing.Union[str, int]
|
|
1404
1465
|
:param use_relative_offset: apply offset
|
|
@@ -1463,7 +1524,7 @@ def region_extend(
|
|
|
1463
1524
|
...
|
|
1464
1525
|
|
|
1465
1526
|
def remove_doubles(
|
|
1466
|
-
bm: bmesh.types.BMesh, verts: typing.List[bmesh.types.BMVert] = [], dist=0
|
|
1527
|
+
bm: bmesh.types.BMesh, verts: typing.List[bmesh.types.BMVert] = [], dist: float = 0
|
|
1467
1528
|
):
|
|
1468
1529
|
"""Remove Doubles.Finds groups of vertices closer than dist and merges them together,
|
|
1469
1530
|
using the weld verts BMOP.
|
|
@@ -1473,12 +1534,15 @@ def remove_doubles(
|
|
|
1473
1534
|
:param verts: input verts
|
|
1474
1535
|
:type verts: typing.List[bmesh.types.BMVert]
|
|
1475
1536
|
:param dist: minimum distance
|
|
1537
|
+
:type dist: float
|
|
1476
1538
|
"""
|
|
1477
1539
|
|
|
1478
1540
|
...
|
|
1479
1541
|
|
|
1480
1542
|
def reverse_colors(
|
|
1481
|
-
bm: bmesh.types.BMesh,
|
|
1543
|
+
bm: bmesh.types.BMesh,
|
|
1544
|
+
faces: typing.List[bmesh.types.BMFace] = [],
|
|
1545
|
+
color_index: int = 0,
|
|
1482
1546
|
):
|
|
1483
1547
|
"""Color ReverseReverse the loop colors.
|
|
1484
1548
|
|
|
@@ -1487,6 +1551,7 @@ def reverse_colors(
|
|
|
1487
1551
|
:param faces: input faces
|
|
1488
1552
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
1489
1553
|
:param color_index: index into color attribute list
|
|
1554
|
+
:type color_index: int
|
|
1490
1555
|
"""
|
|
1491
1556
|
|
|
1492
1557
|
...
|
|
@@ -1550,7 +1615,7 @@ def rotate_colors(
|
|
|
1550
1615
|
bm: bmesh.types.BMesh,
|
|
1551
1616
|
faces: typing.List[bmesh.types.BMFace] = [],
|
|
1552
1617
|
use_ccw: bool = False,
|
|
1553
|
-
color_index=0,
|
|
1618
|
+
color_index: int = 0,
|
|
1554
1619
|
):
|
|
1555
1620
|
"""Color Rotation.Cycle the loop colors
|
|
1556
1621
|
|
|
@@ -1561,6 +1626,7 @@ def rotate_colors(
|
|
|
1561
1626
|
:param use_ccw: rotate counter-clockwise if true, otherwise clockwise
|
|
1562
1627
|
:type use_ccw: bool
|
|
1563
1628
|
:param color_index: index into color attribute list
|
|
1629
|
+
:type color_index: int
|
|
1564
1630
|
"""
|
|
1565
1631
|
|
|
1566
1632
|
...
|
|
@@ -1630,8 +1696,8 @@ def scale(
|
|
|
1630
1696
|
def smooth_laplacian_vert(
|
|
1631
1697
|
bm: bmesh.types.BMesh,
|
|
1632
1698
|
verts: typing.List[bmesh.types.BMVert] = [],
|
|
1633
|
-
lambda_factor=0,
|
|
1634
|
-
lambda_border=0,
|
|
1699
|
+
lambda_factor: float = 0,
|
|
1700
|
+
lambda_border: float = 0,
|
|
1635
1701
|
use_x: bool = False,
|
|
1636
1702
|
use_y: bool = False,
|
|
1637
1703
|
use_z: bool = False,
|
|
@@ -1645,7 +1711,9 @@ def smooth_laplacian_vert(
|
|
|
1645
1711
|
:param verts: input vertices
|
|
1646
1712
|
:type verts: typing.List[bmesh.types.BMVert]
|
|
1647
1713
|
:param lambda_factor: lambda param
|
|
1714
|
+
:type lambda_factor: float
|
|
1648
1715
|
:param lambda_border: lambda param in border
|
|
1716
|
+
:type lambda_border: float
|
|
1649
1717
|
:param use_x: Smooth object along X axis
|
|
1650
1718
|
:type use_x: bool
|
|
1651
1719
|
:param use_y: Smooth object along Y axis
|
|
@@ -1661,11 +1729,11 @@ def smooth_laplacian_vert(
|
|
|
1661
1729
|
def smooth_vert(
|
|
1662
1730
|
bm: bmesh.types.BMesh,
|
|
1663
1731
|
verts: typing.List[bmesh.types.BMVert] = [],
|
|
1664
|
-
factor=0,
|
|
1732
|
+
factor: float = 0,
|
|
1665
1733
|
mirror_clip_x: bool = False,
|
|
1666
1734
|
mirror_clip_y: bool = False,
|
|
1667
1735
|
mirror_clip_z: bool = False,
|
|
1668
|
-
clip_dist=0,
|
|
1736
|
+
clip_dist: float = 0,
|
|
1669
1737
|
use_axis_x: bool = False,
|
|
1670
1738
|
use_axis_y: bool = False,
|
|
1671
1739
|
use_axis_z: bool = False,
|
|
@@ -1677,6 +1745,7 @@ def smooth_vert(
|
|
|
1677
1745
|
:param verts: input vertices
|
|
1678
1746
|
:type verts: typing.List[bmesh.types.BMVert]
|
|
1679
1747
|
:param factor: smoothing factor
|
|
1748
|
+
:type factor: float
|
|
1680
1749
|
:param mirror_clip_x: set vertices close to the x axis before the operation to 0
|
|
1681
1750
|
:type mirror_clip_x: bool
|
|
1682
1751
|
:param mirror_clip_y: set vertices close to the y axis before the operation to 0
|
|
@@ -1684,6 +1753,7 @@ def smooth_vert(
|
|
|
1684
1753
|
:param mirror_clip_z: set vertices close to the z axis before the operation to 0
|
|
1685
1754
|
:type mirror_clip_z: bool
|
|
1686
1755
|
:param clip_dist: clipping threshold for the above three slots
|
|
1756
|
+
:type clip_dist: float
|
|
1687
1757
|
:param use_axis_x: smooth vertices along X axis
|
|
1688
1758
|
:type use_axis_x: bool
|
|
1689
1759
|
:param use_axis_y: smooth vertices along Y axis
|
|
@@ -1701,7 +1771,7 @@ def solidify(
|
|
|
1701
1771
|
typing.List[bmesh.types.BMEdge],
|
|
1702
1772
|
typing.List[bmesh.types.BMFace],
|
|
1703
1773
|
] = [],
|
|
1704
|
-
thickness=0,
|
|
1774
|
+
thickness: float = 0,
|
|
1705
1775
|
) -> typing.Dict:
|
|
1706
1776
|
"""Solidify.Turns a mesh into a shell with thickness
|
|
1707
1777
|
|
|
@@ -1710,6 +1780,7 @@ def solidify(
|
|
|
1710
1780
|
:param geom: input geometry
|
|
1711
1781
|
:type geom: typing.Union[typing.List[bmesh.types.BMVert], typing.List[bmesh.types.BMEdge], typing.List[bmesh.types.BMFace]]
|
|
1712
1782
|
:param thickness: thickness
|
|
1783
|
+
:type thickness: float
|
|
1713
1784
|
:return: geom:
|
|
1714
1785
|
|
|
1715
1786
|
type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
|
|
@@ -1728,9 +1799,9 @@ def spin(
|
|
|
1728
1799
|
cent: typing.Union[typing.Sequence[float], mathutils.Vector] = None(),
|
|
1729
1800
|
axis: typing.Union[typing.Sequence[float], mathutils.Vector] = None(),
|
|
1730
1801
|
dvec: typing.Union[typing.Sequence[float], mathutils.Vector] = None(),
|
|
1731
|
-
angle=0,
|
|
1802
|
+
angle: float = 0,
|
|
1732
1803
|
space: typing.Union[typing.Sequence[float], mathutils.Matrix] = None(4),
|
|
1733
|
-
steps=0,
|
|
1804
|
+
steps: int = 0,
|
|
1734
1805
|
use_merge: bool = False,
|
|
1735
1806
|
use_normal_flip: bool = False,
|
|
1736
1807
|
use_duplicate: bool = False,
|
|
@@ -1749,9 +1820,11 @@ def spin(
|
|
|
1749
1820
|
:param dvec: translation delta per step
|
|
1750
1821
|
:type dvec: typing.Union[typing.Sequence[float], mathutils.Vector]
|
|
1751
1822
|
:param angle: total rotation angle (radians)
|
|
1823
|
+
:type angle: float
|
|
1752
1824
|
:param space: matrix to define the space (typically object matrix)
|
|
1753
1825
|
:type space: typing.Union[typing.Sequence[float], mathutils.Matrix]
|
|
1754
1826
|
:param steps: number of steps
|
|
1827
|
+
:type steps: int
|
|
1755
1828
|
:param use_merge: Merge first/last when the angle is a full revolution.
|
|
1756
1829
|
:type use_merge: bool
|
|
1757
1830
|
:param use_normal_flip: Create faces with reversed direction.
|
|
@@ -1831,10 +1904,10 @@ def subdivide_edgering(
|
|
|
1831
1904
|
bm: bmesh.types.BMesh,
|
|
1832
1905
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
1833
1906
|
interp_mode: typing.Union[str, int] = "LINEAR",
|
|
1834
|
-
smooth=0,
|
|
1835
|
-
cuts=0,
|
|
1907
|
+
smooth: float = 0,
|
|
1908
|
+
cuts: int = 0,
|
|
1836
1909
|
profile_shape: typing.Union[str, int] = "SMOOTH",
|
|
1837
|
-
profile_shape_factor=0,
|
|
1910
|
+
profile_shape_factor: float = 0,
|
|
1838
1911
|
) -> typing.Dict:
|
|
1839
1912
|
"""Subdivide Edge-Ring.Take an edge-ring, and subdivide with interpolation options.
|
|
1840
1913
|
|
|
@@ -1845,10 +1918,13 @@ def subdivide_edgering(
|
|
|
1845
1918
|
:param interp_mode: interpolation method
|
|
1846
1919
|
:type interp_mode: typing.Union[str, int]
|
|
1847
1920
|
:param smooth: smoothness factor
|
|
1921
|
+
:type smooth: float
|
|
1848
1922
|
:param cuts: number of cuts
|
|
1923
|
+
:type cuts: int
|
|
1849
1924
|
:param profile_shape: profile shape type
|
|
1850
1925
|
:type profile_shape: typing.Union[str, int]
|
|
1851
1926
|
:param profile_shape_factor: how much intermediary new edges are shrunk/expanded
|
|
1927
|
+
:type profile_shape_factor: float
|
|
1852
1928
|
:return: faces: output faces
|
|
1853
1929
|
|
|
1854
1930
|
type list of (`bmesh.types.BMFace`)
|
|
@@ -1860,12 +1936,12 @@ def subdivide_edgering(
|
|
|
1860
1936
|
def subdivide_edges(
|
|
1861
1937
|
bm: bmesh.types.BMesh,
|
|
1862
1938
|
edges: typing.List[bmesh.types.BMEdge] = [],
|
|
1863
|
-
smooth=0,
|
|
1939
|
+
smooth: float = 0,
|
|
1864
1940
|
smooth_falloff: typing.Union[str, int] = "SMOOTH",
|
|
1865
|
-
fractal=0,
|
|
1866
|
-
along_normal=0,
|
|
1867
|
-
cuts=0,
|
|
1868
|
-
seed=0,
|
|
1941
|
+
fractal: float = 0,
|
|
1942
|
+
along_normal: float = 0,
|
|
1943
|
+
cuts: int = 0,
|
|
1944
|
+
seed: int = 0,
|
|
1869
1945
|
custom_patterns={},
|
|
1870
1946
|
edge_percents={},
|
|
1871
1947
|
quad_corner_type: typing.Union[str, int] = "STRAIGHT_CUT",
|
|
@@ -1883,12 +1959,17 @@ def subdivide_edges(
|
|
|
1883
1959
|
:param edges: input edges
|
|
1884
1960
|
:type edges: typing.List[bmesh.types.BMEdge]
|
|
1885
1961
|
:param smooth: smoothness factor
|
|
1962
|
+
:type smooth: float
|
|
1886
1963
|
:param smooth_falloff: smooth falloff type
|
|
1887
1964
|
:type smooth_falloff: typing.Union[str, int]
|
|
1888
1965
|
:param fractal: fractal randomness factor
|
|
1966
|
+
:type fractal: float
|
|
1889
1967
|
:param along_normal: apply fractal displacement along normal only
|
|
1968
|
+
:type along_normal: float
|
|
1890
1969
|
:param cuts: number of cuts
|
|
1970
|
+
:type cuts: int
|
|
1891
1971
|
:param seed: seed for the random number generator
|
|
1972
|
+
:type seed: int
|
|
1892
1973
|
:param custom_patterns: uses custom pointers
|
|
1893
1974
|
:param edge_percents: Undocumented.
|
|
1894
1975
|
:param quad_corner_type: quad corner type
|
|
@@ -1927,7 +2008,7 @@ def symmetrize(
|
|
|
1927
2008
|
typing.List[bmesh.types.BMFace],
|
|
1928
2009
|
] = [],
|
|
1929
2010
|
direction: typing.Union[str, int] = "-X",
|
|
1930
|
-
dist=0,
|
|
2011
|
+
dist: float = 0,
|
|
1931
2012
|
use_shapekey: bool = False,
|
|
1932
2013
|
) -> typing.Dict:
|
|
1933
2014
|
"""Symmetrize.Makes the mesh elements in the "input" slot symmetrical. Unlike
|
|
@@ -1942,6 +2023,7 @@ def symmetrize(
|
|
|
1942
2023
|
:param direction: axis to use
|
|
1943
2024
|
:type direction: typing.Union[str, int]
|
|
1944
2025
|
:param dist: minimum distance
|
|
2026
|
+
:type dist: float
|
|
1945
2027
|
:param use_shapekey: Transform shape keys too.
|
|
1946
2028
|
:type use_shapekey: bool
|
|
1947
2029
|
:return: geom:
|
|
@@ -2063,7 +2145,9 @@ def triangulate(
|
|
|
2063
2145
|
...
|
|
2064
2146
|
|
|
2065
2147
|
def unsubdivide(
|
|
2066
|
-
bm: bmesh.types.BMesh,
|
|
2148
|
+
bm: bmesh.types.BMesh,
|
|
2149
|
+
verts: typing.List[bmesh.types.BMVert] = [],
|
|
2150
|
+
iterations: int = 0,
|
|
2067
2151
|
):
|
|
2068
2152
|
"""Un-Subdivide.Reduce detail in geometry containing grids.
|
|
2069
2153
|
|
|
@@ -2072,6 +2156,7 @@ def unsubdivide(
|
|
|
2072
2156
|
:param verts: input vertices
|
|
2073
2157
|
:type verts: typing.List[bmesh.types.BMVert]
|
|
2074
2158
|
:param iterations: number of times to unsubdivide
|
|
2159
|
+
:type iterations: int
|
|
2075
2160
|
"""
|
|
2076
2161
|
|
|
2077
2162
|
...
|
|
@@ -2091,15 +2176,15 @@ def weld_verts(bm: bmesh.types.BMesh, targetmap={}):
|
|
|
2091
2176
|
def wireframe(
|
|
2092
2177
|
bm: bmesh.types.BMesh,
|
|
2093
2178
|
faces: typing.List[bmesh.types.BMFace] = [],
|
|
2094
|
-
thickness=0,
|
|
2095
|
-
offset=0,
|
|
2179
|
+
thickness: float = 0,
|
|
2180
|
+
offset: float = 0,
|
|
2096
2181
|
use_replace: bool = False,
|
|
2097
2182
|
use_boundary: bool = False,
|
|
2098
2183
|
use_even_offset: bool = False,
|
|
2099
2184
|
use_crease: bool = False,
|
|
2100
|
-
crease_weight=0,
|
|
2185
|
+
crease_weight: float = 0,
|
|
2101
2186
|
use_relative_offset: bool = False,
|
|
2102
|
-
material_offset=0,
|
|
2187
|
+
material_offset: int = 0,
|
|
2103
2188
|
) -> typing.Dict:
|
|
2104
2189
|
"""Wire Frame.Makes a wire-frame copy of faces.
|
|
2105
2190
|
|
|
@@ -2108,7 +2193,9 @@ def wireframe(
|
|
|
2108
2193
|
:param faces: input faces
|
|
2109
2194
|
:type faces: typing.List[bmesh.types.BMFace]
|
|
2110
2195
|
:param thickness: thickness
|
|
2196
|
+
:type thickness: float
|
|
2111
2197
|
:param offset: offset the thickness from the center
|
|
2198
|
+
:type offset: float
|
|
2112
2199
|
:param use_replace: remove original geometry
|
|
2113
2200
|
:type use_replace: bool
|
|
2114
2201
|
:param use_boundary: inset face boundaries
|
|
@@ -2118,9 +2205,11 @@ def wireframe(
|
|
|
2118
2205
|
:param use_crease: crease hub edges for improved subdivision surface
|
|
2119
2206
|
:type use_crease: bool
|
|
2120
2207
|
:param crease_weight: the mean crease weight for resulting edges
|
|
2208
|
+
:type crease_weight: float
|
|
2121
2209
|
:param use_relative_offset: scale the offset by surrounding geometry
|
|
2122
2210
|
:type use_relative_offset: bool
|
|
2123
2211
|
:param material_offset: offset material index of generated faces
|
|
2212
|
+
:type material_offset: int
|
|
2124
2213
|
:return: faces: output faces
|
|
2125
2214
|
|
|
2126
2215
|
type list of (`bmesh.types.BMFace`)
|