diff options
Diffstat (limited to 'magic_uv/op/uvw.py')
-rw-r--r-- | magic_uv/op/uvw.py | 64 |
1 files changed, 38 insertions, 26 deletions
diff --git a/magic_uv/op/uvw.py b/magic_uv/op/uvw.py index 4b4a4f04..fca72d2c 100644 --- a/magic_uv/op/uvw.py +++ b/magic_uv/op/uvw.py @@ -20,8 +20,8 @@ __author__ = "Alexander Milovsky, Nutti <nutti.metro@gmail.com>" __status__ = "production" -__version__ = "6.2" -__date__ = "31 Jul 2019" +__version__ = "6.3" +__date__ = "10 Aug 2020" from math import sin, cos, pi @@ -228,20 +228,26 @@ class MUV_OT_UVW_BoxMap(bpy.types.Operator): return True return _is_valid_context(context) - def execute(self, context): - obj = context.active_object - bm = bmesh.from_edit_mesh(obj.data) - if common.check_version(2, 73, 0) >= 0: - bm.faces.ensure_lookup_table() + def execute(self, _): + if compat.check_version(2, 80, 0) < 0: + objs = [bpy.context.active_object] + else: + objs = [o for o in bpy.data.objects + if compat.get_object_select(o) and o.type == 'MESH'] + + for o in objs: + bm = bmesh.from_edit_mesh(o.data) + if common.check_version(2, 73, 0) >= 0: + bm.faces.ensure_lookup_table() - # get UV layer - uv_layer = _get_uv_layer(self, bm, self.assign_uvmap) - if not uv_layer: - return {'CANCELLED'} + # get UV layer + uv_layer = _get_uv_layer(self, bm, self.assign_uvmap) + if not uv_layer: + return {'CANCELLED'} - _apply_box_map(bm, uv_layer, self.size, self.offset, self.rotation, - self.tex_aspect) - bmesh.update_edit_mesh(obj.data) + _apply_box_map(bm, uv_layer, self.size, self.offset, self.rotation, + self.tex_aspect) + bmesh.update_edit_mesh(o.data) return {'FINISHED'} @@ -285,20 +291,26 @@ class MUV_OT_UVW_BestPlanerMap(bpy.types.Operator): return True return _is_valid_context(context) - def execute(self, context): - obj = context.active_object - bm = bmesh.from_edit_mesh(obj.data) - if common.check_version(2, 73, 0) >= 0: - bm.faces.ensure_lookup_table() + def execute(self, _): + if compat.check_version(2, 80, 0) < 0: + objs = [bpy.context.active_object] + else: + objs = [o for o in bpy.data.objects + if compat.get_object_select(o) and o.type == 'MESH'] + + for o in objs: + bm = bmesh.from_edit_mesh(o.data) + if common.check_version(2, 73, 0) >= 0: + bm.faces.ensure_lookup_table() - # get UV layer - uv_layer = _get_uv_layer(self, bm, self.assign_uvmap) - if not uv_layer: - return {'CANCELLED'} + # get UV layer + uv_layer = _get_uv_layer(self, bm, self.assign_uvmap) + if not uv_layer: + return {'CANCELLED'} - _apply_planer_map(bm, uv_layer, self.size, self.offset, self.rotation, - self.tex_aspect) + _apply_planer_map(bm, uv_layer, self.size, self.offset, + self.rotation, self.tex_aspect) - bmesh.update_edit_mesh(obj.data) + bmesh.update_edit_mesh(o.data) return {'FINISHED'} |