[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41432] branches/bmesh/blender: svn merge -r41422:41431 ^/trunk/blender

Campbell Barton ideasman42 at gmail.com
Tue Nov 1 10:05:40 CET 2011


Revision: 41432
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41432
Author:   campbellbarton
Date:     2011-11-01 09:05:38 +0000 (Tue, 01 Nov 2011)
Log Message:
-----------
svn merge -r41422:41431 ^/trunk/blender

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

Modified Paths:
--------------
    branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d.py
    branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_library.h
    branches/bmesh/blender/source/blender/blenkernel/intern/action.c
    branches/bmesh/blender/source/blender/blenkernel/intern/armature.c
    branches/bmesh/blender/source/blender/blenkernel/intern/blender.c
    branches/bmesh/blender/source/blender/blenkernel/intern/brush.c
    branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
    branches/bmesh/blender/source/blender/blenkernel/intern/curve.c
    branches/bmesh/blender/source/blender/blenkernel/intern/deform.c
    branches/bmesh/blender/source/blender/blenkernel/intern/image.c
    branches/bmesh/blender/source/blender/blenkernel/intern/key.c
    branches/bmesh/blender/source/blender/blenkernel/intern/lattice.c
    branches/bmesh/blender/source/blender/blenkernel/intern/library.c
    branches/bmesh/blender/source/blender/blenkernel/intern/material.c
    branches/bmesh/blender/source/blender/blenkernel/intern/mball.c
    branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/object.c
    branches/bmesh/blender/source/blender/blenkernel/intern/particle.c
    branches/bmesh/blender/source/blender/blenkernel/intern/speaker.c
    branches/bmesh/blender/source/blender/blenkernel/intern/texture.c
    branches/bmesh/blender/source/blender/blenkernel/intern/world.c
    branches/bmesh/blender/source/blender/blenlib/BLI_bpath.h
    branches/bmesh/blender/source/blender/blenlib/intern/bpath.c
    branches/bmesh/blender/source/blender/editors/include/ED_mesh.h
    branches/bmesh/blender/source/blender/editors/object/object_vgroup.c
    branches/bmesh/blender/source/blender/makesdna/DNA_object_types.h

Property Changed:
----------------
    branches/bmesh/blender/
    branches/bmesh/blender/release/
    branches/bmesh/blender/source/blender/editors/space_outliner/


Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender:39992-41422
   + /trunk/blender:39992-41431


Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/release:31524-41422
   + /trunk/blender/release:31524-41431

Modified: branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d.py	2011-11-01 09:05:38 UTC (rev 41432)
@@ -1085,6 +1085,7 @@
 
         layout.operator("object.vertex_group_normalize_all", text="Normalize All")
         layout.operator("object.vertex_group_normalize", text="Normalize")
+        layout.operator("object.vertex_group_mirror", text="Mirror")
         layout.operator("object.vertex_group_invert", text="Invert")
         layout.operator("object.vertex_group_clean", text="Clean")
         layout.operator("object.vertex_group_levels", text="Levels")

Modified: branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
--- branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2011-11-01 09:05:38 UTC (rev 41432)
@@ -1036,6 +1036,7 @@
         col.active = ob.vertex_groups.active is not None
         col.operator("object.vertex_group_normalize_all", text="Normalize All")
         col.operator("object.vertex_group_normalize", text="Normalize")
+        col.operator("object.vertex_group_mirror", text="Mirror")
         col.operator("object.vertex_group_invert", text="Invert")
         col.operator("object.vertex_group_clean", text="Clean")
         col.operator("object.vertex_group_levels", text="Levels")

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h	2011-11-01 09:05:38 UTC (rev 41432)
@@ -45,6 +45,7 @@
 struct bDeformGroup *defgroup_find_name(struct Object *ob, const char *name);
 int					 defgroup_find_index(struct Object *ob, struct bDeformGroup *dg);
 int					*defgroup_flip_map(struct Object *ob, int *flip_map_len, int use_default);
+int					*defgroup_flip_map_single(struct Object *ob, int *flip_map_len, int use_default, int defgroup);
 int					 defgroup_flip_index(struct Object *ob, int index, int use_default);
 int					 defgroup_name_index(struct Object *ob, const char *name);
 void				 defgroup_unique_name(struct bDeformGroup *dg, struct Object *ob);

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_library.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_library.h	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_library.h	2011-11-01 09:05:38 UTC (rev 41432)
@@ -49,6 +49,7 @@
 void *copy_libblock(void *rt);
 void copy_libblock_data(struct ID *id, const struct ID *id_from, const short do_action);
 
