Skip to content

Commit

Permalink
Version 4.1 released
Browse files Browse the repository at this point in the history
  • Loading branch information
nutti committed Nov 13, 2016
1 parent fb05af8 commit 3b3dc54
Show file tree
Hide file tree
Showing 18 changed files with 75 additions and 64 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ See the link below for further details.
## Change Log
|Version|Release Date|Change Log|
|---|---|---|
|4.1|2016.11.XX|[1] **Add feature**<br> - Copy/Paste UV Coordinates (Among same objects)<br> - Texture Lock<br> - Mirror UV<br> - World Scale UV<br> - Unwrap Constraint<br>[2] Improve feature - Pack UV (with same UV island packing)<br>(1) Add option: Allowable center/size deviation option<br>[3] Fixed bug|
|4.1|2016.11.13|[1] **Add feature**<br> - Copy/Paste UV Coordinates (Among same objects)<br> - Texture Lock<br> - Mirror UV<br> - World Scale UV<br> - Unwrap Constraint<br>[2] Improve feature - Pack UV (with same UV island packing)<br>(1) Add option: Allowable center/size deviation option<br>[3] Fixed bug|
|4.0|2016.5.14|[1] Rename this add-on<br>[2] **Add feature**<br> - Manipulate UV with Bounding Box in UV Editor<br> - Move UV from 3D View<br> - Texture Projection<br> - Pack UV (with same UV island packing)<br>[3] Improve feature - Copy/Paste UV<br>(1) N to M copy/paste UV<br>(2) Copy/Paste UV by selection sequence between specified UV maps<br>[4] Optimization/Refactoring<br>[5] Fixed bugs|
|3.2|2015.6.20|Improve feature<br> - Transfer UV<br>(1) Copy/Paste to multiple meshes<br>(2) Partially copy/paste UV|
|3.1|2015.6.17|Improve feature<br> - Transfer UV<br>(1) Improve algorithm|
Expand Down
2 changes: 1 addition & 1 deletion uv_magic_uv/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


bl_info = {
Expand Down
3 changes: 1 addition & 2 deletions uv_magic_uv/muv_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down Expand Up @@ -81,4 +81,3 @@ def get_space(area_type, region_type, space_type):
break

return (area, region, space)

2 changes: 1 addition & 1 deletion uv_magic_uv/muv_cpuv_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down
12 changes: 5 additions & 7 deletions uv_magic_uv/muv_cpuv_selseq_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,10 @@
#
# ##### END GPL LICENSE BLOCK #####


__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand All @@ -40,7 +39,7 @@ class MUV_CPUVSelSeqCopyUV(bpy.types.Operator):
bl_label = "Copy UV (Selection Sequence) (Operation)"
bl_description = "Copy UV data by selection sequence (Operation)"
bl_options = {'REGISTER', 'UNDO'}

uv_map = bpy.props.StringProperty(options={'HIDDEN'})

def execute(self, context):
Expand All @@ -56,7 +55,7 @@ def execute(self, context):
bm = bmesh.from_edit_mesh(obj.data)
if muv_common.check_version(2, 73, 0) >= 0:
bm.faces.ensure_lookup_table()

# get UV layer
if self.uv_map == "":
if not bm.loops.layers.uv:
Expand Down Expand Up @@ -164,7 +163,7 @@ def execute(self, context):
uv_layer = bm.loops.layers.uv.verify()
else:
uv_layer = bm.loops.layers.uv[self.uv_map]

# get selected face
dest_uvs = []
dest_pin_uvs = []
Expand All @@ -186,7 +185,7 @@ def execute(self, context):
"(src:%d, dest:%d)" %
(len(props.src_uvs), len(dest_uvs)))
return {'CANCELLED'}

# paste
for i, idx in enumerate(dest_face_indices):
suv = None
Expand Down Expand Up @@ -247,4 +246,3 @@ def draw(self, context):
layout.operator(
MUV_CPUVSelSeqPasteUV.bl_idname,
text=m, icon="PLUGIN").uv_map = m

