Blender V4.3
ED_object_vgroup.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "BLI_compiler_attrs.h"
12
13struct bDeformGroup;
14struct EnumPropertyItem;
15struct ID;
16struct MDeformVert;
17struct Object;
18struct PointerRNA;
19struct PropertyRNA;
20
21#define WEIGHT_REPLACE 1
22#define WEIGHT_ADD 2
23#define WEIGHT_SUBTRACT 3
24
25namespace blender::ed::object {
26
28void vgroup_select_by_name(Object *ob, const char *name);
32void vgroup_data_clamp_range(ID *id, int total);
36bool vgroup_array_copy(Object *ob, Object *ob_from);
37bool vgroup_parray_alloc(ID *id, MDeformVert ***dvert_arr, int *dvert_tot, bool use_vert_sel);
47 MDeformVert **dvert_array,
48 int dvert_tot,
49 const bool *vgroup_validmap,
50 int vgroup_tot);
56void vgroup_parray_mirror_assign(Object *ob, MDeformVert **dvert_array, int dvert_tot);
57void vgroup_parray_remove_zero(MDeformVert **dvert_array,
58 int dvert_tot,
59 const bool *vgroup_validmap,
60 int vgroup_tot,
61 float epsilon,
62 bool keep_single);
63void vgroup_parray_to_weight_array(const MDeformVert **dvert_array,
64 int dvert_tot,
65 float *dvert_weights,
66 int def_nr);
68 int dvert_tot,
69 const float *dvert_weights,
70 int def_nr,
71 bool remove_zero);
72void vgroup_mirror(Object *ob,
73 bool mirror_weights,
74 bool flip_vgroups,
75 bool all_vgroups,
76 bool use_topology,
77 int *r_totmirr,
78 int *r_totfail);
79
83void vgroup_vert_add(Object *ob, bDeformGroup *dg, int vertnum, float weight, int assignmode);
87void vgroup_vert_remove(Object *ob, bDeformGroup *dg, int vertnum);
88float vgroup_vert_weight(Object *ob, bDeformGroup *dg, int vertnum);
92void vgroup_vert_active_mirror(Object *ob, int def_nr);
93
96 PropertyRNA *prop,
97 bool *r_free,
98 unsigned int selection_mask);
99
100} // namespace blender::ed::object
void vgroup_parray_to_weight_array(const MDeformVert **dvert_array, int dvert_tot, float *dvert_weights, int def_nr)
void vgroup_data_clamp_range(ID *id, int total)
void vgroup_parray_from_weight_array(MDeformVert **dvert_array, int dvert_tot, const float *dvert_weights, int def_nr, bool remove_zero)
bool vgroup_array_copy(Object *ob, Object *ob_from)
void vgroup_parray_remove_zero(MDeformVert **dvert_array, int dvert_tot, const bool *vgroup_validmap, int vgroup_tot, float epsilon, bool keep_single)
bool vgroup_parray_alloc(ID *id, MDeformVert ***dvert_arr, int *dvert_tot, bool use_vert_sel)
bool vgroup_sync_from_pose(Object *ob)
void vgroup_parray_mirror_assign(Object *ob, MDeformVert **dvert_array, int dvert_tot)
float vgroup_vert_weight(Object *ob, bDeformGroup *dg, int vertnum)
void vgroup_mirror(Object *ob, bool mirror_weights, bool flip_vgroups, bool all_vgroups, bool use_topology, int *r_totmirr, int *r_totfail)
const EnumPropertyItem * vgroup_selection_itemf_helper(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free, unsigned int selection_mask)
void vgroup_select_by_name(Object *ob, const char *name)
void vgroup_parray_mirror_sync(Object *ob, MDeformVert **dvert_array, int dvert_tot, const bool *vgroup_validmap, int vgroup_tot)
void vgroup_vert_add(Object *ob, bDeformGroup *dg, int vertnum, float weight, int assignmode)
void vgroup_vert_remove(Object *ob, bDeformGroup *dg, int vertnum)
void vgroup_vert_active_mirror(Object *ob, int def_nr)
Definition DNA_ID.h:413
PointerRNA * ptr
Definition wm_files.cc:4126