Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/uv_seams_from_islands.py')
-rw-r--r--release/scripts/uv_seams_from_islands.py101
1 files changed, 0 insertions, 101 deletions
diff --git a/release/scripts/uv_seams_from_islands.py b/release/scripts/uv_seams_from_islands.py
deleted file mode 100644
index 7f156efde7d..00000000000
--- a/release/scripts/uv_seams_from_islands.py
+++ /dev/null
@@ -1,101 +0,0 @@
-#!BPY
-"""
-Name: 'Seams from Islands'
-Blender: 246
-Group: 'UV'
-Tooltip: 'Add seams onto the mesh at the bounds of UV islands'
-"""
-
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# Script copyright (C) Campbell Barton
-#
-# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# ***** END GPL LICENCE BLOCK *****
-# --------------------------------------------------------------------------
-
-from Blender import Scene, Mesh, Window, sys
-import BPyMessages
-
-def seams_from_islands(me):
- # This function runs out of editmode with a mesh
- # error cases are alredy checked for
-
- # next intex
- wrap_q = [1,2,3,0]
- wrap_t = [1,2,0]
- edge_uvs = {}
- for f in me.faces:
- f_uv = [(round(uv.x, 6), round(uv.y, 6)) for uv in f.uv]
- f_vi = [v.index for v in f]
- for i, key in enumerate(f.edge_keys):
- if len(f)==3:
- uv1, uv2 = f_uv[i], f_uv[wrap_t[i]]
- vi1, vi2 = f_vi[i], f_vi[wrap_t[i]]
- else: # quad
- uv1, uv2 = f_uv[i], f_uv[wrap_q[i]]
- vi1, vi2 = f_vi[i], f_vi[wrap_q[i]]
-
- if vi1 > vi2: uv1,uv2 = uv2,uv1
-
- edge_uvs.setdefault(key, []).append((uv1, uv2))
-
- # add seams
- SEAM = Mesh.EdgeFlags.SEAM
- for ed in me.edges:
- try: # the edge might not be in a face
- if len(set(edge_uvs[ed.key])) > 1:
- ed.flag |= SEAM
- except:
- pass
-
-def main():
-
- # Gets the current scene, there can be many scenes in 1 blend file.
- sce = Scene.GetCurrent()
-
- # Get the active object, there can only ever be 1
- # and the active object is always the editmode object.
- ob_act = sce.objects.active
- me = ob_act.getData(mesh=1)
-
- if not ob_act or ob_act.type != 'Mesh' or not me.faceUV:
- BPyMessages.Error_NoMeshUvActive()
- return
-
- # Saves the editmode state and go's out of
- # editmode if its enabled, we cant make
- # changes to the mesh data while in editmode.
- is_editmode = Window.EditMode()
- if is_editmode: Window.EditMode(0)
-
- Window.WaitCursor(1)
-
- t = sys.time()
-
- # Run the mesh editing function
- seams_from_islands(me)
-
- if is_editmode: Window.EditMode(1)
-
- # Timing the script is a good way to be aware on any speed hits when scripting
- print 'UV Seams from Islands finished in %.2f seconds' % (sys.time()-t)
- Window.WaitCursor(0)
-
-
-# This lets you can import the script without running it
-if __name__ == '__main__':
- main()