+void BKE_id_lib_local_paths(struct Main *bmain, struct ID *id);
 void id_lib_extern(struct ID *id);
 void BKE_library_filepath_set(struct Library *lib, const char *filepath);
 void id_us_plus(struct ID *id);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/action.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/action.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -146,13 +146,10 @@
 		id_clear_lib_data(bmain, &act->id);
 	}
 	else if (mlac.is_local && mlac.is_lib) {
-		char *bpath_user_data[2]= {bmain->name, act->id.lib->filepath};
-
 		mlac.actn= copy_action(act);
 		mlac.actn->id.us= 0;
 
-		/* Remap paths of new ID using old library as base. */
-		bpath_traverse_id(bmain, &mlac.actn->id, bpath_relocate_visitor, 0, bpath_user_data);
+		BKE_id_lib_local_paths(bmain, &mlac.actn->id);
 
 		BKE_animdata_main_cb(bmain, make_localact_apply_cb, &mlac);
 	}

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/armature.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/armature.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -157,12 +157,11 @@
 		id_clear_lib_data(bmain, &arm->id);
 	}
 	else if(is_local && is_lib) {
-		char *bpath_user_data[2]= {bmain->name, arm->id.lib->filepath};
 		bArmature *armn= copy_armature(arm);
 		armn->id.us= 0;
 
 		/* Remap paths of new ID using old library as base. */
-		bpath_traverse_id(bmain, &armn->id, bpath_relocate_visitor, 0, bpath_user_data);
+		BKE_id_lib_local_paths(bmain, &armn->id);
 
 		for(ob= bmain->object.first; ob; ob= ob->id.next) {
 			if(ob->data == arm) {

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/blender.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/blender.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -173,7 +173,7 @@
 {
 	Scene *scene;
 
-	bpath_traverse_main(main, clean_paths_visit_cb, 0, NULL);
+	bpath_traverse_main(main, clean_paths_visit_cb, BPATH_TRAVERSE_SKIP_MULTIFILE, NULL);
 
 	for(scene= main->scene.first; scene; scene= scene->id.next) {
 		BLI_clean(scene->r.pic);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/brush.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/brush.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/brush.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -224,13 +224,12 @@
 		}
 	}
 	else if(is_local && is_lib) {
-		char *bpath_user_data[2]= {bmain->name, brush->id.lib->filepath};
 		Brush *brushn= copy_brush(brush);
 		brushn->id.us= 1; /* only keep fake user */
 		brushn->id.flag |= LIB_FAKEUSER;
 
 		/* Remap paths of new ID using old library as base. */
-		bpath_traverse_id(bmain, &brushn->id, bpath_relocate_visitor, 0, bpath_user_data);
+		BKE_id_lib_local_paths(bmain, &brush->id);
 		
 		for(scene= bmain->scene.first; scene; scene=scene->id.next) {
 			if(paint_brush(&scene->toolsettings->imapaint.paint)==brush) {

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -703,7 +703,7 @@
 				ct->type = CONSTRAINT_OBTYPE_BONE; \
 				ct->rotOrder= (pchan) ? (pchan->rotmode) : EULER_ORDER_DEFAULT; \
 			}\
-			else if (ELEM(ct->tar->type, OB_MESH, OB_LATTICE) && (ct->subtarget[0])) { \
+			else if (OB_TYPE_SUPPORT_VGROUP(ct->tar->type) && (ct->subtarget[0])) { \
 				ct->type = CONSTRAINT_OBTYPE_VERT; \
 				ct->rotOrder = EULER_ORDER_DEFAULT; \
 			} \

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/curve.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/curve.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -274,14 +274,11 @@
 		extern_local_curve(cu);
 	}
 	else if(is_local && is_lib) {
-		char *bpath_user_data[2]= {bmain->name, cu->id.lib->filepath};
 		Curve *cun= copy_curve(cu);
 		cun->id.us= 0;
 
+		BKE_id_lib_local_paths(bmain, &cun->id);
 
-		/* Remap paths of new ID using old library as base. */
-		bpath_traverse_id(bmain, &cun->id, bpath_relocate_visitor, 0, bpath_user_data);
-
 		for(ob= bmain->object.first; ob; ob= ob->id.next) {
 			if(ob->data==cu) {
 				if(ob->id.lib==NULL) {

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/deform.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/deform.c	2011-11-01 08:11:55 UTC (rev 41431)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/deform.c	2011-11-01 09:05:38 UTC (rev 41432)
@@ -260,17 +260,19 @@
 /* note, must be freed */
 int *defgroup_flip_map(Object *ob, int *flip_map_len, int use_default)
 {
-	bDeformGroup *dg;
 	int totdg= *flip_map_len= BLI_countlist(&ob->defbase);
 
 	if(totdg==0) {
 		return NULL;
 	}
 	else {
+		bDeformGroup *dg;
 		char name[sizeof(dg->name)];
 		int i, flip_num, *map= MEM_mallocN(totdg * sizeof(int), __func__);
 
-		memset(map, -1, totdg * sizeof(int));
+		for (i=0; i < totdg; i++) {
+			map[i]= -1;
+		}
 
 		for (dg=ob->defbase.first, i=0; dg; dg=dg->next, i++) {
 			if(map[i] == -1) { /* may be calculated previously */
@@ -279,7 +281,7 @@
 				if(use_default)
 					map[i]= i;
 
-				flip_side_name(name, dg->name, 0);
+				flip_side_name(name, dg->name, FALSE);
 				if(strcmp(name, dg->name)) {
 					flip_num= defgroup_name_index(ob, name);
 					if(flip_num >= 0) {
@@ -293,6 +295,40 @@
 	}
 }
 
+/* note, must be freed */
+int *defgroup_flip_map_single(Object *ob, int *flip_map_len, int use_default, int defgroup)
+{
+	int totdg= *flip_map_len= BLI_countlist(&ob->defbase);
+
+	if(totdg==0) {
+		return NULL;
+	}
+	else {
+		bDeformGroup *dg;
+		char name[sizeof(dg->name)];
+		int i, flip_num, *map= MEM_mallocN(totdg * sizeof(int), __func__);
+
+		for (i=0; i < totdg; i++) {
+			if (use_default) map[i]= i;
+			else             map[i]= -1;
+		}
+
+		dg= BLI_findlink(&ob->defbase, defgroup);
+
+		flip_side_name(name, dg->name, FALSE);
+		if(strcmp(name, dg->name)) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list