diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-03 00:43:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-03 00:43:26 +0300 |
commit | 95bfbd470eeb1ccb3f69b5ba63875772860acdbf (patch) | |
tree | bb3990c0096eec9996c610bc8f81cd11dc11f443 /source/blender/blenkernel | |
parent | 1ee7b2fae4c61ac45ae6a7e53e51bea78a7ae306 (diff) |
vertex group sort operator, access from the vgroup panel, sintels mesh has 144 vertex groups which got quite tedious to look through.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_deform.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/deform.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_deform.h b/source/blender/blenkernel/BKE_deform.h index 53844c1e6a5..e2302993551 100644 --- a/source/blender/blenkernel/BKE_deform.h +++ b/source/blender/blenkernel/BKE_deform.h @@ -58,6 +58,7 @@ float defvert_array_find_weight_safe(const struct MDeformVert *dvert, int index void defvert_copy(struct MDeformVert *dvert_r, const struct MDeformVert *dvert); void defvert_sync(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int use_verify); void defvert_sync_mapped(struct MDeformVert *dvert_r, const struct MDeformVert *dvert, int *flip_map, int use_verify); +void defvert_remap (struct MDeformVert *dvert, int *map); void defvert_flip(struct MDeformVert *dvert, int *flip_map); void defvert_normalize(struct MDeformVert *dvert); diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index 6c873bc262e..5af375696ba 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -154,6 +154,16 @@ void defvert_sync_mapped (MDeformVert *dvert_r, const MDeformVert *dvert, int *f } } +/* be sure all flip_map values are valid */ +void defvert_remap (MDeformVert *dvert, int *map) +{ + MDeformWeight *dw; + int i; + for(i=0, dw=dvert->dw; i<dvert->totweight; i++, dw++) { + dw->def_nr= map[dw->def_nr]; + } +} + void defvert_normalize (MDeformVert *dvert) { if(dvert->totweight<=0) { |