[Bf-extensions-cvs] [4fd7be07] master: Magic UV: Fix error raised at UserPreferences and remove legacy codes.

nutti noreply at git.blender.org
Tue Jan 15 06:57:13 CET 2019


Commit: 4fd7be071b037562c23cf4711abd54dffb667fdf
Author: nutti
Date:   Tue Jan 15 14:56:07 2019 +0900
Branches: master
https://developer.blender.org/rBA4fd7be071b037562c23cf4711abd54dffb667fdf

Magic UV: Fix error raised at UserPreferences and remove legacy codes.

===================================================================

M	uv_magic_uv/__init__.py
M	uv_magic_uv/common.py
D	uv_magic_uv/impl/__init__.py
D	uv_magic_uv/impl/align_uv_cursor_impl.py
D	uv_magic_uv/impl/align_uv_impl.py
D	uv_magic_uv/impl/copy_paste_uv_impl.py
D	uv_magic_uv/impl/copy_paste_uv_uvedit_impl.py
D	uv_magic_uv/impl/flip_rotate_impl.py
D	uv_magic_uv/impl/mirror_uv_impl.py
D	uv_magic_uv/impl/move_uv_impl.py
D	uv_magic_uv/impl/pack_uv_impl.py
D	uv_magic_uv/impl/preserve_uv_aspect_impl.py
D	uv_magic_uv/impl/select_uv_impl.py
D	uv_magic_uv/impl/smooth_uv_impl.py
D	uv_magic_uv/impl/texture_lock_impl.py
D	uv_magic_uv/impl/texture_projection_impl.py
D	uv_magic_uv/impl/texture_wrap_impl.py
D	uv_magic_uv/impl/transfer_uv_impl.py
D	uv_magic_uv/impl/unwrap_constraint_impl.py
D	uv_magic_uv/impl/uv_bounding_box_impl.py
D	uv_magic_uv/impl/uv_inspection_impl.py
D	uv_magic_uv/impl/uv_sculpt_impl.py
D	uv_magic_uv/impl/uvw_impl.py
D	uv_magic_uv/impl/world_scale_uv_impl.py
D	uv_magic_uv/legacy/__init__.py
D	uv_magic_uv/legacy/op/__init__.py
D	uv_magic_uv/legacy/op/align_uv.py
D	uv_magic_uv/legacy/op/align_uv_cursor.py
D	uv_magic_uv/legacy/op/copy_paste_uv.py
D	uv_magic_uv/legacy/op/copy_paste_uv_object.py
D	uv_magic_uv/legacy/op/copy_paste_uv_uvedit.py
D	uv_magic_uv/legacy/op/flip_rotate_uv.py
D	uv_magic_uv/legacy/op/mirror_uv.py
D	uv_magic_uv/legacy/op/move_uv.py
D	uv_magic_uv/legacy/op/pack_uv.py
D	uv_magic_uv/legacy/op/preserve_uv_aspect.py
D	uv_magic_uv/legacy/op/select_uv.py
D	uv_magic_uv/legacy/op/smooth_uv.py
D	uv_magic_uv/legacy/op/texture_lock.py
D	uv_magic_uv/legacy/op/texture_projection.py
D	uv_magic_uv/legacy/op/texture_wrap.py
D	uv_magic_uv/legacy/op/transfer_uv.py
D	uv_magic_uv/legacy/op/unwrap_constraint.py
D	uv_magic_uv/legacy/op/uv_bounding_box.py
D	uv_magic_uv/legacy/op/uv_inspection.py
D	uv_magic_uv/legacy/op/uv_sculpt.py
D	uv_magic_uv/legacy/op/uvw.py
D	uv_magic_uv/legacy/op/world_scale_uv.py
D	uv_magic_uv/legacy/preferences.py
D	uv_magic_uv/legacy/properites.py
D	uv_magic_uv/legacy/ui/IMAGE_MT_uvs.py
D	uv_magic_uv/legacy/ui/VIEW3D_MT_object.py
D	uv_magic_uv/legacy/ui/VIEW3D_MT_uv_map.py
D	uv_magic_uv/legacy/ui/__init__.py
D	uv_magic_uv/legacy/ui/uvedit_copy_paste_uv.py
D	uv_magic_uv/legacy/ui/uvedit_editor_enhancement.py
D	uv_magic_uv/legacy/ui/uvedit_uv_manipulation.py
D	uv_magic_uv/legacy/ui/view3d_copy_paste_uv_editmode.py
D	uv_magic_uv/legacy/ui/view3d_copy_paste_uv_objectmode.py
D	uv_magic_uv/legacy/ui/view3d_uv_manipulation.py
D	uv_magic_uv/legacy/ui/view3d_uv_mapping.py
M	uv_magic_uv/lib/bglx.py
M	uv_magic_uv/op/align_uv.py
M	uv_magic_uv/op/align_uv_cursor.py
M	uv_magic_uv/op/copy_paste_uv.py
M	uv_magic_uv/op/copy_paste_uv_object.py
M	uv_magic_uv/op/copy_paste_uv_uvedit.py
M	uv_magic_uv/op/flip_rotate_uv.py
M	uv_magic_uv/op/mirror_uv.py
M	uv_magic_uv/op/move_uv.py
M	uv_magic_uv/op/pack_uv.py
M	uv_magic_uv/op/preserve_uv_aspect.py
M	uv_magic_uv/op/select_uv.py
M	uv_magic_uv/op/smooth_uv.py
M	uv_magic_uv/op/texture_lock.py
M	uv_magic_uv/op/texture_projection.py
M	uv_magic_uv/op/texture_wrap.py
M	uv_magic_uv/op/transfer_uv.py
M	uv_magic_uv/op/unwrap_constraint.py
M	uv_magic_uv/op/uv_bounding_box.py
M	uv_magic_uv/op/uv_inspection.py
M	uv_magic_uv/op/uv_sculpt.py
M	uv_magic_uv/op/uvw.py
M	uv_magic_uv/op/world_scale_uv.py
M	uv_magic_uv/preferences.py
M	uv_magic_uv/properites.py
M	uv_magic_uv/ui/IMAGE_MT_uvs.py
M	uv_magic_uv/ui/VIEW3D_MT_object.py
M	uv_magic_uv/ui/VIEW3D_MT_uv_map.py
M	uv_magic_uv/ui/uvedit_copy_paste_uv.py
M	uv_magic_uv/ui/uvedit_editor_enhancement.py
M	uv_magic_uv/ui/uvedit_uv_manipulation.py
M	uv_magic_uv/ui/view3d_copy_paste_uv_editmode.py
M	uv_magic_uv/ui/view3d_copy_paste_uv_objectmode.py
M	uv_magic_uv/ui/view3d_uv_manipulation.py
M	uv_magic_uv/ui/view3d_uv_mapping.py
M	uv_magic_uv/utils/__init__.py
M	uv_magic_uv/utils/bl_class_registry.py
A	uv_magic_uv/utils/compatibility.py
M	uv_magic_uv/utils/property_class_registry.py

