[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46403] branches/meshdata_transfer: svn merge ^/trunk/blender -r46340:46350

Ove Murberg Henriksen sorayasilvermoon at hotmail.com
Tue May 8 01:27:27 CEST 2012


Revision: 46403
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46403
Author:   cyborgmuppet
Date:     2012-05-07 23:27:27 +0000 (Mon, 07 May 2012)
Log Message:
-----------
svn merge ^/trunk/blender -r46340:46350

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46340

Modified Paths:
--------------
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_text.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/meshdata_transfer/source/blender/blenkernel/intern/library.c
    branches/meshdata_transfer/source/blender/editors/animation/anim_filter.c
    branches/meshdata_transfer/source/blender/editors/armature/armature_ops.c
    branches/meshdata_transfer/source/blender/editors/armature/poseobject.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_knife.c
    branches/meshdata_transfer/source/blender/editors/mesh/mesh_ops.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_object.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_armature.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_array.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_bevel.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_boolean.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_boolean_util.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_boolean_util.h
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_build.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_cast.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_cloth.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_collision.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_curve.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_decimate.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_displace.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_dynamicpaint.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_edgesplit.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_explode.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_fluidsim.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_fluidsim_util.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_hook.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_lattice.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_mask.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_meshdeform.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_mirror.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_multires.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_none.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_ocean.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_particleinstance.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_particlesystem.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_remesh.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_screw.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_shapekey.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_shrinkwrap.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_simpledeform.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_smoke.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_smooth.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_softbody.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_solidify.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_subsurf.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_surface.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_util.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_uvproject.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_warp.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_wave.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_weightvg_util.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_weightvgedit.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_weightvgmix.c
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_weightvgproximity.c

Property Changed:
----------------
    branches/meshdata_transfer/
    branches/meshdata_transfer/source/blender/editors/interface/interface.c
    branches/meshdata_transfer/source/blender/editors/space_outliner/


Property changes on: branches/meshdata_transfer
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037
/trunk/blender:44563-46200,46301-46340
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037
/trunk/blender:44563-46200,46301-46350

Modified: branches/meshdata_transfer/release/scripts/startup/bl_ui/space_text.py
===================================================================
--- branches/meshdata_transfer/release/scripts/startup/bl_ui/space_text.py	2012-05-07 23:23:55 UTC (rev 46402)
+++ branches/meshdata_transfer/release/scripts/startup/bl_ui/space_text.py	2012-05-07 23:27:27 UTC (rev 46403)
@@ -277,6 +277,13 @@
 
         layout.separator()
 
+        layout.operator("text.move_lines", 
+                        text="Move line(s) up").direction = 'UP'
+        layout.operator("text.move_lines",
+                        text="Move line(s) down").direction = 'DOWN'
+
+        layout.separator()
+
         layout.menu("TEXT_MT_edit_select")
         layout.menu("TEXT_MT_edit_markers")
 

Modified: branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d.py	2012-05-07 23:23:55 UTC (rev 46402)
+++ branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d.py	2012-05-07 23:27:27 UTC (rev 46403)
@@ -1538,6 +1538,24 @@
         layout.operator("pose.visual_transform_apply")
 
 
+class VIEW3D_MT_pose_specials(Menu):
+    bl_label = "Specials"
+
+    def draw(self, context):
+        layout = self.layout
+        layout.operator("pose.select_constraint_target")
+        layout.operator("pose.flip_names")
+        layout.operator("pose.paths_calculate")
+        layout.operator("pose.paths_clear")
+        layout.operator("pose.user_transforms_clear")
+        layout.operator("pose.user_transforms_clear", text="Clear User Transforms (All)").only_selected = False
+        layout.operator("pose.relax")
+
+        layout.separator()
+
+        layout.operator_menu_enum("pose.autoside_names", "axis")
+
+
 class BoneOptions:
     def draw(self, context):
         layout = self.layout

Modified: branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
--- branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2012-05-07 23:23:55 UTC (rev 46402)
+++ branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2012-05-07 23:27:27 UTC (rev 46403)
@@ -145,10 +145,10 @@
         row = col.row(align=True)
         props = row.operator("mesh.knife_tool", text="Knife")
         props.use_occlude_geometry = True
-        props.only_select = False
+        props.only_selected = False
         props = row.operator("mesh.knife_tool", text="Select")
         props.use_occlude_geometry = False
-        props.only_select = True
+        props.only_selected = True
 
         col = layout.column(align=True)
         col.label(text="Remove:")

Modified: branches/meshdata_transfer/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/meshdata_transfer/source/blender/blenkernel/intern/library.c	2012-05-07 23:23:55 UTC (rev 46402)
+++ branches/meshdata_transfer/source/blender/blenkernel/intern/library.c	2012-05-07 23:27:27 UTC (rev 46403)
@@ -945,7 +945,8 @@
 
 ID *BKE_libblock_find_name(const short type, const char *name)		/* type: "OB" or "MA" etc */
 {
-	ListBase *lb= which_libbase(G.main, type);
+	ListBase *lb = which_libbase(G.main, type);
+	BLI_assert(lb != NULL);
 	return BLI_findstring(lb, name, offsetof(ID, name) + 2);
 }
 

