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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to