diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-01-26 20:07:47 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-01-26 20:07:47 +0300 |
commit | 246bcf48ade22aefd06cb9e5c0dbd4e0f5e68f3c (patch) | |
tree | d52d6a4846e80c7a37d95417c978dbe55a4b2789 /source/blender/blenkernel/intern/shrinkwrap.c | |
parent | e308fe9632b990ab2616d5ecc8402c945e15de3d (diff) |
weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.
utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.
Diffstat (limited to 'source/blender/blenkernel/intern/shrinkwrap.c')
-rw-r--r-- | source/blender/blenkernel/intern/shrinkwrap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index d5515470d05..2afaed795eb 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -184,7 +184,7 @@ static void shrinkwrap_calc_nearest_vertex(ShrinkwrapCalcData *calc) { float *co = calc->vertexCos[i]; float tmp_co[3]; - float weight = defvert_find_weight_safe(calc->dvert, i, calc->vgroup); + float weight = defvert_array_find_weight_safe(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; @@ -356,7 +356,7 @@ static void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc, struct S { float *co = calc->vertexCos[i]; float tmp_co[3], tmp_no[3]; - float weight = defvert_find_weight_safe(calc->dvert, i, calc->vgroup); + float weight = defvert_array_find_weight_safe(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; @@ -447,7 +447,7 @@ static void shrinkwrap_calc_nearest_surface_point(ShrinkwrapCalcData *calc) { float *co = calc->vertexCos[i]; float tmp_co[3]; - float weight = defvert_find_weight_safe(calc->dvert, i, calc->vgroup); + float weight = defvert_array_find_weight_safe(calc->dvert, i, calc->vgroup); if(weight == 0.0f) continue; //Convert the vertex to tree coordinates |