Modified: branches/meshdata_transfer/source/blender/editors/animation/anim_filter.c
===================================================================
--- branches/meshdata_transfer/source/blender/editors/animation/anim_filter.c	2012-05-07 23:23:55 UTC (rev 46402)
+++ branches/meshdata_transfer/source/blender/editors/animation/anim_filter.c	2012-05-07 23:27:27 UTC (rev 46403)
@@ -137,7 +137,7 @@
 				if (ac->obact && ac->obact->adt)
 					saction->action = ac->obact->adt->action;
 				else
-					saction->action= NULL;
+					saction->action = NULL;
 			}
 			
 			ac->datatype= ANIMCONT_ACTION;
@@ -150,6 +150,16 @@
 			ac->datatype= ANIMCONT_SHAPEKEY;
 			ac->data= actedit_get_shapekeys(ac);
 			
+			/* if not pinned, sync with active object */
+			if (/*saction->pin == 0*/1) {
+				Key *key = (Key *)ac->data;
+				
+				if (key && key->adt)
+					saction->action = key->adt->action;
+				else
+					saction->action = NULL;
+			}
+			
 			ac->mode= saction->mode;
 			return 1;
 			
@@ -1465,51 +1475,83 @@
 	return items;
 }
 
+
+static size_t animdata_filter_ds_material (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Material *ma, int filter_mode)
+{
+	ListBase tmp_data = {NULL, NULL};
+	size_t tmp_items = 0;
+	size_t items = 0;
+	
+	/* add material's animation data to temp collection */
+	BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_MAT_OBJD(ma))
+	{
+		/* material's animation data */
+		tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+			
+		/* textures */
+		if (!(ads->filterflag & ADS_FILTER_NOTEX))
+			tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+			
+		/* nodes */
+		if ((ma->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE)) 
+			tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)ma, ma->nodetree, filter_mode);
+	}
+	END_ANIMFILTER_SUBCHANNELS;
+	
+	/* did we find anything? */
+	if (tmp_items) {
+		/* include material-expand widget first */
+		// hmm... do we need to store the index of this material in the array anywhere?
+		if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+			/* check if filtering by active status */
+			if (ANIMCHANNEL_ACTIVEOK(ma)) {
+				ANIMCHANNEL_NEW_CHANNEL(ma, ANIMTYPE_DSMAT, ma);
+			}
+		}
+		
+		/* now add the list of collected channels */
+		BLI_movelisttolist(anim_data, &tmp_data);
+		BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+		items += tmp_items;
+	}
+	
+	return items;
+}
+
 static size_t animdata_filter_ds_materials (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
 {
-	size_t items=0;
-	int a=0;
+	short has_nested = 0;
+	size_t items = 0;
+	int a = 0;
 	
-	/* firstly check that we actuallly have some materials, by gathering all materials in a temp list */
-	for (a=1; a <= ob->totcol; a++) {
-		Material *ma= give_current_material(ob, a);
-		ListBase tmp_data = {NULL, NULL};
-		size_t tmp_items = 0;
+	/* first pass: take the materials referenced via the Material slots of the object */
+	for (a = 1; a <= ob->totcol; a++) {
+		Material *ma = give_current_material(ob, a);
 		
-		/* if no material returned, skip - so that we don't get weird blank entries... */
-		if (ma == NULL) continue;
-		
-		/* add material's animation data to temp collection */
-		BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_MAT_OBJD(ma))
-		{
-			/* material's animation data */
-			tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ma, filter_mode);
-				
-			/* textures */
-			if (!(ads->filterflag & ADS_FILTER_NOTEX))
-				tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)ma, filter_mode);
-				
-			/* nodes */
-			if ((ma->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE)) 
-				tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)ma, ma->nodetree, filter_mode);
+		/* if material is valid, try to add relevant contents from here */
+		if (ma) {
+			/* add channels */
+			items += animdata_filter_ds_material(ac, anim_data, ads, ma, filter_mode);
+			
+			/* for optimising second pass - check if there's a nested material here to come back for */
+			if (has_nested == 0)
+				has_nested = give_node_material(ma) != NULL;
 		}
-		END_ANIMFILTER_SUBCHANNELS;
-		
-		/* did we find anything? */
-		if (tmp_items) {
-			/* include material-expand widget first */
-			// hmm... do we need to store the index of this material in the array anywhere?
-			if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
-				/* check if filtering by active status */
-				if (ANIMCHANNEL_ACTIVEOK(ma)) {
-					ANIMCHANNEL_NEW_CHANNEL(ma, ANIMTYPE_DSMAT, ma);
-				}
-			}
+	}
+	
+	/* second pass: go through a second time looking for "nested" materials (material.material references)
+	 *
+	 * NOTE: here we ignore the expanded status of the parent, as it could be too confusing as to why these are
+	 *       disappearing/not available, since the relationships between these is not that clear
+	 */
+	if (has_nested) {
+		for (a = 1; a <= ob->totcol; a++) {
+			Material *base = give_current_material(ob, a);
+			Material *ma   = give_node_material(base);
 			
-			/* now add the list of collected channels */
-			BLI_movelisttolist(anim_data, &tmp_data);
-			BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
-			items += tmp_items;
+			/* add channels from the nested material if it exists */
+			if (ma)
+				items += animdata_filter_ds_material(ac, anim_data, ads, ma, filter_mode);
 		}
 	}
 	

Modified: branches/meshdata_transfer/source/blender/editors/armature/armature_ops.c
===================================================================

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list