[Bf-extensions-cvs] [45f47e15] master: New feature: rotate uv corner for Uv Copy/Paste

Eugenio Pignataro noreply at git.blender.org
Wed Mar 7 17:12:57 CET 2018


Commit: 45f47e15d4d9c0629a9a277f8d665f806f7834a7
Author: Eugenio Pignataro
Date:   Wed Mar 7 13:12:49 2018 -0300
Branches: master
https://developer.blender.org/rBA45f47e15d4d9c0629a9a277f8d665f806f7834a7

New feature: rotate uv corner for Uv Copy/Paste

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

M	oscurart_tools/oscurart_meshes.py

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

diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index 6754ac78..162a1163 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -581,12 +581,12 @@ def defCopyUvsIsland(self, context):
 
     bpy.ops.object.mode_set(mode="EDIT")        
     
-def defPasteUvsIsland(self, uvOffset, context):
+def defPasteUvsIsland(self, uvOffset, rotateUv,context):
     bpy.ops.object.mode_set(mode="OBJECT")
     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.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
@@ -606,6 +606,16 @@ def defPasteUvsIsland(self, uvOffset, context):
               
         bpy.ops.object.mode_set(mode="EDIT")   
         
+    if rotateUv:
+        bpy.ops.object.mode_set(mode="OBJECT") 
+        for poly in selPolys:
+            bpy.context.object.data.polygons[poly].select = True
+        bpy.ops.object.mode_set(mode="EDIT")
+        bm = bmesh.from_edit_mesh(bpy.context.object.data)
+        bmesh.ops.reverse_uvs(bm, faces=[f for f in bm.faces if f.select])
+        bmesh.ops.rotate_uvs(bm, faces=[f for f in bm.faces if f.select]) 
+        #bmesh.update_edit_mesh(bpy.context.object.data, tessface=False, destructive=False)
+
 
 
 class CopyUvIsland(Operator):
@@ -635,6 +645,10 @@ class PasteUvIsland(Operator):
             default=False
             )    
 
+    rotateUv = BoolProperty(
+            name="Rotate Uv Corner",
+            default=False
+            )  
     @classmethod
     def poll(cls, context):
         return (context.active_object is not None and
@@ -642,7 +656,7 @@ class PasteUvIsland(Operator):
                 context.active_object.mode == "EDIT")
 
     def execute(self, context):
-        defPasteUvsIsland(self, self.uvOffset, context)
+        defPasteUvsIsland(self, self.uvOffset, self.rotateUv, context)
         return {'FINISHED'}



More information about the Bf-extensions-cvs mailing list