diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-11-19 01:52:17 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-11-19 01:52:29 +0300 |
commit | 19cc516f5122d99d3de246502c74882153699a0b (patch) | |
tree | 89d29ec12be4fbb3d9b7c26950373b49d5a1219b /source/blender/blenkernel/BKE_object_deform.h | |
parent | d06b1a5d8bb219c0935373cd5758a9bdacd6ec36 (diff) |
Refactor: Move part of vgroup handling code from ED_mesh/object_vgroup.c to BKE_object_deform.
Along with some minor cleanup and simplifications.
Reviewers: campbellbarton
Subscribers: sergey
Differential Revision: https://developer.blender.org/D903
Diffstat (limited to 'source/blender/blenkernel/BKE_object_deform.h')
-rw-r--r-- | source/blender/blenkernel/BKE_object_deform.h | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_object_deform.h b/source/blender/blenkernel/BKE_object_deform.h index 6de7ff9bc1c..0e5ad2d51c8 100644 --- a/source/blender/blenkernel/BKE_object_deform.h +++ b/source/blender/blenkernel/BKE_object_deform.h @@ -29,10 +29,47 @@ * used by painting and tools. */ +#ifdef __cplusplus +extern "C" { +#endif + struct Object; +struct ID; +struct MDeformVert; +struct bDeformGroup; + +/* General vgroup operations */ +void BKE_object_defgroup_remap_update_users(struct Object *ob, int *map); + +bool BKE_object_defgroup_array_get(struct ID *id, struct MDeformVert **dvert_arr, int *dvert_tot); + +struct bDeformGroup *BKE_object_defgroup_add(struct Object *ob); +struct bDeformGroup *BKE_object_defgroup_add_name(struct Object *ob, const char *name); +struct MDeformVert *BKE_object_defgroup_data_create(struct ID *id); + +bool BKE_object_defgroup_clear(struct Object *ob, struct bDeformGroup *dg, const bool use_selection); +bool BKE_object_defgroup_clear_all(struct Object *ob, const bool use_selection); + +void BKE_object_defgroup_remove(struct Object *ob, struct bDeformGroup *defgroup); +void BKE_object_defgroup_remove_all(struct Object *ob); + + +/* Select helpers */ +enum eVGroupSelect; +bool *BKE_object_defgroup_subset_from_select_type( + struct Object *ob, enum eVGroupSelect subset_type, int *r_defgroup_tot, int *r_subset_count); +void BKE_object_defgroup_subset_to_index_array( + const bool *defgroup_validmap, const int defgroup_tot, int *r_defgroup_subset_map); + + +/* ********** */ + +bool *BKE_object_defgroup_lock_flags_get(struct Object *ob, const int defbase_tot); +bool *BKE_object_defgroup_validmap_get(struct Object *ob, const int defbase_tot); +bool *BKE_object_defgroup_selected_get(struct Object *ob, int defbase_tot, int *r_dg_flags_sel_tot); -bool *BKE_objdef_lock_flags_get(struct Object *ob, const int defbase_tot); -bool *BKE_objdef_validmap_get(struct Object *ob, const int defbase_tot); -bool *BKE_objdef_selected_get(struct Object *ob, int defbase_tot, int *r_dg_flags_sel_tot); +#ifdef __cplusplus +} +#endif #endif /* __BKE_OBJECT_DEFORM_H__ */ |