[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45934] branches/meshdata_transfer/source/ blender/editors/object/object_vgroup.c: Cleanup only:
Ove Murberg Henriksen
sorayasilvermoon at hotmail.com
Tue Apr 24 18:31:40 CEST 2012
Revision: 45934
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45934
Author: cyborgmuppet
Date: 2012-04-24 16:31:40 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
Cleanup only:
Comments clarified, whitespaces adjusted for consistency, unneccesary code removed.
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-04-24 16:23:47 UTC (rev 45933)
+++ branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c 2012-04-24 16:31:40 UTC (rev 45934)
@@ -317,13 +317,12 @@
{
MDeformVert **dvert_array_from, **dvf;
MDeformVert **dvert_array, **dv;
- int dvert_tot_from;
- int dvert_tot;
- int i;
+ int dvert_tot_from, dvert_tot, i;
int defbase_tot_from= BLI_countlist(&ob_from->defbase);
int defbase_tot= BLI_countlist(&ob->defbase);
short new_vgroup= FALSE;
+ /*get vertex groups arrays*/
ED_vgroup_give_parray(ob_from->data, &dvert_array_from, &dvert_tot_from, FALSE);
ED_vgroup_give_parray(ob->data, &dvert_array, &dvert_tot, FALSE);
@@ -351,8 +350,8 @@
if (defbase_tot_from < defbase_tot) {
/* correct vgroup indices because the number of vgroups is being reduced. */
int *remap= MEM_mallocN(sizeof(int) * (defbase_tot + 1), __func__);
- for (i=0; i<=defbase_tot_from; i++) remap[i]= i;
- for (; i<=defbase_tot; i++) remap[i]= 0; /* can't use these, so disable */
+ for (i=0; i <= defbase_tot_from; i++) remap[i]= i;
+ for (; i <= defbase_tot; i++) remap[i]= 0; /* can't use these, so disable */
vgroup_remap_update_users(ob, remap);
MEM_freeN(remap);
@@ -388,7 +387,7 @@
bDeformGroup *dg_src, *dg_dst;
/*get source deform group*/
- dg_src = BLI_findlink(&ob_src->defbase, (ob_src->actdef-1));
+ dg_src= BLI_findlink(&ob_src->defbase, (ob_src->actdef-1));
/*Create new and overwrite vertex group on destination without data*/
ED_vgroup_delete(ob_dst, defgroup_find_name(ob_dst, dg_src->name));
@@ -406,34 +405,23 @@
index_dst= BLI_findindex(&ob_dst->defbase, dg_dst);
/*Check if indices are matching, delete and return if not*/
- if (ob_dst==ob_src || dv_tot_dst==0 || (dv_tot_dst != dv_tot_src) || dv_array_src==NULL || dv_array_dst==NULL) {
+ if (ob_dst == ob_src || dv_tot_dst == 0 || (dv_tot_dst != dv_tot_src) || dv_array_src == NULL || dv_array_dst == NULL) {
ED_vgroup_delete(ob_dst, defgroup_find_name(ob_dst, dg_dst->name));
return 0;
}
/* Loop through the vertices and copy weight*/
for(i=0; i<dv_tot_dst; i++, dv_array_src++, dv_array_dst++) {
- dw_src = defvert_verify_index(*dv_array_src, index_src);
- dw_dst = defvert_verify_index(*dv_array_dst, index_dst);
- dw_dst->weight = dw_src->weight;
+ dw_src= defvert_verify_index(*dv_array_src, index_src);
+ dw_dst= defvert_verify_index(*dv_array_dst, index_dst);
+ dw_dst->weight= dw_src->weight;
}
return 1;
}
-/*return distance between coordinates that are comparable to other instances but not right*/
-float comparable_distance_between_coordinates(const float co_1[3], const float co_2[3]){
- float x_dist, y_dist, z_dist, dist_XY_square, distance;
- x_dist= co_1[0] - co_2[0];
- y_dist= co_1[1] - co_2[1];
- z_dist= co_1[2] - co_2[2];
- dist_XY_square= x_dist * x_dist + y_dist * y_dist;
- distance= dist_XY_square + z_dist * z_dist;
- return distance;
-}
-
-/*Copy a single vertex group from source to destination with weights, get the closest weight on source*/
-int ED_vgroup_copy_by_closest_single(Object *ob_dst, const Object *ob_src)
+/*Copy a single vertex group from source to destination with weights by nearest weight*/
+int ED_vgroup_copy_by_nearest_single(Object *ob_dst, const Object *ob_src)
{
bDeformGroup *dg_src, *dg_dst;
MDeformVert **dv_array_src, **dv_array_dst;
@@ -459,7 +447,7 @@
}*/
/*get source deform group*/
- dg_src = BLI_findlink(&ob_src->defbase, (ob_src->actdef-1));
+ dg_src= BLI_findlink(&ob_src->defbase, (ob_src->actdef-1));
/*Create new and overwrite vertex group on destination without data*/
ED_vgroup_delete(ob_dst, defgroup_find_name(ob_dst, dg_src->name));
@@ -470,8 +458,6 @@
/*get meshes*/
me_dst= ob_dst->data;
-
- /*get derived mesh*/
dmesh_src= ob_src->derivedDeform;
/*make node tree*/
@@ -488,8 +474,9 @@
/*get vertices*/
mv_dst= me_dst->mvert;
- /* Loop through the vertices and copy weight from closest to destination*/
+ /* Loop through the vertices and copy weight from nearest weight*/
for(i=0; i < me_dst->totvert; i++, mv_dst++, dv_array_dst++) {
+
/*Reset nearest*/
nearest.index= -1;
nearest.dist= FLT_MAX;
@@ -500,11 +487,11 @@
/*copy weight*/
dw_src= defvert_verify_index(dv_array_src[nearest.index], index_src);
dw_dst= defvert_verify_index(*dv_array_dst, index_dst);
- dw_dst->weight = dw_src->weight;
+ dw_dst->weight= dw_src->weight;
}
+ /*free memory and return*/
free_bvhtree_from_mesh(&tree_mesh_src);
-
return 1;
}
@@ -2866,16 +2853,16 @@
void OBJECT_OT_vertex_group_copy_to_selected(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "Copy Vertex Group to Selected";
- ot->idname = "OBJECT_OT_vertex_group_copy_to_selected";
- ot->description = "Copy Vertex Groups to other selected objects with matching indices";
+ ot->name= "Copy Vertex Group to Selected";
+ ot->idname= "OBJECT_OT_vertex_group_copy_to_selected";
+ ot->description= "Copy Vertex Groups to other selected objects with matching indices";
/* api callbacks */
- ot->poll = vertex_group_poll;
- ot->exec = vertex_group_copy_to_selected_exec;
+ ot->poll= vertex_group_poll;
+ ot->exec= vertex_group_copy_to_selected_exec;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
static int vertex_group_copy_to_selected_single_exec(bContext *C, wmOperator *op)
@@ -2891,7 +2878,7 @@
/*Try function for matching number of vertices*/
if(ED_vgroup_copy_single(obslc, obact)) change++;
/*Try function for get weight from closest vertex*/
- else if(ED_vgroup_copy_by_closest_single(obslc, obact)) change++;
+ else if(ED_vgroup_copy_by_nearest_single(obslc, obact)) change++;
/*Trigger error message*/
else fail++;
/*Event notifiers for correct display of data*/
@@ -2902,7 +2889,7 @@
}
CTX_DATA_END;
- /*Report error when task could not be completed.*/
+ /*Report error when task can not be completed with available functions.*/
if((change == 0 && fail == 0) || fail) {
BKE_reportf(op->reports, RPT_ERROR,
"Copy to VGroups to Selected warning done %d, failed %d, All functions failed!",
More information about the Bf-blender-cvs
mailing list