===================================================================

diff --git a/uv_magic_uv/__init__.py b/uv_magic_uv/__init__.py
index 61fcc804..ae0317ed 100644
--- a/uv_magic_uv/__init__.py
+++ b/uv_magic_uv/__init__.py
@@ -41,47 +41,24 @@ bl_info = {
     "category": "UV"
 }
 
-def check_version(major, minor, _):
-    """
-    Check blender version
-    """
-
-    if bpy.app.version[0] == major and bpy.app.version[1] == minor:
-        return 0
-    if bpy.app.version[0] > major:
-        return 1
-    if bpy.app.version[1] > minor:
-        return 1
-    return -1
-
 
 if "bpy" in locals():
     import importlib
     importlib.reload(common)
     importlib.reload(utils)
     utils.bl_class_registry.BlClassRegistry.cleanup()
-    if check_version(2, 80, 0) >= 0:
-        importlib.reload(lib)
-        importlib.reload(op)
-        importlib.reload(ui)
-        importlib.reload(properites)
-        importlib.reload(preferences)
-    else:
-        importlib.reload(legacy)
-    importlib.reload(impl)
+    importlib.reload(op)
+    importlib.reload(ui)
+    importlib.reload(properites)
+    importlib.reload(preferences)
 else:
     import bpy
     from . import common
     from . import utils
-    if check_version(2, 80, 0) >= 0:
-        from . import lib
-        from . import op
-        from . import ui
-        from . import properites
-        from . import preferences
-    else:
-        from . import legacy
-    from . import impl
+    from . import op
+    from . import ui
+    from . import properites
+    from . import preferences
 
 import os
 
