[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