[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26239] trunk/blender: Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)
bjornmose
bjornmose at gmx.net
Thu Feb 4 01:28:41 CET 2010
Hi, all ..
was trapped by this .. - Matrix.scalePart --> Matrix.scale_part ..
getting a
' matrix' object has no attribute 'scalepart' ..
It was pretty obvious there must have been some changes in the python
interface ..
so, I did find my way, using some popular search engines ..
How ever,
I'd rather see those deprecated python function calls to respond
something like:
' - Matrix.scalePart has been replaced
by Matrix.scale_part
'
on the console
rather than 'dunno what u want'
me 2 cents
BM
Campbell Barton schrieb:
> Revision: 26239
> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26239
> Author: campbellbarton
> Date: 2010-01-25 10:44:04 +0100 (Mon, 25 Jan 2010)
>
> Log Message:
> -----------
> Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)
>
> - Mathutils.MidpointVecs --> vector.lerp(other, fac)
> - Mathutils.AngleBetweenVecs --> vector.angle(other)
> - Mathutils.ProjectVecs --> vector.project(other)
> - Mathutils.DifferenceQuats --> quat.difference(other)
> - Mathutils.Slerp --> quat.slerp(other, fac)
> - Mathutils.Rand: removed, use pythons random module
> - Mathutils.RotationMatrix(angle, size, axis_flag, axis) --> Mathutils.RotationMatrix(angle, size, axis); merge axis & axis_flag args
> - Matrix.scalePart --> Matrix.scale_part
> - Matrix.translationPart --> Matrix.translation_part
> - Matrix.rotationPart --> Matrix.rotation_part
> - toMatrix --> to_matrix
> - toEuler --> to_euler
> - toQuat --> to_quat
> - Vector.toTrackQuat --> Vector.to_track_quat
>
> Modified Paths:
> --------------
> trunk/blender/release/scripts/io/engine_render_pov.py
> trunk/blender/release/scripts/io/export_3ds.py
> trunk/blender/release/scripts/io/export_fbx.py
> trunk/blender/release/scripts/io/export_x3d.py
> trunk/blender/release/scripts/io/import_anim_bvh.py
> trunk/blender/release/scripts/modules/bpy_types.py
> trunk/blender/release/scripts/modules/retopo.py
> trunk/blender/release/scripts/modules/rigify/delta.py
> trunk/blender/release/scripts/modules/rigify/leg_quadruped.py
> trunk/blender/release/scripts/modules/rigify/mouth.py
> trunk/blender/release/scripts/modules/rigify/palm_curl.py
> trunk/blender/release/scripts/modules/rigify/shape_key_rotdiff.py
> trunk/blender/release/scripts/modules/rigify_utils.py
> trunk/blender/release/scripts/op/mesh.py
> trunk/blender/release/scripts/op/mesh_skin.py
> trunk/blender/release/scripts/op/uvcalc_smart_project.py
> trunk/blender/release/scripts/templates/gamelogic.py
> trunk/blender/source/blender/python/doc/epy/Geometry.py
> trunk/blender/source/blender/python/doc/epy/Mathutils.py
> trunk/blender/source/blender/python/generic/Geometry.c
> trunk/blender/source/blender/python/generic/Mathutils.c
> trunk/blender/source/blender/python/generic/euler.c
> trunk/blender/source/blender/python/generic/matrix.c
> trunk/blender/source/blender/python/generic/quat.c
> trunk/blender/source/blender/python/generic/vector.c
> trunk/blender/source/blender/python/sphinx_doc_gen.py
>
> Modified: trunk/blender/release/scripts/io/engine_render_pov.py
> ===================================================================
> --- trunk/blender/release/scripts/io/engine_render_pov.py 2010-01-25 07:19:28 UTC (rev 26238)
> +++ trunk/blender/release/scripts/io/engine_render_pov.py 2010-01-25 09:44:04 UTC (rev 26239)
> @@ -146,7 +146,7 @@
> file.write('\tup <0, 1, 0>\n')
> file.write('\tangle %f \n' % (360.0 * atan(16.0 / camera.data.lens) / pi))
>
> - file.write('\trotate <%.6f, %.6f, %.6f>\n' % tuple([degrees(e) for e in matrix.rotationPart().toEuler()]))
> + file.write('\trotate <%.6f, %.6f, %.6f>\n' % tuple([degrees(e) for e in matrix.rotation_part().to_euler()]))
> file.write('\ttranslate <%.6f, %.6f, %.6f>\n' % (matrix[3][0], matrix[3][1], matrix[3][2]))
> file.write('}\n')
>
>
> Modified: trunk/blender/release/scripts/io/export_3ds.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_3ds.py 2010-01-25 07:19:28 UTC (rev 26238)
> +++ trunk/blender/release/scripts/io/export_3ds.py 2010-01-25 09:44:04 UTC (rev 26239)
> @@ -839,7 +839,7 @@
> track_chunk.add_variable("position", _3ds_point_3d(obj.getLocation()))
> elif ID==ROT_TRACK_TAG:
> # rotation (quaternion, angle first, followed by axis):
> - q = obj.getEuler().toQuat()
> + q = obj.getEuler().to_quat()
> track_chunk.add_variable("rotation", _3ds_point_4d((q.angle, q.axis[0], q.axis[1], q.axis[2])))
> elif ID==SCL_TRACK_TAG:
> # scale vector:
>
> Modified: trunk/blender/release/scripts/io/export_fbx.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_fbx.py 2010-01-25 07:19:28 UTC (rev 26238)
> +++ trunk/blender/release/scripts/io/export_fbx.py 2010-01-25 09:44:04 UTC (rev 26239)
> @@ -146,7 +146,7 @@
> mtx4_identity = Mathutils.Matrix()
>
> # testing
> -mtx_x90 = Mathutils.RotationMatrix( math.pi/2, 3, 'x') # used
> +mtx_x90 = Mathutils.RotationMatrix( math.pi/2, 3, 'X') # used
> #mtx_x90n = RotationMatrix(-90, 3, 'x')
> #mtx_y90 = RotationMatrix( 90, 3, 'y')
> #mtx_y90n = RotationMatrix(-90, 3, 'y')
> @@ -154,11 +154,11 @@
> #mtx_z90n = RotationMatrix(-90, 3, 'z')
>
> #mtx4_x90 = RotationMatrix( 90, 4, 'x')
> -mtx4_x90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'x') # used
> +mtx4_x90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'X') # used
> #mtx4_y90 = RotationMatrix( 90, 4, 'y')
> -mtx4_y90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'y') # used
> -mtx4_z90 = Mathutils.RotationMatrix( math.pi/2, 4, 'z') # used
> -mtx4_z90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'z') # used
> +mtx4_y90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'Y') # used
> +mtx4_z90 = Mathutils.RotationMatrix( math.pi/2, 4, 'Z') # used
> +mtx4_z90n = Mathutils.RotationMatrix(-math.pi/2, 4, 'Z') # used
>
> # def strip_path(p):
> # return p.split('\\')[-1].split('/')[-1]
> @@ -590,9 +590,9 @@
> def getAnimParRelMatrixRot(self, frame):
> type = self.blenObject.type
> if self.fbxParent:
> - matrix_rot = (((self.__anim_poselist[frame] * GLOBAL_MATRIX) * (self.fbxParent.__anim_poselist[frame] * GLOBAL_MATRIX).invert())).rotationPart()
> + matrix_rot = (((self.__anim_poselist[frame] * GLOBAL_MATRIX) * (self.fbxParent.__anim_poselist[frame] * GLOBAL_MATRIX).invert())).rotation_part()
> else:
> - matrix_rot = (self.__anim_poselist[frame] * GLOBAL_MATRIX).rotationPart()
> + matrix_rot = (self.__anim_poselist[frame] * GLOBAL_MATRIX).rotation_part()
>
> # Lamps need to be rotated
> if type =='LAMP':
> @@ -600,7 +600,7 @@
> elif type =='CAMERA':
> # elif ob and type =='Camera':
> y = Mathutils.Vector(0,1,0) * matrix_rot
> - matrix_rot = matrix_rot * Mathutils.RotationMatrix(math.pi/2, 3, 'r', y)
> + matrix_rot = matrix_rot * Mathutils.RotationMatrix(math.pi/2, 3, y)
>
> return matrix_rot
>
> @@ -676,11 +676,11 @@
> # par_matrix = mtx4_z90 * parent.matrix['ARMATURESPACE'] # dont apply armature matrix anymore
> matrix = matrix * par_matrix.copy().invert()
>
> - matrix_rot = matrix.rotationPart()
> + matrix_rot = matrix.rotation_part()
>
> - loc = tuple(matrix.translationPart())
> - scale = tuple(matrix.scalePart())
> - rot = tuple(matrix_rot.toEuler())
> + loc = tuple(matrix.translation_part())
> + scale = tuple(matrix.scale_part())
> + rot = tuple(matrix_rot.to_euler())
>
> else:
> # This is bad because we need the parent relative matrix from the fbx parent (if we have one), dont use anymore
> @@ -692,20 +692,20 @@
> # matrix = matrix_scale * matrix
>
> if matrix:
> - loc = tuple(matrix.translationPart())
> - scale = tuple(matrix.scalePart())
> + loc = tuple(matrix.translation_part())
> + scale = tuple(matrix.scale_part())
>
> - matrix_rot = matrix.rotationPart()
> + matrix_rot = matrix.rotation_part()
> # Lamps need to be rotated
> if ob and ob.type =='Lamp':
> matrix_rot = mtx_x90 * matrix_rot
> - rot = tuple(matrix_rot.toEuler())
> + rot = tuple(matrix_rot.to_euler())
> elif ob and ob.type =='Camera':
> y = Mathutils.Vector(0,1,0) * matrix_rot
> - matrix_rot = matrix_rot * Mathutils.RotationMatrix(math.pi/2, 3, 'r', y)
> - rot = tuple(matrix_rot.toEuler())
> + matrix_rot = matrix_rot * Mathutils.RotationMatrix(math.pi/2, 3, y)
> + rot = tuple(matrix_rot.to_euler())
> else:
> - rot = tuple(matrix_rot.toEuler())
> + rot = tuple(matrix_rot.to_euler())
> else:
> if not loc:
> loc = 0,0,0
> @@ -1131,7 +1131,7 @@
> else:
> do_light = 1
>
> - scale = abs(GLOBAL_MATRIX.scalePart()[0]) # scale is always uniform in this case
> + scale = abs(GLOBAL_MATRIX.scale_part()[0]) # scale is always uniform in this case
>
> file.write('\n\t\t\tProperty: "LightType", "enum", "",%i' % light_type)
> file.write('\n\t\t\tProperty: "CastLightOnObject", "bool", "",1')
> @@ -2866,18 +2866,18 @@
> # ----------------
> for TX_LAYER, TX_CHAN in enumerate('TRS'): # transform, rotate, scale
>
> - if TX_CHAN=='T': context_bone_anim_vecs = [mtx[0].translationPart() for mtx in context_bone_anim_mats]
> - elif TX_CHAN=='S': context_bone_anim_vecs = [mtx[0].scalePart() for mtx in context_bone_anim_mats]
> + if TX_CHAN=='T': context_bone_anim_vecs = [mtx[0].translation_part() for mtx in context_bone_anim_mats]
> + elif TX_CHAN=='S': context_bone_anim_vecs = [mtx[0].scale_part() for mtx in context_bone_anim_mats]
> elif TX_CHAN=='R':
> # Was....
> - # elif TX_CHAN=='R': context_bone_anim_vecs = [mtx[1].toEuler() for mtx in context_bone_anim_mats]
> + # elif TX_CHAN=='R': context_bone_anim_vecs = [mtx[1].to_euler() for mtx in context_bone_anim_mats]
> #
> # ...but we need to use the previous euler for compatible conversion.
> context_bone_anim_vecs = []
> prev_eul = None
> for mtx in context_bone_anim_mats:
> - if prev_eul: prev_eul = mtx[1].toEuler(prev_eul)
> - else: prev_eul = mtx[1].toEuler()
> + if prev_eul: prev_eul = mtx[1].to_euler(prev_eul)
> + else: prev_eul = mtx[1].to_euler()
> context_bone_anim_vecs.append(eulerRadToDeg(prev_eul))
> # context_bone_anim_vecs.append(prev_eul)
>
>
> Modified: trunk/blender/release/scripts/io/export_x3d.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_x3d.py 2010-01-25 07:19:28 UTC (rev 26238)
> +++ trunk/blender/release/scripts/io/export_x3d.py 2010-01-25 09:44:04 UTC (rev 26239)
> @@ -81,7 +81,7 @@
>
> #
> DEG2RAD=0.017453292519943295
> -MATWORLD= Mathutils.RotationMatrix(-90, 4, 'x')
> +MATWORLD= Mathutils.RotationMatrix(-90, 4, 'X')
>
> ####################################
> # Global Variables
> @@ -239,8 +239,8 @@
> # get the camera location, subtract 90 degress from X to orient like X3D does
> # mat = ob.matrixWorld - mat is now passed!
>
> - loc = self.rotatePointForVRML(mat.translationPart())
> - rot = mat.toEuler()
> + loc = self.rotatePointForVRML(mat.translation_part())
> + rot = mat.to_euler()
> rot = (((rot[0]-90)), rot[1], rot[2])
> # rot = (((rot[0]-90)*DEG2RAD), rot[1]*DEG2RAD, rot[2]*DEG2RAD)
> nRot = self.rotatePointForVRML( rot )
> @@ -300,8 +300,8 @@
> # note -dz seems to equal om[3][1]
> # note dy seems to equal om[3][2]
>
> - #location=(ob.matrixWorld*MATWORLD).translationPart() # now passed
> - location=(mtx*MATWORLD).translationPart()
> + #location=(ob.matrixWorld*MATWORLD).translation_part() # now passed
> + location=(mtx*MATWORLD).translation_part()
>
> radius = lamp.distance*math.cos(beamWidth)
> # radius = lamp.dist*math.cos(beamWidth)
> @@ -346,8 +346,8 @@
> ambi = 0
> ambientIntensity = 0
>
> - # location=(ob.matrixWorld*MATWORLD).translationPart() # now passed
> - location= (mtx*MATWORLD).translationPart()
> + # location=(ob.matrixWorld*MATWORLD).translation_part() # now passed
> + location= (mtx*MATWORLD).translation_part()
>
> self.file.write("<PointLight DEF=\"%s\" " % safeName)
> self.file.write("ambientIntensity=\"%s\" " % (round(ambientIntensity,self.cp)))
> @@ -364,8 +364,8 @@
> return
> else:
> dx,dy,dz = self.computeDirection(mtx)
>
> @@ Diff output truncated at 10240 characters. @@
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
>
More information about the Bf-committers
mailing list