@@ -95,9 +72,8 @@ def register_updater(bl_info):
     config.current_addon_path = os.path.dirname(os.path.realpath(__file__))
     config.branches = ["master", "develop"]
     config.addon_directory = config.current_addon_path[:config.current_addon_path.rfind("/")]
-    #config.min_release_version = bl_info["version"]
-    config.min_release_version = (5, 1)
-    config.target_addon_path = "uv_magic_uv"
+    config.min_release_version = bl_info["version"]
+    config.target_addon_path = "src/uv_magic_uv"
     updater = utils.addon_updator.AddonUpdatorManager.get_instance()
     updater.init(bl_info, config)
 
@@ -105,29 +81,17 @@ def register_updater(bl_info):
 def register():
     register_updater(bl_info)
 
-    if common.check_version(2, 80, 0) >= 0:
-        utils.bl_class_registry.BlClassRegistry.register()
-        properites.init_props(bpy.types.Scene)
-        if bpy.context.user_preferences.addons['uv_magic_uv'].preferences.enable_builtin_menu:
-            preferences.add_builtin_menu()
-    else:
-        utils.bl_class_registry.BlClassRegistry.register()
-        legacy.properites.init_props(bpy.types.Scene)
-        if legacy.preferences.Preferences.enable_builtin_menu:
-            legacy.preferences.add_builtin_menu()
+    utils.bl_class_registry.BlClassRegistry.register()
+    properites.init_props(bpy.types.Scene)
+    if utils.compatibility.get_user_preferences(bpy.context).addons['uv_magic_uv'].preferences.enable_builtin_menu:
+        preferences.add_builtin_menu()
 
 
 def unregister():
-    if common.check_version(2, 80, 0) >= 0:
-        if bpy.context.user_preferences.addons['uv_magic_uv'].preferences.enable_builtin_menu:
-            preferences.remove_builtin_menu()
-        properites.clear_props(bpy.types.Scene)
-        utils.bl_class_registry.BlClassRegistry.unregister()
-    else:
-        if legacy.preferences.Preferences.enable_builtin_menu:
-            legacy.preferences.remove_builtin_menu()
-        legacy.properites.clear_props(bpy.types.Scene)
-        utils.bl_class_registry.BlClassRegistry.unregister()
+    if utils.compatibility.get_user_preferences(bpy.context).addons['uv_magic_uv'].preferences.enable_builtin_menu:
+        preferences.remove_builtin_menu()
+    properites.clear_props(bpy.types.Scene)
+    utils.bl_class_registry.BlClassRegistry.unregister()
 
 
 if __name__ == "__main__":
diff --git a/uv_magic_uv/common.py b/uv_magic_uv/common.py
index 83c6ae74..961ce447 100644
--- a/uv_magic_uv/common.py
+++ b/uv_magic_uv/common.py
@@ -32,37 +32,10 @@ import bpy
 from mathutils import Vector
 import bmesh
 
+from .utils import compatibility as compat
 
-__all__ = [
-    'is_console_mode',
-    'is_debug_mode',
-    'enable_debugg_mode',
-    'disable_debug_mode',
-    'debug_print',
-    'check_version',
-    'redraw_all_areas',
-    'get_space_legacy',
-    'mouse_on_region_legacy',
-    'mouse_on_area_legacy',
-    'mouse_on_regions_legacy',
-    'create_bmesh',
-    'create_new_uv_map',
-    'get_island_info',
-    'get_island_info_from_bmesh',
-    'get_island_info_from_faces',
-    'get_uvimg_editor_board_size',
-    'calc_polygon_2d_area',
-    'calc_polygon_3d_area',
-    'measure_mesh_area',
-    'measure_uv_area_legacy',
-    'diff_point_to_segment',
-    'get_loop_sequences',
-    'get_overlapped_uv_info',
-    'get_flipped_uv_info',
-]
-
-
-__DEBUG_MODE = True
+
+__DEBUG_MODE = False
 
 
 def is_console_mode():
@@ -119,70 +92,6 @@ def redraw_all_areas():
         area.tag_redraw()
 
 
