[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