[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47051] branches/meshdata_transfer/source/ blender/editors/object/object_vgroup.c: bug fixes, review issue 6256058.
Ove Murberg Henriksen
sorayasilvermoon at hotmail.com
Sat May 26 17:27:21 CEST 2012
Revision: 47051
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47051
Author: cyborgmuppet
Date: 2012-05-26 15:27:21 +0000 (Sat, 26 May 2012)
Log Message:
-----------
bug fixes, review issue 6256058.
Modified Paths:
--------------
branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
Modified: branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
===================================================================
--- branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c 2012-05-26 14:53:33 UTC (rev 47050)
+++ branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c 2012-05-26 15:27:21 UTC (rev 47051)
@@ -402,12 +402,15 @@
case REPLACE_ALL_WEIGHTS:
*weight_dst = weight_src;
+ break;
case REPLACE_EMPTY_WEIGHTS:
if (!weight_dst || weight_dst == 0) *weight_dst = weight_src;
+ break;
case REPLACE_SELECTED_WEIGHTS:
if (mv_dst->flag & SELECT) *weight_dst = weight_src;
+ break;
}
}
@@ -426,7 +429,7 @@
float weight, tmp_weight[4], tmp_co[3], normal[3], tmp_mat[4][4], dist_v1, dist_v2, dist_v3, dist_v4;
/*create new and overwrite vertex group on destination without data*/
- if (!defgroup_find_name(ob_dst, dg_src->name) || replace_option == (ReplaceOption)REPLACE_ALL_WEIGHTS){
+ if (!defgroup_find_name(ob_dst, dg_src->name) || replace_option == REPLACE_ALL_WEIGHTS){
ED_vgroup_delete(ob_dst, defgroup_find_name(ob_dst, dg_src->name));
ED_vgroup_add_name(ob_dst, dg_src->name);
}
@@ -543,7 +546,9 @@
weight = tmp_weight[0] * defvert_verify_index(dv_array_src[mface_src[index_nearest].v1], index_src)->weight;
weight += tmp_weight[1] * defvert_verify_index(dv_array_src[mface_src[index_nearest].v2], index_src)->weight;
weight += tmp_weight[2] * defvert_verify_index(dv_array_src[mface_src[index_nearest].v3], index_src)->weight;
- weight += tmp_weight[3] * defvert_verify_index(dv_array_src[mface_src[index_nearest].v4], index_src)->weight;
+ if (mface_src[index_nearest].v4 || mface_src[index_nearest].v4 == 0){
+ weight += tmp_weight[3] * defvert_verify_index(dv_array_src[mface_src[index_nearest].v4], index_src)->weight;
+ }
/*copy weight*/
dw_dst = defvert_verify_index(*dv_array_dst, index_dst);
@@ -3020,8 +3025,9 @@
case REPLACE_ALL_VERTEX_GROUPS:
for (dg_src = ob_act->defbase.first; dg_src; dg_src = dg_src->next){
if (ED_vgroup_transfer_weight(ob_slc, ob_act, dg_src, method_option, replace_option)) change++;
- else fail++;break;
+ else fail++;
}
+ break;
}
}
}
More information about the Bf-blender-cvs
mailing list