[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