[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