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-06-30 07:04:39 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-06-30 07:04:39 +0400
commit5c3e73fd569604d19d579ce74eb5fa8ed3fb0a06 (patch)
treef45bcf34e63478a1f5cdcc058c1747a747cbd864 /source/blender/blenkernel/intern/key.c
parentc490baceedec99fdd3b6f5233be721b56185d1e3 (diff)
replace inline loops for get_weights_array with calls to defvert_find_weight()
Diffstat (limited to 'source/blender/blenkernel/intern/key.c')
-rw-r--r--source/blender/blenkernel/intern/key.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index 4b532362cd8..78bfe79bf9b 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -63,6 +63,7 @@
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_object.h"
+#include "BKE_deform.h"
#include "RNA_access.h"
@@ -1005,7 +1006,7 @@ static float *get_weights_array(Object *ob, char *vgroup)
MDeformVert *dvert= NULL;
EditMesh *em= NULL;
EditVert *eve;
- int totvert= 0, index= 0;
+ int totvert= 0, defgrp_index= 0;
/* no vgroup string set? */
if(vgroup[0]==0) return NULL;
@@ -1028,7 +1029,7 @@ static float *get_weights_array(Object *ob, char *vgroup)
if(dvert==NULL) return NULL;
/* find the group (weak loop-in-loop) */
- index= defgroup_name_index(ob, vgroup);
+ defgrp_index= defgroup_name_index(ob, vgroup);
if(index >= 0) {
float *weights;
int i, j;
@@ -1040,23 +1041,13 @@ static float *get_weights_array(Object *ob, char *vgroup)
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
if(dvert) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}
}
else {
for(i=0; i < totvert; i++, dvert++) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}