Blender V5.0
BKE_object_deform.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12
13#include "DNA_scene_enums.h"
14
15struct ID;
16struct MDeformVert;
17struct Object;
18struct bDeformGroup;
19
20/* General vgroup operations. */
21
29void BKE_object_defgroup_remap_update_users(struct Object *ob, const int *map);
30
36bool BKE_object_defgroup_array_get(struct ID *id, struct MDeformVert **dvert_arr, int *dvert_tot);
37
45struct bDeformGroup *BKE_object_defgroup_add_name(struct Object *ob, const char *name);
50
57bool BKE_object_defgroup_clear(struct Object *ob, struct bDeformGroup *dg, bool use_selection);
64bool BKE_object_defgroup_clear_all(struct Object *ob, bool use_selection);
65
69void BKE_object_defgroup_remove(struct Object *ob, struct bDeformGroup *defgroup);
74void BKE_object_defgroup_remove_all_ex(struct Object *ob, bool only_unlocked);
79
86 struct Object *ob_dst,
87 int *r_map_len);
89 int dvert_len,
90 const int *map,
91 int map_len);
92
93/* Select helpers. */
94
99 enum eVGroupSelect subset_type,
100 int *r_defgroup_tot,
101 int *r_subset_count);
105void BKE_object_defgroup_subset_to_index_array(const bool *defgroup_validmap,
106 int defgroup_tot,
107 int *r_defgroup_subset_map);
108
109/* ********** */
110
115bool *BKE_object_defgroup_lock_flags_get(struct Object *ob, int defbase_tot);
116bool *BKE_object_defgroup_validmap_get(struct Object *ob, int defbase_tot);
122 int defbase_tot,
123 int *r_dg_flags_sel_tot);
124
130bool BKE_object_defgroup_check_lock_relative(const bool *lock_flags,
131 const bool *validmap,
132 int index);
139 const bool *lock_flags,
140 const bool *selected,
141 int sel_tot);
142
147
154 int defbase_tot, const bool *locked, const bool *deform, bool *r_locked, bool *r_unlocked);
155
162 int defbase_tot,
163 const bool *selection,
164 bool *dg_flags_sel,
165 int *r_dg_flags_sel_tot);
bool BKE_object_defgroup_check_lock_relative(const bool *lock_flags, const bool *validmap, int index)
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_split_locked_validmap(int defbase_tot, const bool *locked, const bool *deform, bool *r_locked, bool *r_unlocked)
bool BKE_object_defgroup_clear_all(struct Object *ob, bool use_selection)
bool BKE_object_defgroup_array_get(struct ID *id, struct MDeformVert **dvert_arr, int *dvert_tot)
void BKE_object_defgroup_remove(struct Object *ob, struct bDeformGroup *defgroup)
bool * BKE_object_defgroup_validmap_get(struct Object *ob, int defbase_tot)
int * BKE_object_defgroup_index_map_create(struct Object *ob_src, struct Object *ob_dst, int *r_map_len)
bool * BKE_object_defgroup_lock_flags_get(struct Object *ob, int defbase_tot)
void BKE_object_defgroup_remove_all_ex(struct Object *ob, bool only_unlocked)
void BKE_object_defgroup_index_map_apply(struct MDeformVert *dvert, int dvert_len, const int *map, int map_len)
void BKE_object_defgroup_remap_update_users(struct Object *ob, const int *map)
void BKE_object_defgroup_mirror_selection(struct Object *ob, int defbase_tot, const bool *selection, bool *dg_flags_sel, int *r_dg_flags_sel_tot)
bool BKE_object_defgroup_check_lock_relative_multi(int defbase_tot, const bool *lock_flags, const bool *selected, int sel_tot)
void BKE_object_defgroup_subset_to_index_array(const bool *defgroup_validmap, int defgroup_tot, int *r_defgroup_subset_map)
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)
void BKE_object_defgroup_remove_all(struct Object *ob)
bool BKE_object_defgroup_clear(struct Object *ob, struct bDeformGroup *dg, bool use_selection)
bool BKE_object_defgroup_active_is_locked(const struct Object *ob)
bool * BKE_object_defgroup_selected_get(struct Object *ob, int defbase_tot, int *r_dg_flags_sel_tot)
eVGroupSelect
const char * name
Definition DNA_ID.h:414