8 changes: 3 additions & 5 deletions uv_magic_uv/muv_fliprot_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,10 @@
#
# ##### END GPL LICENSE BLOCK #####


__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.0"
__date__ = "14 May 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down Expand Up @@ -58,13 +57,13 @@ def execute(self, context):
bm = bmesh.from_edit_mesh(obj.data)
if muv_common.check_version(2, 73, 0) >= 0:
bm.faces.ensure_lookup_table()

# get UV layer
if not bm.loops.layers.uv:
self.report({'WARNING'}, "Object must have more than one UV map")
return {'CANCELLED'}
uv_layer = bm.loops.layers.uv.verify()

# get selected face
dest_uvs = []
dest_pin_uvs = []
Expand Down Expand Up @@ -104,4 +103,3 @@ def execute(self, context):
bmesh.update_edit_mesh(obj.data)

return {'FINISHED'}

2 changes: 1 addition & 1 deletion uv_magic_uv/muv_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down
2 changes: 1 addition & 1 deletion uv_magic_uv/muv_mirroruv_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Keith (Wahooney) Boshoff, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down
35 changes: 27 additions & 8 deletions uv_magic_uv/muv_mvuv_ops.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,27 @@
# <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__ = "kgeogeo, mem, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand All @@ -17,7 +37,7 @@ class MUV_MVUV(bpy.types.Operator):
bl_idname = "view3d.muv_mvuv"
bl_label = "Move the UV from View3D"
bl_options = {'REGISTER', 'UNDO'}

__topology_dict = []
__prev_mouse = Vector((0.0, 0.0))
__offset_uv = Vector((0.0, 0.0))
Expand Down Expand Up @@ -59,8 +79,8 @@ def __find_uv(self, context):
diff = uva - va
first = False

return topology_dict, uvs
return topology_dict, uvs

@classmethod
def poll(cls, context):
return (context.edit_object)
Expand Down Expand Up @@ -112,7 +132,7 @@ def modal(self, context, event):
if event.type == cancel_btn and event.value == 'PRESS':
for (fidx, vidx), uv in zip(self.__topology_dict, self.__ini_uvs):
bm.faces[fidx].loops[vidx][active_uv].uv = uv
return {'FINISHED'}
return {'FINISHED'}
# confirmed
if event.type == confirm_btn and event.value == 'PRESS':
return {'FINISHED'}
Expand All @@ -123,6 +143,5 @@ def execute(self, context):
self.__first_time = True
self.__running = True
context.window_manager.modal_handler_add(self)
self.__topology_dict, self.__ini_uvs = self.__find_uv(context)
return {'RUNNING_MODAL'}

self.__topology_dict, self.__ini_uvs = self.__find_uv(context)
return {'RUNNING_MODAL'}
2 changes: 1 addition & 1 deletion uv_magic_uv/muv_packuv_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down
6 changes: 2 additions & 4 deletions uv_magic_uv/muv_preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,10 @@
#
# ##### END GPL LICENSE BLOCK #####


__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.0"
__date__ = "14 May 2016"
__version__ = "4.1"
__date__ = "13 Nov 2016"


import bpy
Expand All @@ -48,4 +47,3 @@ def draw(self, context):
layout = self.layout
layout.prop(self, "enable_uvbb")
layout.prop(self, "enable_texproj")

4 changes: 2 additions & 2 deletions uv_magic_uv/muv_props.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
from bpy.props import FloatProperty, EnumProperty, BoolProperty
Expand Down Expand Up @@ -142,4 +143,3 @@ def clear_props(scene):
del scene.muv_texproj_tex_magnitude
del scene.muv_texproj_tex_image
del scene.muv_texproj_tex_transparency

3 changes: 1 addition & 2 deletions uv_magic_uv/muv_texlock_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "4.1"
__date__ = "XX XXX 2016"
__date__ = "13 Nov 2016"


import bpy
Expand Down Expand Up @@ -433,4 +433,3 @@ def execute(self, context):
bpy.ops.uv.muv_texlock_updater()

return {'FINISHED'}

Loading

0 comments on commit 3b3dc54

Please sign in to comment.