[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27514] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27446 :27511

Brecht Van Lommel brecht at blender.org
Mon Mar 15 13:02:11 CET 2010


Revision: 27514
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27514
Author:   blendix
Date:     2010-03-15 13:02:10 +0100 (Mon, 15 Mar 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27446:27511

Modified Paths:
--------------
    branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp
    branches/render25/release/scripts/io/export_fbx.py
    branches/render25/release/scripts/modules/bpy/__init__.py
    branches/render25/release/scripts/op/image.py
    branches/render25/release/scripts/op/wm.py
    branches/render25/release/scripts/ui/properties_data_lamp.py
    branches/render25/release/scripts/ui/properties_physics_softbody.py
    branches/render25/release/scripts/ui/properties_render.py
    branches/render25/release/scripts/ui/properties_texture.py
    branches/render25/release/scripts/ui/space_dopesheet.py
    branches/render25/release/scripts/ui/space_userpref.py
    branches/render25/release/scripts/ui/space_view3d_toolbar.py
    branches/render25/source/blender/blenkernel/intern/displist.c
    branches/render25/source/blender/blenkernel/intern/font.c
    branches/render25/source/blender/blenkernel/intern/mesh.c
    branches/render25/source/blender/blenkernel/intern/modifier.c
    branches/render25/source/blender/blenkernel/intern/sequencer.c
    branches/render25/source/blender/blenkernel/intern/smoke.c
    branches/render25/source/blender/blenkernel/intern/softbody.c
    branches/render25/source/blender/blenkernel/intern/writeffmpeg.c
    branches/render25/source/blender/blenlib/intern/BLI_args.c
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/editors/animation/anim_channels_defines.c
    branches/render25/source/blender/editors/animation/anim_channels_edit.c
    branches/render25/source/blender/editors/animation/anim_deps.c
    branches/render25/source/blender/editors/animation/anim_draw.c
    branches/render25/source/blender/editors/animation/anim_filter.c
    branches/render25/source/blender/editors/animation/anim_ipo_utils.c
    branches/render25/source/blender/editors/animation/anim_markers.c
    branches/render25/source/blender/editors/animation/anim_ops.c
    branches/render25/source/blender/editors/animation/drivers.c
    branches/render25/source/blender/editors/animation/fmodifier_ui.c
    branches/render25/source/blender/editors/animation/keyframes_draw.c
    branches/render25/source/blender/editors/curve/curve_ops.c
    branches/render25/source/blender/editors/curve/editcurve.c
    branches/render25/source/blender/editors/include/ED_node.h
    branches/render25/source/blender/editors/include/UI_resources.h
    branches/render25/source/blender/editors/interface/interface.c
    branches/render25/source/blender/editors/interface/interface_regions.c
    branches/render25/source/blender/editors/interface/resources.c
    branches/render25/source/blender/editors/object/object_bake.c
    branches/render25/source/blender/editors/physics/particle_edit.c
    branches/render25/source/blender/editors/render/render_internal.c
    branches/render25/source/blender/editors/render/render_preview.c
    branches/render25/source/blender/editors/screen/glutil.c
    branches/render25/source/blender/editors/sculpt_paint/paint_image.c
    branches/render25/source/blender/editors/sculpt_paint/sculpt.c
    branches/render25/source/blender/editors/space_file/filesel.c
    branches/render25/source/blender/editors/space_graph/graph_draw.c
    branches/render25/source/blender/editors/space_node/drawnode.c
    branches/render25/source/blender/editors/space_node/node_draw.c
    branches/render25/source/blender/editors/space_view3d/drawobject.c
    branches/render25/source/blender/editors/space_view3d/view3d_buttons.c
    branches/render25/source/blender/editors/space_view3d/view3d_draw.c
    branches/render25/source/blender/editors/space_view3d/view3d_view.c
    branches/render25/source/blender/editors/transform/transform.c
    branches/render25/source/blender/imbuf/IMB_imbuf.h
    branches/render25/source/blender/imbuf/intern/filter.c
    branches/render25/source/blender/imbuf/intern/tiff.c
    branches/render25/source/blender/makesdna/DNA_node_types.h
    branches/render25/source/blender/makesdna/DNA_texture_types.h
    branches/render25/source/blender/makesdna/DNA_userdef_types.h
    branches/render25/source/blender/makesrna/intern/makesrna.c
    branches/render25/source/blender/makesrna/intern/rna_access.c
    branches/render25/source/blender/makesrna/intern/rna_actuator.c
    branches/render25/source/blender/makesrna/intern/rna_color.c
    branches/render25/source/blender/makesrna/intern/rna_internal.h
    branches/render25/source/blender/makesrna/intern/rna_nodetree.c
    branches/render25/source/blender/makesrna/intern/rna_object_force.c
    branches/render25/source/blender/makesrna/intern/rna_scene.c
    branches/render25/source/blender/makesrna/intern/rna_sequencer.c
    branches/render25/source/blender/makesrna/intern/rna_texture.c
    branches/render25/source/blender/makesrna/intern/rna_userdef.c
    branches/render25/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
    branches/render25/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c
    branches/render25/source/blender/python/generic/Geometry.c
    branches/render25/source/blender/python/generic/IDProp.c
    branches/render25/source/blender/python/generic/Mathutils.c
    branches/render25/source/blender/python/generic/bpy_internal_import.c
    branches/render25/source/blender/python/generic/euler.c
    branches/render25/source/blender/python/generic/quat.c
    branches/render25/source/blender/python/intern/bpy.c
    branches/render25/source/blender/python/intern/bpy_app.c
    branches/render25/source/blender/python/intern/bpy_array.c
    branches/render25/source/blender/python/intern/bpy_driver.c
    branches/render25/source/blender/python/intern/bpy_interface.c
    branches/render25/source/blender/python/intern/bpy_operator.c
    branches/render25/source/blender/python/intern/bpy_operator_wrap.c
    branches/render25/source/blender/python/intern/bpy_props.c
    branches/render25/source/blender/python/intern/bpy_rna.c
    branches/render25/source/blender/python/intern/bpy_rna_callback.c
    branches/render25/source/blender/python/intern/bpy_util.c
    branches/render25/source/blender/render/extern/include/RE_pipeline.h
    branches/render25/source/blender/render/intern/include/database.h
    branches/render25/source/blender/render/intern/include/raytrace.h
    branches/render25/source/blender/render/intern/include/render_types.h
    branches/render25/source/blender/render/intern/source/bake.c
    branches/render25/source/blender/render/intern/source/camera.c
    branches/render25/source/blender/render/intern/source/convertblender.c
    branches/render25/source/blender/render/intern/source/diskocclusion.c
    branches/render25/source/blender/render/intern/source/lamp.c
    branches/render25/source/blender/render/intern/source/pipeline.c
    branches/render25/source/blender/render/intern/source/texture_envmap.c
    branches/render25/source/blender/render/intern/source/texture_image.c
    branches/render25/source/blender/render/intern/source/volume_precache.c
    branches/render25/source/blender/render/intern/source/zbuf.c
    branches/render25/source/blender/windowmanager/intern/wm_event_system.c
    branches/render25/source/blender/windowmanager/intern/wm_init_exit.c
    branches/render25/source/blender/windowmanager/intern/wm_operators.c
    branches/render25/source/creator/buildinfo.c
    branches/render25/source/creator/creator.c

Added Paths:
-----------
    branches/render25/release/scripts/presets/ffmpeg/
    branches/render25/release/scripts/presets/ffmpeg/DV.py
    branches/render25/release/scripts/presets/ffmpeg/DVD.py
    branches/render25/release/scripts/presets/ffmpeg/SVCD.py
    branches/render25/release/scripts/presets/ffmpeg/VCD.py
    branches/render25/release/scripts/presets/ffmpeg/h264.py
    branches/render25/release/scripts/presets/ffmpeg/theora.py
    branches/render25/release/scripts/presets/ffmpeg/xvid.py

Removed Paths:
-------------
    branches/render25/release/scripts/presets/ffmpeg/DV.py
    branches/render25/release/scripts/presets/ffmpeg/DVD.py
    branches/render25/release/scripts/presets/ffmpeg/SVCD.py
    branches/render25/release/scripts/presets/ffmpeg/VCD.py
    branches/render25/release/scripts/presets/ffmpeg/h264.py
    branches/render25/release/scripts/presets/ffmpeg/theora.py
    branches/render25/release/scripts/presets/ffmpeg/xvid.py

Modified: branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp	2010-03-15 11:45:29 UTC (rev 27513)
+++ branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp	2010-03-15 12:02:10 UTC (rev 27514)
@@ -536,38 +536,43 @@
 		}
 
 		case ButtonPress:
