diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_object_deform.h')
-rw-r--r-- | source/blender/blenkernel/BKE_object_deform.h | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_object_deform.h b/source/blender/blenkernel/BKE_object_deform.h index 6de7ff9bc1c..e956815d6f7 100644 --- a/source/blender/blenkernel/BKE_object_deform.h +++ b/source/blender/blenkernel/BKE_object_deform.h @@ -29,10 +29,54 @@ * 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); + +#ifdef __cplusplus +} +#endif + +/* Select helpers */ +bool *BKE_objdef_vgroup_subset_from_select_type( + struct Object *ob, enum eVGroupSelect subset_type, int *r_vgroup_tot, int *r_subset_count); +void BKE_objdef_vgroup_subset_to_index_array( + const bool *vgroup_validmap, const int vgroup_tot, int *r_vgroup_subset_map); -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); #endif /* __BKE_OBJECT_DEFORM_H__ */ |