Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-12-15 02:54:38 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-12-15 02:54:38 +0400
commit40a2c1a2921b50edd8b798e79b6bd2a6d94d7bba (patch)
treef28bc2e08718bbf7e8fee729330c5c1e675c180e /source/blender/blenkernel/intern/armature.c
parent3d5330f789c287666b875706c84228520473add5 (diff)
more vertex weight edits,
* replace inline loops with api calls. * change constraints so verts with 0.0 weight are ignored like they are everywhere else.
Diffstat (limited to 'source/blender/blenkernel/intern/armature.c')
-rw-r--r--source/blender/blenkernel/intern/armature.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index e10c4b24458..4035db36a39 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -924,7 +924,6 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm,
float contrib = 0.0f;
float armature_weight = 1.0f; /* default to 1 if no overall def group */
float prevco_weight = 1.0f; /* weight for optional cached vertexcos */
- int j;
if(use_quaternion) {
memset(&sumdq, 0, sizeof(DualQuat));
@@ -971,12 +970,14 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm,
mul_m4_v3(premat, co);
if(use_dverts && dvert && dvert->totweight) { // use weight groups ?
+ MDeformWeight *dw= dvert->dw;
int deformed = 0;
+ unsigned int j;
- for(j = 0; j < dvert->totweight; j++){
- int index = dvert->dw[j].def_nr;
+ for (j= dvert->totweight; j != 0; j--, dw++) {
+ const int index = dw->def_nr;
if(index < defbase_tot && (pchan= defnrToPC[index])) {
- float weight = dvert->dw[j].weight;
+ float weight = dw->weight;
Bone *bone= pchan->bone;
pdef_info= pdef_info_array + defnrToPCIndex[index];