Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugenio Pignataro <info@oscurart.com.ar>2017-10-04 18:12:04 +0300
committerEugenio Pignataro <info@oscurart.com.ar>2017-10-04 18:12:04 +0300
commit4632c73bbfd51bd5124ce8b1b51cd2500cbb6de6 (patch)
treeea6a2791c5b4e199eed6de5d995e78e1d043797b /oscurart_tools
parentbbe7d59307469ec2c52273136d4dfab336485ad4 (diff)
Add multiSelection to Overlap Uvs
Diffstat (limited to 'oscurart_tools')
-rw-r--r--oscurart_tools/oscurart_meshes.py34
1 files changed, 22 insertions, 12 deletions
diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index 9b1314b3..55181446 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -582,18 +582,28 @@ def defCopyUvsIsland(self, context):
def defPasteUvsIsland(self, context):
bpy.ops.object.mode_set(mode="OBJECT")
- TobLoop = []
- TislandFaces = []
- for poly in bpy.context.object.data.polygons:
- if poly.select:
- TislandFaces.append(poly.index)
- for li in poly.loop_indices:
- TobLoop.append(li)
-
- for source,target in zip(range(min(obLoop),max(obLoop)+1),range(min(TobLoop),max(TobLoop)+1)):
- bpy.context.object.data.uv_layers.active.data[target].uv = bpy.context.object.data.uv_layers.active.data[source].uv
-
- bpy.ops.object.mode_set(mode="EDIT")
+ selPolys = [poly.index for poly in bpy.context.object.data.polygons if poly.select]
+
+ for island in selPolys:
+ bpy.ops.object.mode_set(mode="EDIT")
+ bpy.ops.mesh.select_all(action="DESELECT")
+ bpy.ops.object.mode_set(mode="OBJECT")
+ bpy.context.object.data.polygons[island].select = True
+ bpy.ops.object.mode_set(mode="EDIT")
+ bpy.ops.mesh.select_linked()
+ bpy.ops.object.mode_set(mode="OBJECT")
+ TobLoop = []
+ TislandFaces = []
+ for poly in bpy.context.object.data.polygons:
+ if poly.select:
+ TislandFaces.append(poly.index)
+ for li in poly.loop_indices:
+ TobLoop.append(li)
+
+ for source,target in zip(range(min(obLoop),max(obLoop)+1),range(min(TobLoop),max(TobLoop)+1)):
+ bpy.context.object.data.uv_layers.active.data[target].uv = bpy.context.object.data.uv_layers.active.data[source].uv
+
+ bpy.ops.object.mode_set(mode="EDIT")