-def get_space_legacy(area_type, region_type, space_type):
-    """
-    Get current area/region/space
-    """
-
-    area = None
-    region = None
-    space = None
-
-    for area in bpy.context.screen.areas:
-        if area.type == area_type:
-            break
-    else:
-        return (None, None, None)
-    for region in area.regions:
-        if region.type == region_type:
-            break
-    for space in area.spaces:
-        if space.type == space_type:
-            break
-
-    return (area, region, space)
-
-
-def mouse_on_region_legacy(event, area_type, region_type):
-    pos = Vector((event.mouse_x, event.mouse_y))
-
-    _, region, _ = get_space_legacy(area_type, region_type, "")
-    if region is None:
-        return False
-
-    if (pos.x > region.x) and (pos.x < region.x + region.width) and \
-       (pos.y > region.y) and (pos.y < region.y + region.height):
-        return True
-
-    return False
-
-
-def mouse_on_area_legacy(event, area_type):
-    pos = Vector((event.mouse_x, event.mouse_y))
-
-    area, _, _ = get_space_legacy(area_type, "", "")
-    if area is None:
-        return False
-
-    if (pos.x > area.x) and (pos.x < area.x + area.width) and \
-       (pos.y > area.y) and (pos.y < area.y + area.height):
-        return True
-
-    return False
-
-
-def mouse_on_regions_legacy(event, area_type, regions):
-    if not mouse_on_area_legacy(event, area_type):
-        return False
-
-    for region in regions:
-        result = mouse_on_region_legacy(event, area_type, region)
-        if result:
-            return True
-
-    return False
-
-
 def get_space(area_type, region_type, space_type):
     """
     Get current area/region/space
@@ -199,8 +108,9 @@ def get_space(area_type, region_type, space_type):
         return (None, None, None)
     for region in area.regions:
         if region.type == region_type:
-            if region.width <= 1 or region.height <= 1:
-                continue
+            if compat.check_version(2, 80, 0) >= 0:
+                if region.width <= 1 or region.height <= 1:
+                    continue
             break
     else:
         return (area, None, None)
@@ -460,65 +370,6 @@ def measure_mesh_area(obj):
     return mesh_area
 
 
-def measure_uv_area_legacy(obj, tex_size=None):
-    bm = bmesh.from_edit_mesh(obj.data)
-    if check_version(2, 73, 0) >= 0:
-        bm.verts.ensure_lookup_table()
-        bm.edges.ensure_lookup_table()
-        bm.faces.ensure_lookup_table()
-
-    if not bm.loops.layers.uv:
-        return None
-    uv_layer = bm.loops.layers.uv.verify()
-
-    if not bm.faces.layers.tex:
-        return None
-    tex_layer = bm.faces.layers.tex.verify()
-
-    sel_faces = [f for f in bm.faces if f.select]
-
-    # measure
-    uv_area = 0.0
-    for f in sel_faces:
-        uvs = [l[uv_layer].uv for l in f.loops]
-        f_uv_area = calc_polygon_2d_area(uvs)
-
-        # user specified
-        if tex_size:
-            uv_area = uv_area + f_uv_area * tex_size[0] * tex_size[1]
-            continue
-
-        # try to find from texture_layer
-        img = None
-        if tex_layer:
-            img = f[tex_layer].image
-
-        # not found, then try to search from node
-        if not img:
-            for mat in obj.material_slots:
-                if not mat.material.node_tree:
-                    continue
-                for node in mat.material.node_tree.nodes:
-                    tex_node_types = [
-                        'TEX_ENVIRONMENT',
-                        'TEX_IMAGE',
-                    ]
-                    if node.type not in tex_node_types:
-                        continue
-                    if not node.image:
-                        continue
-                    img = node.image
-
-        # can not find from node, so we can not get texture size
-        if not img:
-            return None
-
-        img_size = img.size
-        uv_area = uv_area + f_uv_area * img_size[0] * img_size[1]
-
-    return uv_area
-
-
 def find_texture_layer(bm):
     if check_version(2, 80, 0) >= 0:
         return None
diff --git a/uv_magic_uv/impl/__init__.py b/uv_magic_uv/impl/__init__.py
deleted file mode 100644
index d22125af..00000000
--- a/uv_magic_uv/impl/__init__.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# <pep8-80 compliant>
-
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-#  This program is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-__author__ = "Nutti <nutti.metro at gmail.com>"
-__status__ = "production"
-__version__ = 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list