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>2010-01-26 20:07:47 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-01-26 20:07:47 +0300
commit246bcf48ade22aefd06cb9e5c0dbd4e0f5e68f3c (patch)
treed52d6a4846e80c7a37d95417c978dbe55a4b2789 /source/blender/blenkernel/BKE_deform.h
parente308fe9632b990ab2616d5ecc8402c945e15de3d (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/BKE_deform.h')
-rw-r--r--source/blender/blenkernel/BKE_deform.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_deform.h b/source/blender/blenkernel/BKE_deform.h
index 2e554246ff6..53844c1e6a5 100644
--- a/source/blender/blenkernel/BKE_deform.h
+++ b/source/blender/blenkernel/BKE_deform.h
@@ -42,16 +42,22 @@ struct MDeformVert;
void defgroup_copy_list(struct ListBase *lb1, struct ListBase *lb2);
struct bDeformGroup *defgroup_duplicate(struct bDeformGroup *ingroup);
-struct bDeformGroup *defgroup_find_name(Object *ob, char *name);
+struct bDeformGroup *defgroup_find_name(struct Object *ob, char *name);
int defgroup_find_index(struct Object *ob, struct bDeformGroup *dg);
-int *defgroup_flip_map(struct Object *ob);
-int defgroup_name_index(Object *ob, const char *name);
+int *defgroup_flip_map(struct Object *ob, int use_default);
+int defgroup_flip_index(struct Object *ob, int index, int use_default);
+int defgroup_name_index(struct Object *ob, const char *name);
void defgroup_unique_name(struct bDeformGroup *dg, struct Object *ob);
-float defvert_find_weight(const struct MDeformVert *dvert, int group_num);
-float defvert_find_weight_safe(const struct MDeformVert *dvert, int index, int group_num);
+struct MDeformWeight *defvert_find_index(const struct MDeformVert *dv, int defgroup);
+struct MDeformWeight *defvert_verify_index(struct MDeformVert *dv, int defgroup);
+
+float defvert_find_weight(const struct MDeformVert *dvert, int group_num);
+float defvert_array_find_weight_safe(const struct MDeformVert *dvert, int index, int group_num);
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_flip(struct MDeformVert *dvert, int *flip_map);
void defvert_normalize(struct MDeformVert *dvert);