-		{
-			/* process wheel mouse events and break */
-			if (xe->xbutton.button == 4) {
-				g_event = new GHOST_EventWheel(getMilliSeconds(), window, 1);
-				break;
-			}
-			if (xe->xbutton.button == 5) {
-				g_event = new GHOST_EventWheel(getMilliSeconds(), window, -1);
-				break;
-			}
-		}
 		case ButtonRelease:
 		{
-
 			XButtonEvent & xbe = xe->xbutton;
 			GHOST_TButtonMask gbmask = GHOST_kButtonMaskLeft;
-			switch (xbe.button) {
-				case Button1 : gbmask = GHOST_kButtonMaskLeft; break;
-				case Button3 : gbmask = GHOST_kButtonMaskRight; break;
-				/* It seems events 6 and 7 are for horizontal scrolling.
-				 * you can re-order button mapping like this... (swaps 6,7 with 8,9)
-				 *   xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7" 
-				 */
-				case 8 : gbmask = GHOST_kButtonMaskButton4; break; /* Button4 is the wheel */
-				case 9 : gbmask = GHOST_kButtonMaskButton5; break; /* Button5 is a wheel too */
-				default:
-				case Button2 : gbmask = GHOST_kButtonMaskMiddle; break;
-			}
-			
 			GHOST_TEventType type = (xbe.type == ButtonPress) ? 
 				GHOST_kEventButtonDown : GHOST_kEventButtonUp;
+
+			/* process wheel mouse events and break, only pass on press events */
+			if(xbe.button == Button4) {
+				if(xbe.type == ButtonPress)
+					g_event = new GHOST_EventWheel(getMilliSeconds(), window, 1);
+				break;
+			}
+			else if(xbe.button == Button5) {
+				if(xbe.type == ButtonPress)
+					g_event = new GHOST_EventWheel(getMilliSeconds(), window, -1);
+				break;
+			}
 			
+			/* process rest of normal mouse buttons */
+			if(xbe.button == Button1)
+				gbmask = GHOST_kButtonMaskLeft;
+			else if(xbe.button == Button2)
+				gbmask = GHOST_kButtonMaskMiddle;
+			else if(xbe.button == Button3)
+				gbmask = GHOST_kButtonMaskRight;
+			/* It seems events 6 and 7 are for horizontal scrolling.
+			* you can re-order button mapping like this... (swaps 6,7 with 8,9)
+			*   xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7" 
+			*/
+			else if(xbe.button == 8)
+				gbmask = GHOST_kButtonMaskButton4;
+			else if(xbe.button == 9)
+				gbmask = GHOST_kButtonMaskButton5;
+			else
+				break;
+
 			g_event = new
 			GHOST_EventButton(
 				getMilliSeconds(),

Modified: branches/render25/release/scripts/io/export_fbx.py
===================================================================
--- branches/render25/release/scripts/io/export_fbx.py	2010-03-15 11:45:29 UTC (rev 27513)
+++ branches/render25/release/scripts/io/export_fbx.py	2010-03-15 12:02:10 UTC (rev 27514)
@@ -545,10 +545,10 @@
             #arm_mat = self.fbxArm.parRelMatrix()
             if not self.parent:
                 #return mtx4_z90 * (self.getPoseMatrix(frame) * arm_mat) # dont apply arm matrix anymore
-                return mtx4_z90 * self.getPoseMatrix(frame)
+                return self.getPoseMatrix(frame) * mtx4_z90
             else:
                 #return (mtx4_z90 * ((self.getPoseMatrix(frame) * arm_mat)))  *  (mtx4_z90 * (self.parent.getPoseMatrix(frame) * arm_mat)).invert()
-                return (mtx4_z90 * (self.getPoseMatrix(frame)))  *  (mtx4_z90 * self.parent.getPoseMatrix(frame)).invert()
+                return (self.parent.getPoseMatrix(frame) * mtx4_z90).invert() * ((self.getPoseMatrix(frame)) * mtx4_z90)
 
         # we need thes because cameras and lights modified rotations
         def getAnimParRelMatrixRot(self, frame):
@@ -565,14 +565,14 @@
             self.blenObject = ob
             self.fbxGroupNames = []
             self.fbxParent = None # set later on IF the parent is in the selection.
-            if matrixWorld:		self.matrixWorld = matrixWorld * GLOBAL_MATRIX
-            else:				self.matrixWorld = ob.matrix * GLOBAL_MATRIX
+            if matrixWorld:		self.matrixWorld = GLOBAL_MATRIX * matrixWorld
+            else:				self.matrixWorld = GLOBAL_MATRIX * ob.matrix
 # 			else:				self.matrixWorld = ob.matrixWorld * GLOBAL_MATRIX
             self.__anim_poselist = {} # we should only access this
 
         def parRelMatrix(self):
             if self.fbxParent:
-                return self.matrixWorld * self.fbxParent.matrixWorld.copy().invert()
+                return self.fbxParent.matrixWorld.copy().invert() * self.matrixWorld
             else:
                 return self.matrixWorld
 
@@ -583,24 +583,24 @@
         def getAnimParRelMatrix(self, frame):
             if self.fbxParent:
                 #return (self.__anim_poselist[frame] * self.fbxParent.__anim_poselist[frame].copy().invert() ) * GLOBAL_MATRIX
-                return (self.__anim_poselist[frame] * GLOBAL_MATRIX) * (self.fbxParent.__anim_poselist[frame] * GLOBAL_MATRIX).invert()
+                return (GLOBAL_MATRIX * self.fbxParent.__anim_poselist[frame]).invert() * (GLOBAL_MATRIX * self.__anim_poselist[frame])
             else:
-                return self.__anim_poselist[frame] * GLOBAL_MATRIX
+                return GLOBAL_MATRIX * self.__anim_poselist[frame]
 
         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())).rotation_part()
+                matrix_rot = ((GLOBAL_MATRIX * self.fbxParent.__anim_poselist[frame]).invert() * (GLOBAL_MATRIX * self.__anim_poselist[frame])).rotation_part()
             else:
-                matrix_rot = (self.__anim_poselist[frame] * GLOBAL_MATRIX).rotation_part()
+                matrix_rot = (GLOBAL_MATRIX * self.__anim_poselist[frame]).rotation_part()
 
             # Lamps need to be rotated
             if type =='LAMP':
-                matrix_rot = mtx_x90 * matrix_rot
+                matrix_rot = matrix_rot * mtx_x90
             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, y)
+                y = matrix_rot * Mathutils.Vector(0,1,0)
+                matrix_rot = Mathutils.RotationMatrix(math.pi/2, 3, y) * matrix_rot
 
             return matrix_rot
 
@@ -666,15 +666,15 @@
 
             # we know we have a matrix
             # matrix = mtx4_z90 * (ob.matrix['ARMATURESPACE'] * matrix_mod)
-            matrix = mtx4_z90 * ob.matrix_local # dont apply armature matrix anymore
+            matrix = ob.matrix_local * mtx4_z90 # dont apply armature matrix anymore
 # 			matrix = mtx4_z90 * ob.matrix['ARMATURESPACE'] # dont apply armature matrix anymore
 
             parent = ob.parent
             if parent:
                 #par_matrix = mtx4_z90 * (parent.matrix['ARMATURESPACE'] * matrix_mod)
-                par_matrix = mtx4_z90 * parent.matrix_local # dont apply armature matrix anymore
+                par_matrix = parent.matrix_local * mtx4_z90 # dont apply armature matrix anymore
 # 				par_matrix = mtx4_z90 * parent.matrix['ARMATURESPACE'] # dont apply armature matrix anymore
-                matrix = matrix * par_matrix.copy().invert()
+                matrix = par_matrix.copy().invert() * matrix
 
             matrix_rot =	matrix.rotation_part()
 
@@ -698,11 +698,11 @@
                 matrix_rot = matrix.rotation_part()
                 # Lamps need to be rotated
                 if ob and ob.type =='Lamp':
-                    matrix_rot = mtx_x90 * matrix_rot
+                    matrix_rot = matrix_rot * mtx_x90
                     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, y)
+                    y = matrix_rot * Mathutils.Vector(0,1,0)
+                    matrix_rot = Mathutils.RotationMatrix(math.pi/2, 3, y) * matrix_rot
                     rot = tuple(matrix_rot.to_euler())
                 else:
                     rot = tuple(matrix_rot.to_euler())
@@ -1087,8 +1087,8 @@
         file.write('\n\t\tTypeFlags: "Camera"')
         file.write('\n\t\tGeometryVersion: 124')
         file.write('\n\t\tPosition: %.6f,%.6f,%.6f' % loc)
-        file.write('\n\t\tUp: %.6f,%.6f,%.6f' % tuple(Mathutils.Vector(0,1,0) * matrix_rot) )
-        file.write('\n\t\tLookAt: %.6f,%.6f,%.6f' % tuple(Mathutils.Vector(0,0,-1)*matrix_rot) )
+        file.write('\n\t\tUp: %.6f,%.6f,%.6f' % tuple(matrix_rot * Mathutils.Vector(0,1,0)) )
+        file.write('\n\t\tLookAt: %.6f,%.6f,%.6f' % tuple(matrix_rot * Mathutils.Vector(0,0,-1)) )
 
         #file.write('\n\t\tUp: 0,0,0' )
         #file.write('\n\t\tLookAt: 0,0,0' )
@@ -1485,10 +1485,10 @@
 
         if my_mesh.fbxParent:
             # TODO FIXME, this case is broken in some cases. skinned meshes just shouldnt have parents where possible!
-            m = mtx4_z90 * (my_bone.restMatrix * my_bone.fbxArm.matrixWorld.copy() * my_mesh.matrixWorld.copy().invert() )
+            m = (my_mesh.matrixWorld.copy().invert() * my_bone.fbxArm.matrixWorld.copy() * my_bone.restMatrix) * mtx4_z90
         else:
             # Yes! this is it...  - but dosnt work when the mesh is a.
-            m = mtx4_z90 * (my_bone.restMatrix * my_bone.fbxArm.matrixWorld.copy() * my_mesh.matrixWorld.copy().invert() )
+            m = (my_mesh.matrixWorld.copy().invert() * my_bone.fbxArm.matrixWorld.copy() * my_bone.restMatrix) * mtx4_z90
 
         #m = mtx4_z90 * my_bone.restMatrix
         matstr = mat4x4str(m)
@@ -2812,7 +2812,7 @@
                 # Set the action active
                 for my_bone in ob_arms:
                     if blenAction in my_bone.blenActionList:
-                        ob.action = blenAction
+                        ob.animation_data.action = blenAction
                         # print '\t\tSetting Action!', blenAction
                 # scene.update(1)
 
@@ -2969,7 +2969,7 @@
             # end action loop. set original actions
             # do this after every loop incase actions effect eachother.
             for my_bone in ob_arms:

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list