[Bf-blender-cvs] [012db9e8204] master: Cleanup: replace dict with set for bmesh_utils.bmesh_linked_uv_islands

Campbell Barton noreply at git.blender.org
Thu Aug 25 08:43:08 CEST 2022


Commit: 012db9e820439ddea03048f638bfa112d0ab05b0
Author: Campbell Barton
Date:   Thu Aug 25 16:41:22 2022 +1000
Branches: master
https://developer.blender.org/rB012db9e820439ddea03048f638bfa112d0ab05b0

Cleanup: replace dict with set for bmesh_utils.bmesh_linked_uv_islands

Also correct doc-string syntax.

===================================================================

M	release/scripts/modules/bpy_extras/bmesh_utils.py
M	release/scripts/startup/bl_operators/uvcalc_randomize_transform.py

===================================================================

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.



More information about the Bf-blender-cvs mailing list