[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