From 012db9e820439ddea03048f638bfa112d0ab05b0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 25 Aug 2022 16:41:22 +1000 Subject: Cleanup: replace dict with set for bmesh_utils.bmesh_linked_uv_islands Also correct doc-string syntax. --- release/scripts/modules/bpy_extras/bmesh_utils.py | 21 +++++++++++---------- .../bl_operators/uvcalc_randomize_transform.py | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'release') diff --git a/release/scripts/modules/bpy_extras/bmesh_utils.py b/release/scripts/modules/bpy_extras/bmesh_utils.py index baf1f9d863f..5b5437ed358 100644 --- a/release/scripts/modules/bpy_extras/bmesh_utils.py +++ b/release/scripts/modules/bpy_extras/bmesh_utils.py @@ -6,6 +6,7 @@ __all__ = ( import bmesh + def match_uv(face, vert, uv, uv_layer): for loop in face.loops: if loop.vert == vert: @@ -17,12 +18,12 @@ def bmesh_linked_uv_islands(bm, uv_layer): """ Returns lists of face indices connected by UV islands. - For `bpy.types.Mesh`, use `mesh_linked_uv_islands` instead. + For meshes use :class:`bpy.types.Mesh.mesh_linked_uv_islands` instead. :arg bm: the bmesh used to group with. - :type bmesh: :class: `BMesh` + :type bmesh: :class:`BMesh` :arg uv_layer: the UV layer to source UVs from. - :type bmesh: :class: `BMLayerItem` + :type bmesh: :class:`BMLayerItem` :return: list of lists containing polygon indices :rtype: list """ @@ -30,27 +31,27 @@ def bmesh_linked_uv_islands(bm, uv_layer): result = [] bm.faces.ensure_lookup_table() - used = {} + used = set() for seed_face in bm.faces: seed_index = seed_face.index - if used.get(seed_index): - continue # Face has already been processed. - used[seed_index] = True + if seed_index in used: + continue # Face has already been processed. + used.add(seed_index) island = [seed_index] - stack = [seed_face] # Faces still to consider on this island. + stack = [seed_face] # Faces still to consider on this island. while stack: current_face = stack.pop() for loop in current_face.loops: v = loop.vert uv = loop[uv_layer].uv for f in v.link_faces: - if used.get(f.index): + if f.index in used: continue if not match_uv(f, v, uv, uv_layer): continue # `f` is part of island, add to island and stack - used[f.index] = True + used.add(f.index) island.append(f.index) stack.append(f) result.append(island) diff --git a/release/scripts/startup/bl_operators/uvcalc_randomize_transform.py b/release/scripts/startup/bl_operators/uvcalc_randomize_transform.py index 22ae5ed9a6f..0c5e20836b7 100644 --- a/release/scripts/startup/bl_operators/uvcalc_randomize_transform.py +++ b/release/scripts/startup/bl_operators/uvcalc_randomize_transform.py @@ -52,7 +52,7 @@ def get_random_transform(transform_params, entropy): def randomize_uv_transform_island(bm, uv_layer, faces, transform_params): - entropy = min(faces) # Ensure consistent random values for island, regardless of selection etc. + entropy = min(faces) # Ensure consistent random values for island, regardless of selection etc. transform = get_random_transform(transform_params, entropy) # Find bounding box. -- cgit v1.2.3