From 383da79d6301fdebcca8681f2d600d569feb8284 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 22 Oct 2013 00:25:15 +0000 Subject: minor changes to templates --- release/scripts/templates_py/operator_mesh_uv.py | 50 ++++++++++++++++++++++ .../scripts/templates_py/operator_modal_timer.py | 10 +++-- release/scripts/templates_py/operator_uv.py | 50 ---------------------- 3 files changed, 56 insertions(+), 54 deletions(-) create mode 100644 release/scripts/templates_py/operator_mesh_uv.py delete mode 100644 release/scripts/templates_py/operator_uv.py (limited to 'release/scripts/templates_py') 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() diff --git a/release/scripts/templates_py/operator_modal_timer.py b/release/scripts/templates_py/operator_modal_timer.py index 3088d59fbcf..b8211126daf 100644 --- a/release/scripts/templates_py/operator_modal_timer.py +++ b/release/scripts/templates_py/operator_modal_timer.py @@ -9,7 +9,7 @@ class ModalTimerOperator(bpy.types.Operator): _timer = None def modal(self, context, event): - if event.type == 'ESC': + if event.type in {'RIGHTMOUSE', 'ESC'}: return self.cancel(context) if event.type == 'TIMER': @@ -21,12 +21,14 @@ class ModalTimerOperator(bpy.types.Operator): return {'PASS_THROUGH'} def execute(self, context): - self._timer = context.window_manager.event_timer_add(0.1, context.window) - context.window_manager.modal_handler_add(self) + wm = context.window_manager + self._timer = wm.event_timer_add(0.1, context.window) + wm.modal_handler_add(self) return {'RUNNING_MODAL'} def cancel(self, context): - context.window_manager.event_timer_remove(self._timer) + wm = context.window_manager + wm.event_timer_remove(self._timer) return {'CANCELLED'} diff --git a/release/scripts/templates_py/operator_uv.py b/release/scripts/templates_py/operator_uv.py deleted file mode 100644 index 96e624bc30d..00000000000 --- a/release/scripts/templates_py/operator_uv.py +++ /dev/null @@ -1,50 +0,0 @@ -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() -- cgit v1.2.3