[Bf-extensions-cvs] [b9934d8a] master: Add offset and rotate Loops to UV Overlap

Eugenio Pignataro noreply at git.blender.org
Thu May 31 21:35:37 CEST 2018


Commit: b9934d8a6b515361c921fc958dfe4e0c97a03c50
Author: Eugenio Pignataro
Date:   Thu May 31 16:35:29 2018 -0300
Branches: master
https://developer.blender.org/rBAb9934d8a6b515361c921fc958dfe4e0c97a03c50

Add offset and rotate Loops to UV Overlap

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

M	oscurart_tools/oscurart_meshes.py

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

diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index 855a1b77..802c7f75 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -348,27 +348,40 @@ class OscObjectToMesh(Operator):
 # ----------------------------- OVERLAP UV -------------------------------
 
 
-def DefOscOverlapUv():
-    bm = bmesh.from_edit_mesh(bpy.context.object.data)
+def DefOscOverlapUv(self,offset,rotate):
+    me = bpy.context.object.data
+    bm = bmesh.from_edit_mesh(me)
+    bm.faces.ensure_lookup_table()
     faces = [face for face in bm.faces if face.select]
-
+    uv_layer = bm.loops.layers.uv[bpy.context.object.data.uv_layers.active.name]
+    
     faceDict = {}
     faceReverse = []
     bm.select_mode = {'FACE'}
     for face in faces:
-        bpy.ops.mesh.select_all(action= "DESELECT")    
+        bpy.ops.mesh.select_all(action="DESELECT") 
         face.select = True
         bpy.ops.mesh.select_mirror()
         faceDict[face.index] = [mirrorface for mirrorface in bm.faces if mirrorface.select][0].index
         faceReverse.append([mirrorface for mirrorface in bm.faces if mirrorface.select][0])
+        
+    
 
-    for selFace,mirrorFace in faceDict.items():
-        for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops):
-            mirrorLoop.copy_from(loop)
-            
+    for selFace,mirrorFace in faceDict.items():   
+        for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops): 
+            mirrorLoop.copy_from(loop)   
+        if offset:      
+            for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops):    
+                mirrorLoop[uv_layer].uv += Vector((1,0))  
+   
+                       
     #invierto direcciones        
     bmesh.ops.reverse_uvs(bm, faces=[f for f in faceReverse])
-    bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse])  
+    bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse]) 
+    if rotate:
+        bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse]) 
+
+    bmesh.update_edit_mesh(me)
 
 
 class OscOverlapUv(Operator):
@@ -384,8 +397,17 @@ class OscOverlapUv(Operator):
                 context.active_object.type == 'MESH')
 
 
+    offset = BoolProperty(
+            default=True,
+            name="Offset"
+            )
+    rotate = BoolProperty(
+            default=True,
+            name="Rotate"
+            )
+
     def execute(self, context):
-        DefOscOverlapUv()
+        DefOscOverlapUv(self,self.offset,self.rotate)
         return {'FINISHED'}



More information about the Bf-extensions-cvs mailing list