Revision: 46567
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46567
Author: cyborgmuppet
Date: 2012-05-12 03:32:13 +0000 (Sat, 12 May 2012)
Log Message:
-----------
some more cleanup
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-12 02:13:26 UTC (rev 46566)
+++ branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
2012-05-12 03:32:13 UTC (rev 46567)
@@ -589,49 +589,49 @@
/*get weight from quad*/
else{
- if(dist_v1 > dist_v2||dist_v1 >
dist_v3||dist_v1 > dist_v4){
- /*exclude v1 and get weight
from the 3 closest*/
+
+ /*exclude v1 and get weight from the 3
closest*/
+ if(dist_v1 >= dist_v2 && dist_v1 >=
dist_v3 && dist_v1 >= dist_v4){
tot_dist= dist_v4 + dist_v2 +
dist_v3;
-
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v4], index_src);
- weight= dw_src->weight *
(1-dist_v4/tot_dist);
+ weight= dw_src->weight /
tot_dist * dist_v4;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v2], index_src);
- weight+= dw_src->weight *
(1-dist_v2/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v2;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v3], index_src);
- weight+= dw_src->weight *
(1-dist_v3/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v3;
}
- else if(dist_v2 > dist_v3||dist_v2 >
dist_v4){
- /*exclude v2 and get weight
from the 3 closest*/
+
+ /*exclude v2 and get weight from the 3
closest*/
+ else if(dist_v2 >= dist_v3 && dist_v2
>= dist_v4){
tot_dist= dist_v1 + dist_v4 +
dist_v3;
-
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v1], index_src);
- weight= dw_src->weight *
(1-dist_v1/tot_dist);
+ weight= dw_src->weight /
tot_dist * dist_v1;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v4], index_src);
- weight+= dw_src->weight *
(1-dist_v4/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v4;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v3], index_src);
- weight+= dw_src->weight *
(1-dist_v3/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v3;
}
- else if(dist_v3 > dist_v4){
- /*exclude v3 and get weight
from the 3 closest*/
+
+ /*exclude v3 and get weight from the 3
closest*/
+ else if(dist_v3 >= dist_v4){
tot_dist= dist_v1 + dist_v2 +
dist_v4;
-
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v1], index_src);
- weight= dw_src->weight *
(1-dist_v1/tot_dist);
+ weight= dw_src->weight /
tot_dist * dist_v1;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v2], index_src);
- weight+= dw_src->weight *
(1-dist_v2/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v2;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v4], index_src);
- weight+= dw_src->weight *
(1-dist_v4/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v4;
}
+
+ /*exclude v4 and get weight from the 3
closest*/
else{
- /*exclude v4 and get weight
from the 3 closest*/
tot_dist= dist_v1 + dist_v2 +
dist_v3;
-
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v1], index_src);
- weight= dw_src->weight *
(1-dist_v1/tot_dist);
+ weight= dw_src->weight /
tot_dist * dist_v1;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v2], index_src);
- weight+= dw_src->weight *
(1-dist_v2/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v2;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v3], index_src);
- weight+= dw_src->weight *
(1-dist_v3/tot_dist);
+ weight+= dw_src->weight /
tot_dist * dist_v3;
}
}
}
@@ -641,11 +641,11 @@
tot_dist= dist_v1 + dist_v2 + dist_v3;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v1], index_src);
- weight= dw_src->weight * (1-dist_v1/tot_dist);
+ weight= dw_src->weight / tot_dist * dist_v1;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v2], index_src);
- weight+= dw_src->weight * (1-dist_v2/tot_dist);
+ weight+= dw_src->weight / tot_dist * dist_v2;
dw_src=
defvert_verify_index(dv_array_src[mface_src[nearest.index].v3], index_src);
- weight+= dw_src->weight * (1-dist_v3/tot_dist);
+ weight+= dw_src->weight / tot_dist * dist_v3;
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs