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>2018-03-07 19:12:49 +0300
committerEugenio Pignataro <info@oscurart.com.ar>2018-03-07 19:12:49 +0300
commit45f47e15d4d9c0629a9a277f8d665f806f7834a7 (patch)
tree767c7c18f97f20eb4e26209b63de124b52a5d75b
parent827c5e62e8f121f8f946f1f5f514f7751b1d684a (diff)
New feature: rotate uv corner for Uv Copy/Paste
-rw-r--r--oscurart_tools/oscurart_meshes.py22
1 files changed, 18 insertions, 4 deletions
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'}