[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33263] trunk/blender/release/scripts/op/ uvcalc_smart_project.py: bugfix [#24871] Unwrapping with Smart Project give a bad result.
Campbell Barton
ideasman42 at gmail.com
Tue Nov 23 17:10:20 CET 2010
Revision: 33263
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33263
Author: campbellbarton
Date: 2010-11-23 17:10:20 +0100 (Tue, 23 Nov 2010)
Log Message:
-----------
bugfix [#24871] Unwrapping with Smart Project give a bad result.
Modified Paths:
--------------
trunk/blender/release/scripts/op/uvcalc_smart_project.py
Modified: trunk/blender/release/scripts/op/uvcalc_smart_project.py
===================================================================
--- trunk/blender/release/scripts/op/uvcalc_smart_project.py 2010-11-23 16:07:51 UTC (rev 33262)
+++ trunk/blender/release/scripts/op/uvcalc_smart_project.py 2010-11-23 16:10:20 UTC (rev 33263)
@@ -776,18 +776,14 @@
-def VectoMat(vec):
- a3 = vec.__copy__().normalize()
+def VectoQuat(vec):
+ vec = vec.copy().normalize()
+ if abs(vec.x) > 0.5:
+ return vec.to_track_quat('Z', 'X')
+ else:
+ return vec.to_track_quat('Z', 'Y')
- up = Vector((0.0, 0.0, 1.0))
- if abs(a3.dot(up)) == 1.0:
- up = Vector((0.0, 1.0, 0.0))
- a1 = a3.cross(up).normalize()
- a2 = a3.cross(a1)
- return Matrix([a1[0], a1[1], a1[2]], [a2[0], a2[1], a2[2]], [a3[0], a3[1], a3[2]])
-
-
class thickface(object):
__slost__= 'v', 'uv', 'no', 'area', 'edge_keys'
def __init__(self, face, uvface, mesh_verts):
@@ -1048,14 +1044,14 @@
continue
# Make a projection matrix from a unit length vector.
- MatProj = VectoMat(projectVecs[i])
+ MatQuat = VectoQuat(projectVecs[i])
# Get the faces UV's from the projected vertex.
for f in faceProjectionGroupList[i]:
f_uv = f.uv
for j, v in enumerate(f.v):
# XXX - note, between mathutils in 2.4 and 2.5 the order changed.
- f_uv[j][:] = (v.co * MatProj)[:2]
+ f_uv[j][:] = (v.co * MatQuat)[:2]
if USER_SHARE_SPACE:
More information about the Bf-blender-cvs
mailing list