diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-10-22 04:25:15 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-10-22 04:25:15 +0400 |
commit | 383da79d6301fdebcca8681f2d600d569feb8284 (patch) | |
tree | 188cbfb1ae3b810a9851646bb675480aebf713dc /release/scripts/templates_py/operator_mesh_uv.py | |
parent | cb8d53efcc47f3ce367b1102966f9b21e8d138b9 (diff) |
minor changes to templates
Diffstat (limited to 'release/scripts/templates_py/operator_mesh_uv.py')
-rw-r--r-- | release/scripts/templates_py/operator_mesh_uv.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/release/scripts/templates_py/operator_mesh_uv.py b/release/scripts/templates_py/operator_mesh_uv.py new file mode 100644 index 00000000000..96e624bc30d --- /dev/null +++ b/release/scripts/templates_py/operator_mesh_uv.py @@ -0,0 +1,50 @@ +import bpy +import bmesh + + +def main(context): + obj = context.active_object + me = obj.data + bm = bmesh.from_edit_mesh(me) + + uv_layer = bm.loops.layers.uv.verify() + bm.faces.layers.tex.verify() # currently blender needs both layers. + + # adjust UVs + 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 + luv.uv = l.vert.co.xy + + bmesh.update_edit_mesh(me) + + +class UvOperator(bpy.types.Operator): + """UV Operator description""" + bl_idname = "uv.simple_operator" + bl_label = "Simple UV Operator" + + @classmethod + def poll(cls, context): + return (context.mode == 'EDIT_MESH') + + def execute(self, context): + main(context) + return {'FINISHED'} + + +def register(): + bpy.utils.register_class(UvOperator) + + +def unregister(): + bpy.utils.unregister_class(UvOperator) + + +if __name__ == "__main__": + register() + + # test call + bpy.ops.uv.simple_operator() |