Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-05-05 09:54:29 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-05-05 09:54:29 +0400
commit998b9241bedea82f4501b4c4e5453d7becb07d3e (patch)
tree4cd665a917d259c71423297c0f13e5ccabb64f78 /release/scripts/templates_py
parent36c4dc2d5b530caf778bd1167740c7cb0b2a053d (diff)
correct bmesh api crossref and update uv-operator template.
Diffstat (limited to 'release/scripts/templates_py')
-rw-r--r--release/scripts/templates_py/operator_uv.py29
1 files changed, 11 insertions, 18 deletions
diff --git a/release/scripts/templates_py/operator_uv.py b/release/scripts/templates_py/operator_uv.py
index fdd0b993f8b..4d25b7af37e 100644
--- a/release/scripts/templates_py/operator_uv.py
+++ b/release/scripts/templates_py/operator_uv.py
@@ -1,29 +1,23 @@
import bpy
+import bmesh
def main(context):
obj = context.active_object
- mesh = obj.data
+ me = obj.data
+ bm = bmesh.from_edit_mesh(me)
- is_editmode = (obj.mode == 'EDIT')
- if is_editmode:
- bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
-
- if not mesh.uv_textures:
- uvtex = bpy.ops.mesh.uv_texture_add()
- else:
- uvtex = mesh.uv_textures.active
+ uv_layer = bm.loops.layers.uv.verify()
# adjust UVs
- for i, uv in enumerate(uvtex.data):
- uvs = uv.uv1, uv.uv2, uv.uv3, uv.uv4
- for j, v_idx in enumerate(mesh.faces[i].vertices):
- if uv.select_uv[j]:
+ for f in bm.faces:
+ for l in f.loops:
+ luv = l[uv_layer]
+ if luv.select:
# apply the location of the vertex as a UV
- uvs[j][:] = mesh.vertices[v_idx].co.xy
+ luv.uv = l.vert.co.xy
- if is_editmode:
- bpy.ops.object.mode_set(mode='EDIT', toggle=False)
+ bmesh.update_edit_mesh(me)
class UvOperator(bpy.types.Operator):
@@ -33,8 +27,7 @@ class UvOperator(bpy.types.Operator):
@classmethod
def poll(cls, context):
- obj = context.active_object
- return (obj and obj.type == 'MESH')
+ return (context.mode == 'EDIT_MESH')
def execute(self, context):
main(context)