Blender
V3.3
|
support for deformation groups and hooks. More...
Go to the source code of this file.
Macros | |
#define | VERTEX_WEIGHT_LOCK_EPSILON 1e-6f |
Functions | |
bool | BKE_object_supports_vertex_groups (const struct Object *ob) |
const struct ListBase * | BKE_object_defgroup_list (const struct Object *ob) |
struct ListBase * | BKE_object_defgroup_list_mutable (struct Object *ob) |
int | BKE_object_defgroup_count (const struct Object *ob) |
int | BKE_object_defgroup_active_index_get (const struct Object *ob) |
void | BKE_object_defgroup_active_index_set (struct Object *ob, int new_index) |
const struct ListBase * | BKE_id_defgroup_list_get (const struct ID *id) |
struct ListBase * | BKE_id_defgroup_list_get_mutable (struct ID *id) |
int | BKE_id_defgroup_name_index (const struct ID *id, const char *name) |
bool | BKE_id_defgroup_name_find (const struct ID *id, const char *name, int *r_index, struct bDeformGroup **r_group) |
struct bDeformGroup * | BKE_object_defgroup_new (struct Object *ob, const char *name) |
void | BKE_defgroup_copy_list (struct ListBase *outbase, const struct ListBase *inbase) |
struct bDeformGroup * | BKE_defgroup_duplicate (const struct bDeformGroup *ingroup) |
struct bDeformGroup * | BKE_object_defgroup_find_name (const struct Object *ob, const char *name) |
int * | BKE_object_defgroup_flip_map (const struct Object *ob, int *flip_map_len, bool use_default) |
int * | BKE_object_defgroup_flip_map_single (const struct Object *ob, int *flip_map_len, bool use_default, int defgroup) |
int | BKE_object_defgroup_flip_index (const struct Object *ob, int index, bool use_default) |
int | BKE_object_defgroup_name_index (const struct Object *ob, const char *name) |
void | BKE_object_defgroup_unique_name (struct bDeformGroup *dg, struct Object *ob) |
struct MDeformWeight * | BKE_defvert_find_index (const struct MDeformVert *dv, int defgroup) |
struct MDeformWeight * | BKE_defvert_ensure_index (struct MDeformVert *dv, int defgroup) |
void | BKE_defvert_add_index_notest (struct MDeformVert *dv, int defgroup, float weight) |
void | BKE_defvert_remove_group (struct MDeformVert *dvert, struct MDeformWeight *dw) |
void | BKE_defvert_clear (struct MDeformVert *dvert) |
int | BKE_defvert_find_shared (const struct MDeformVert *dvert_a, const struct MDeformVert *dvert_b) |
bool | BKE_defvert_is_weight_zero (const struct MDeformVert *dvert, int defgroup_tot) |
void | BKE_defvert_array_free_elems (struct MDeformVert *dvert, int totvert) |
void | BKE_defvert_array_free (struct MDeformVert *dvert, int totvert) |
void | BKE_defvert_array_copy (struct MDeformVert *dst, const struct MDeformVert *src, int totvert) |
float | BKE_defvert_find_weight (const struct MDeformVert *dvert, int defgroup) |
float | BKE_defvert_array_find_weight_safe (const struct MDeformVert *dvert, int index, int defgroup) |
float | BKE_defvert_total_selected_weight (const struct MDeformVert *dv, int defbase_tot, const bool *defbase_sel) |
float | BKE_defvert_multipaint_collective_weight (const struct MDeformVert *dv, int defbase_tot, const bool *defbase_sel, int defbase_tot_sel, bool is_normalized) |
float | BKE_defvert_calc_lock_relative_weight (float weight, float locked_weight, float unlocked_weight) |
float | BKE_defvert_lock_relative_weight (float weight, const struct MDeformVert *dv, int defbase_tot, const bool *defbase_locked, const bool *defbase_unlocked) |
void | BKE_defvert_copy (struct MDeformVert *dvert_dst, const struct MDeformVert *dvert_src) |
void | BKE_defvert_copy_subset (struct MDeformVert *dvert_dst, const struct MDeformVert *dvert_src, const bool *vgroup_subset, int vgroup_tot) |
void | BKE_defvert_mirror_subset (struct MDeformVert *dvert_dst, const struct MDeformVert *dvert_src, const bool *vgroup_subset, int vgroup_tot, const int *flip_map, int flip_map_len) |
void | BKE_defvert_copy_index (struct MDeformVert *dvert_dst, int defgroup_dst, const struct MDeformVert *dvert_src, int defgroup_src) |
void | BKE_defvert_sync (struct MDeformVert *dvert_dst, const struct MDeformVert *dvert_src, bool use_ensure) |
void | BKE_defvert_sync_mapped (struct MDeformVert *dvert_dst, const struct MDeformVert *dvert_src, const int *flip_map, int flip_map_len, bool use_ensure) |
void | BKE_defvert_remap (struct MDeformVert *dvert, const int *map, int map_len) |
void | BKE_defvert_flip (struct MDeformVert *dvert, const int *flip_map, int flip_map_len) |
void | BKE_defvert_flip_merged (struct MDeformVert *dvert, const int *flip_map, int flip_map_len) |
void | BKE_defvert_normalize (struct MDeformVert *dvert) |
void | BKE_defvert_normalize_subset (struct MDeformVert *dvert, const bool *vgroup_subset, int vgroup_tot) |
void | BKE_defvert_normalize_lock_single (struct MDeformVert *dvert, const bool *vgroup_subset, int vgroup_tot, uint def_nr_lock) |
void | BKE_defvert_normalize_lock_map (struct MDeformVert *dvert, const bool *vgroup_subset, int vgroup_tot, const bool *lock_flags, int defbase_tot) |
void | BKE_defvert_extract_vgroup_to_vertweights (const struct MDeformVert *dvert, int defgroup, int num_verts, bool invert_vgroup, float *r_weights) |
void | BKE_defvert_extract_vgroup_to_edgeweights (const struct MDeformVert *dvert, int defgroup, int num_verts, struct MEdge *edges, int num_edges, bool invert_vgroup, float *r_weights) |
void | BKE_defvert_extract_vgroup_to_loopweights (const struct MDeformVert *dvert, int defgroup, int num_verts, struct MLoop *loops, int num_loops, bool invert_vgroup, float *r_weights) |
void | BKE_defvert_extract_vgroup_to_polyweights (const struct MDeformVert *dvert, int defgroup, int num_verts, struct MLoop *loops, int num_loops, struct MPoly *polys, int num_polys, bool invert_vgroup, float *r_weights) |
void | BKE_defvert_weight_to_rgb (float r_rgb[3], float weight) |
void | BKE_defvert_blend_write (struct BlendWriter *writer, int count, const struct MDeformVert *dvlist) |
void | BKE_defvert_blend_read (struct BlendDataReader *reader, int count, struct MDeformVert *mdverts) |
void | BKE_defbase_blend_write (struct BlendWriter *writer, const ListBase *defbase) |
support for deformation groups and hooks.
Definition in file BKE_deform.h.
Definition at line 133 of file BKE_deform.h.
void BKE_defbase_blend_write | ( | struct BlendWriter * | writer, |
const ListBase * | defbase | ||
) |
Definition at line 1557 of file deform.c.
References BLO_write_struct, and LISTBASE_FOREACH.
Referenced by greasepencil_blend_write(), lattice_blend_write(), and mesh_blend_write().
struct bDeformGroup* BKE_defgroup_duplicate | ( | const struct bDeformGroup * | ingroup | ) |
Referenced by vgroup_duplicate().
void BKE_defvert_add_index_notest | ( | struct MDeformVert * | dv, |
int | defgroup, | ||
float | weight | ||
) |
Adds the given vertex to the specified vertex group, with given weight.
Definition at line 779 of file deform.c.
References BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, MEM_callocN, MEM_freeN, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by ED_vgroup_nr_vert_add(), blender::ed::geometry::geometry_attribute_convert_exec(), gpencil_vertex_group_invert_exec(), subdivide_base(), vgroups_datatransfer_interp(), and weightvg_update_vg().
void BKE_defvert_array_copy | ( | struct MDeformVert * | dst, |
const struct MDeformVert * | src, | ||
int | totvert | ||
) |
float BKE_defvert_array_find_weight_safe | ( | const struct MDeformVert * | dvert, |
int | index, | ||
int | defgroup | ||
) |
Take care with this the rationale is:
This is a bit confusing, just saves some checks from the caller.
Definition at line 710 of file deform.c.
References BKE_defvert_find_weight(), and NULL.
Referenced by modifyMesh(), shrinkwrap_calc_nearest_surface_point_cb_ex(), shrinkwrap_calc_nearest_vertex_cb_ex(), shrinkwrap_calc_normal_projection_cb_ex(), and simple_helper().
void BKE_defvert_array_free | ( | struct MDeformVert * | dvert, |
int | totvert | ||
) |
Definition at line 996 of file deform.c.
References BKE_defvert_array_free_elems(), and MEM_freeN.
Referenced by BKE_editlattice_free(), BKE_editlattice_load(), BKE_lattice_resize(), lattice_free_data(), undolatt_free_data(), undolatt_to_editlatt(), and wpaint_prev_destroy().
void BKE_defvert_array_free_elems | ( | struct MDeformVert * | dvert, |
int | totvert | ||
) |
Definition at line 978 of file deform.c.
References MEM_freeN.
Referenced by BKE_defvert_array_free(), BKE_sculptsession_free_vwpaint_data(), paint_weight_gradient_modal(), and vertex_paint_init_session_data().
void BKE_defvert_blend_read | ( | struct BlendDataReader * | reader, |
int | count, | ||
struct MDeformVert * | mdverts | ||
) |
Definition at line 1581 of file deform.c.
References BLO_read_get_new_data_address(), count, MDeformVert::dw, MEM_freeN, MEM_mallocN, NULL, and MDeformVert::totweight.
Referenced by BKE_gpencil_blend_read_data(), lattice_blend_read_data(), and mesh_blend_read_data().
void BKE_defvert_blend_write | ( | struct BlendWriter * | writer, |
int | count, | ||
const struct MDeformVert * | dvlist | ||
) |
Referenced by CustomData_blend_write(), greasepencil_blend_write(), and lattice_blend_write().
float BKE_defvert_calc_lock_relative_weight | ( | float | weight, |
float | locked_weight, | ||
float | unlocked_weight | ||
) |
Computes the display weight for the lock relative weight paint mode.
Definition at line 911 of file deform.c.
References VERTEX_WEIGHT_LOCK_EPSILON.
Referenced by BKE_defvert_lock_relative_weight(), do_weight_paint_vertex_multi(), and do_weight_paint_vertex_single().
void BKE_defvert_clear | ( | struct MDeformVert * | dvert | ) |
Definition at line 835 of file deform.c.
References MDeformVert::dw, MEM_SAFE_FREE, and MDeformVert::totweight.
Referenced by bpy_bmdeformvert_clear().
void BKE_defvert_copy | ( | struct MDeformVert * | dvert_dst, |
const struct MDeformVert * | dvert_src | ||
) |
Referenced by BPy_BMDeformVert_AssignPyObject(), defweight_prev_init(), dvert_mirror_op(), and output_frames().
void BKE_defvert_copy_index | ( | struct MDeformVert * | dvert_dst, |
int | defgroup_dst, | ||
const struct MDeformVert * | dvert_src, | ||
int | defgroup_src | ||
) |
Copy an index from one MDeformVert to another.
Referenced by dvert_mirror_op(), and vgroup_copy_active_to_sel_single().
void BKE_defvert_copy_subset | ( | struct MDeformVert * | dvert_dst, |
const struct MDeformVert * | dvert_src, | ||
const bool * | vgroup_subset, | ||
int | vgroup_tot | ||
) |
Overwrite weights filtered by vgroup_subset.
Referenced by vgroup_copy_active_to_sel().
struct MDeformWeight* BKE_defvert_ensure_index | ( | struct MDeformVert * | dv, |
int | defgroup | ||
) |
Ensures that dv
has a deform weight entry for the specified defweight group.
Definition at line 748 of file deform.c.
References BKE_defvert_find_index(), BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, MEM_freeN, MEM_mallocN, NULL, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by BKE_defvert_copy_index(), BKE_defvert_flip_merged(), BKE_defvert_sync(), BKE_defvert_sync_mapped(), BKE_gpencil_stroke_close(), bpy_bmdeformvert_ass_subscript(), brush_draw_apply(), deformStroke(), do_weight_paint_vertex_single(), dvert_mirror_op(), dynamicPaint_Modifier_apply(), ED_gpencil_vgroup_assign(), ED_vgroup_parray_from_weight_array(), fade_stroke_points(), generate_geometry(), gpencil_add_verts_to_dgroups(), gpencil_primitive_interaction_end(), gpencil_stroke_from_buffer(), gpencil_stroke_newfrombuffer(), gpencil_vertex_group_smooth_exec(), gradientVert_update(), lineart_gpencil_generate(), mesh_defvert_mirror_update_internal(), MOD_solidify_extrude_modifyMesh(), blender::bke::VArrayImpl_For_VertexWeights::set(), vgroup_assign_verts(), vgroup_duplicate(), vgroup_invert_subset(), and weight_paint_set().
void BKE_defvert_extract_vgroup_to_edgeweights | ( | const struct MDeformVert * | dvert, |
int | defgroup, | ||
int | num_verts, | ||
struct MEdge * | edges, | ||
int | num_edges, | ||
bool | invert_vgroup, | ||
float * | r_weights | ||
) |
The following three make basic interpolation, using temp vert_weights array to avoid looking up same weight several times.
Referenced by BKE_object_data_transfer_ex().
void BKE_defvert_extract_vgroup_to_loopweights | ( | const struct MDeformVert * | dvert, |
int | defgroup, | ||
int | num_verts, | ||
struct MLoop * | loops, | ||
int | num_loops, | ||
bool | invert_vgroup, | ||
float * | r_weights | ||
) |
Referenced by BKE_object_data_transfer_ex(), and mix_normals().
void BKE_defvert_extract_vgroup_to_polyweights | ( | const struct MDeformVert * | dvert, |
int | defgroup, | ||
int | num_verts, | ||
struct MLoop * | loops, | ||
int | num_loops, | ||
struct MPoly * | polys, | ||
int | num_polys, | ||
bool | invert_vgroup, | ||
float * | r_weights | ||
) |
Referenced by BKE_object_data_transfer_ex().
void BKE_defvert_extract_vgroup_to_vertweights | ( | const struct MDeformVert * | dvert, |
int | defgroup, | ||
int | num_verts, | ||
bool | invert_vgroup, | ||
float * | r_weights | ||
) |
Referenced by BKE_object_data_transfer_ex().
struct MDeformWeight* BKE_defvert_find_index | ( | const struct MDeformVert * | dv, |
int | defgroup | ||
) |
Referenced by aggregate_item_normal(), BKE_gpencil_vgroup_remove(), BKE_object_defgroup_clear(), bpy_bmdeformvert_ass_subscript(), bpy_bmdeformvert_contains(), bpy_bmdeformvert_get(), bpy_bmdeformvert_subscript(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), do_weight_paint_vertex_single(), dvert_mirror_op(), dynamicPaint_Modifier_apply(), ED_gpencil_vgroup_deselect(), ED_gpencil_vgroup_remove(), ED_gpencil_vgroup_select(), ED_vgroup_nr_vert_add(), ED_vgroup_parray_from_weight_array(), ED_vgroup_vert_remove(), get_modifier_point_weight(), get_vert_def_nr(), gpencil_vertex_group_invert_exec(), gpencil_vertex_group_normalize_all_exec(), gpencil_vertex_group_normalize_exec(), gradientVert_update(), gradientVertInit__mapFunc(), modifyMesh(), object_defgroup_remove_object_mode(), blender::bke::VertexGroupsAttributeProvider::try_delete(), vgroup_duplicate(), vgroup_invert_subset(), vgroup_levels_subset(), vgroup_normalize(), vgroup_remove_weight(), vgroup_select_verts(), view3d_panel_vgroup(), and weightvg_update_vg().
int BKE_defvert_find_shared | ( | const struct MDeformVert * | dvert_a, |
const struct MDeformVert * | dvert_b | ||
) |
float BKE_defvert_find_weight | ( | const struct MDeformVert * | dvert, |
int | defgroup | ||
) |
Definition at line 704 of file deform.c.
References BKE_defvert_find_index(), and MDeformWeight::weight.
Referenced by armature_vert_task_with_dvert(), bevel_vert_construct(), bindVert(), BKE_defvert_array_find_weight_safe(), BKE_defvert_extract_vgroup_to_vertweights(), BKE_defvert_find_shared(), BKE_lattice_deform_data_create(), BM_mesh_wireframe(), compute_vertex_mask__vertex_group_mode(), createFacepa(), cuboid_do(), deformVert(), displaceModifier_do_task(), do_weight_paint_vertex_single(), ED_vgroup_parray_to_weight_array(), edbm_decimate_exec(), blender::draw::evaluate_vertex_weight(), get_interp_factor_from_vgroup(), get_weights_array(), gpencil_point_edit_weight(), gpencil_vertex_group_smooth_exec(), hook_co_apply(), initSystem(), isSystemDifferent(), laplaciansmoothModifier_do(), lattice_batch_cache_get_pos(), lattice_deform_vert_with_dvert(), lattice_to_softbody(), mesh_defvert_mirror_update_internal(), mesh_get_weights(), mesh_to_softbody(), meshcache_do(), meshdeform_vert_task(), MOD_solidify_extrude_modifyMesh(), modifyMesh(), psys_cache_vgroup(), return_editmesh_vgroup(), selected_indices_from_vertex_group(), selection_array_from_vertex_group(), smoothModifier_do(), sphere_do(), stroke_interpolate_deform_weights(), uv_warp_compute(), warpModifier_do(), waveModifier_do(), weight_sample_invoke(), weightvg_do_mask(), and wpaint_get_active_weight().
void BKE_defvert_flip | ( | struct MDeformVert * | dvert, |
const int * | flip_map, | ||
int | flip_map_len | ||
) |
Definition at line 402 of file deform.c.
References MDeformWeight::def_nr, and MDeformVert::dw.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), and dvert_mirror_op().
void BKE_defvert_flip_merged | ( | struct MDeformVert * | dvert, |
const int * | flip_map, | ||
int | flip_map_len | ||
) |
Definition at line 416 of file deform.c.
References BKE_defvert_ensure_index(), MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier().
bool BKE_defvert_is_weight_zero | ( | const struct MDeformVert * | dvert, |
int | defgroup_tot | ||
) |
Definition at line 858 of file deform.c.
References MDeformWeight::def_nr, MDeformVert::dw, LIKELY, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by blender::draw::evaluate_vertex_weight().
float BKE_defvert_lock_relative_weight | ( | float | weight, |
const struct MDeformVert * | dv, | ||
int | defbase_tot, | ||
const bool * | defbase_locked, | ||
const bool * | defbase_unlocked | ||
) |
Computes the display weight for the lock relative weight paint mode, using weight data.
Definition at line 939 of file deform.c.
References BKE_defvert_calc_lock_relative_weight(), and BKE_defvert_total_selected_weight().
Referenced by do_weight_paint_vertex_multi(), do_weight_paint_vertex_single(), blender::draw::evaluate_vertex_weight(), weight_sample_invoke(), and wpaint_get_active_weight().
void BKE_defvert_mirror_subset | ( | struct MDeformVert * | dvert_dst, |
const struct MDeformVert * | dvert_src, | ||
const bool * | vgroup_subset, | ||
int | vgroup_tot, | ||
const int * | flip_map, | ||
int | flip_map_len | ||
) |
Overwrite weights filtered by vgroup_subset and with mirroring specified by the flip map
Referenced by ED_vgroup_parray_mirror_sync().
float BKE_defvert_multipaint_collective_weight | ( | const struct MDeformVert * | dv, |
int | defbase_tot, | ||
const bool * | defbase_sel, | ||
int | defbase_tot_sel, | ||
bool | is_normalized | ||
) |
Result equal to sum of weights with auto normalize, and average otherwise. Value is not clamped, since painting relies on multiplication being always commutative with the collective weight function.
Definition at line 894 of file deform.c.
References BKE_defvert_total_selected_weight().
Referenced by do_weight_paint_vertex_multi(), blender::draw::evaluate_vertex_weight(), weight_sample_invoke(), and wpaint_get_active_weight().
void BKE_defvert_normalize | ( | struct MDeformVert * | dvert | ) |
Definition at line 264 of file deform.c.
References CLAMP, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
void BKE_defvert_normalize_lock_map | ( | struct MDeformVert * | dvert, |
const bool * | vgroup_subset, | ||
int | vgroup_tot, | ||
const bool * | lock_flags, | ||
int | defbase_tot | ||
) |
Same as BKE_defvert_normalize() if no locked vgroup is a member of the subset
Definition at line 347 of file deform.c.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, max_ff(), MDeformVert::totweight, and MDeformWeight::weight.
Referenced by paint_weight_gradient_exec(), and vgroup_normalize_all().
void BKE_defvert_normalize_lock_single | ( | struct MDeformVert * | dvert, |
const bool * | vgroup_subset, | ||
int | vgroup_tot, | ||
uint | def_nr_lock | ||
) |
Same as BKE_defvert_normalize() if the locked vgroup is not a member of the subset
Definition at line 293 of file deform.c.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, NULL, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by paint_weight_gradient_exec(), and vgroup_normalize_all().
void BKE_defvert_normalize_subset | ( | struct MDeformVert * | dvert, |
const bool * | vgroup_subset, | ||
int | vgroup_tot | ||
) |
Same as BKE_defvert_normalize but takes a bool array.
Definition at line 227 of file deform.c.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by vgroup_normalize_active_vertex(), and vgroup_normalize_all().
void BKE_defvert_remap | ( | struct MDeformVert * | dvert, |
const int * | map, | ||
int | map_len | ||
) |
be sure all flip_map values are valid
Definition at line 215 of file deform.c.
References BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, map, and MDeformVert::totweight.
Referenced by vgroup_do_remap().
void BKE_defvert_remove_group | ( | struct MDeformVert * | dvert, |
struct MDeformWeight * | dw | ||
) |
Removes the given vertex from the vertex group.
Definition at line 804 of file deform.c.
References BLI_assert, MDeformVert::dw, MEM_freeN, MEM_reallocN, NULL, and MDeformVert::totweight.
Referenced by BKE_gpencil_vgroup_remove(), BKE_mesh_validate_arrays(), BKE_object_defgroup_clear(), bpy_bmdeformvert_ass_subscript(), dvert_mirror_op(), ED_gpencil_vgroup_remove(), ED_vgroup_data_clamp_range(), ED_vgroup_nr_vert_add(), ED_vgroup_parray_from_weight_array(), ED_vgroup_parray_remove_zero(), ED_vgroup_vert_remove(), gpencil_vertex_group_invert_exec(), gradientVert_update(), object_defgroup_remove_object_mode(), blender::bke::VertexGroupsAttributeProvider::try_delete(), vgroup_remove_weight(), and weightvg_update_vg().
void BKE_defvert_sync | ( | struct MDeformVert * | dvert_dst, |
const struct MDeformVert * | dvert_src, | ||
bool | use_ensure | ||
) |
Only sync over matching weights, don't add or remove groups warning, loop within loop.
void BKE_defvert_sync_mapped | ( | struct MDeformVert * | dvert_dst, |
const struct MDeformVert * | dvert_src, | ||
const int * | flip_map, | ||
int | flip_map_len, | ||
bool | use_ensure | ||
) |
be sure all flip_map values are valid
Referenced by mesh_defvert_mirror_update_internal().
float BKE_defvert_total_selected_weight | ( | const struct MDeformVert * | dv, |
int | defbase_tot, | ||
const bool * | defbase_sel | ||
) |
Definition at line 872 of file deform.c.
References MDeformWeight::def_nr, MDeformVert::dw, NULL, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by BKE_defvert_lock_relative_weight(), BKE_defvert_multipaint_collective_weight(), do_weight_paint_vertex_multi(), and do_weight_paint_vertex_single().
Definition at line 1518 of file deform.c.
References blend().
Referenced by psys_cache_edit_paths_iter().
Definition at line 493 of file deform.c.
References BKE_id_defgroup_list_get().
Referenced by BKE_object_defgroup_list_mutable().
bool BKE_id_defgroup_name_find | ( | const struct ID * | id, |
const char * | name, | ||
int * | r_index, | ||
struct bDeformGroup ** | r_group | ||
) |
Definition at line 517 of file deform.c.
References BKE_id_defgroup_list_get(), LISTBASE_FOREACH_INDEX, NULL, and STREQ.
Referenced by BKE_id_defgroup_name_index(), and blender::bke::VertexGroupsAttributeProvider::try_delete().
int BKE_id_defgroup_name_index | ( | const struct ID * | id, |
const char * | name | ||
) |
Referenced by armature_deform_coords_impl(), BKE_lattice_deform_data_create(), BKE_object_data_transfer_ex(), calculate_weld(), lattice_deform_coords_impl(), lattice_to_softbody(), mesh_to_softbody(), MOD_get_vgroup(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modifyMesh(), pointdensity_cache_vertex_weight(), weightvg_do_mask(), and WireframeModifier_do().
int BKE_object_defgroup_active_index_get | ( | const struct Object * | ob | ) |
Referenced by BKE_gpencil_vgroup_remove(), BKE_object_defgroup_subset_from_select_type(), do_versions_after_linking_300(), ED_vgroup_array_copy(), ED_vgroup_mirror(), edbm_decimate_exec(), object_defgroup_remove_common(), paint_weight_gradient_exec(), pointdensity_cache_vertex_weight(), return_editmesh_vgroup(), tree_element_defgroup_state_get(), vertex_group_remove_from_exec(), vertex_group_vert_select_unlocked_poll(), vgroup_assign_verts(), vgroup_delete_active(), vgroup_do_remap(), vgroup_duplicate(), vgroup_move_exec(), vgroup_normalize(), vgroup_normalize_all(), vgroup_select_verts(), vgroup_selected_get(), view3d_panel_vgroup(), weight_paint_set(), and wpaint_stroke_done().
Definition at line 568 of file deform.c.
References object_defgroup_active_index_get_p().
Referenced by BKE_gpencil_vgroup_remove(), BKE_object_defgroup_add_name(), BKE_object_defgroup_remove_all_ex(), do_versions_after_linking_300(), ED_vgroup_array_copy(), ED_vgroup_select_by_name(), ED_vgroup_sync_from_pose(), move_vertex_group_names_to_object_data(), object_defgroup_remove_common(), set_active_group_exec(), tree_element_defgroup_activate(), vertex_weight_set_active_exec(), vgroup_do_remap(), vgroup_duplicate(), and weight_sample_group_exec().
int BKE_object_defgroup_count | ( | const struct Object * | ob | ) |
Referenced by BKE_object_defgroup_add_name(), BKE_object_defgroup_subset_from_select_type(), ED_object_vgroup_calc_from_armature(), blender::io::obj::OBJMesh::get_poly_deform_group_index(), get_weights_array(), gpencil_object_vgroup_calc_from_armature(), object_defgroup_remove_update_users(), similar_vert_select_exec(), blender::io::obj::OBJMesh::tot_deform_groups(), and vgroup_selected_get().
struct bDeformGroup* BKE_object_defgroup_find_name | ( | const struct Object * | ob, |
const char * | name | ||
) |
Referenced by mesh_defvert_mirror_update_internal().
int* BKE_object_defgroup_flip_map | ( | const struct Object * | ob, |
int * | flip_map_len, | ||
bool | use_default | ||
) |
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), ED_vgroup_mirror(), ED_vgroup_parray_mirror_sync(), and mesh_defvert_mirror_update_internal().
int* BKE_object_defgroup_flip_map_single | ( | const struct Object * | ob, |
int * | flip_map_len, | ||
bool | use_default, | ||
int | defgroup | ||
) |
Referenced by ED_vgroup_mirror().
Referenced by BKE_object_defgroup_clear(), BKE_object_defgroup_clear_all(), BKE_object_defgroup_index_map_create(), BKE_object_defgroup_mirror_selection(), BKE_object_defgroup_selected_get(), BKE_object_defgroup_validmap_get(), check_vertex_group_accessible(), draw_armature_pose(), dt_layers_select_src_itemf(), ED_vgroup_array_copy(), ED_vgroup_mirror(), ED_vgroup_vert_add(), ED_vgroup_vert_remove(), ED_vgroup_vert_weight(), ED_wpaint_ensure_data(), ED_wpaint_mirror_vgroup_ensure(), edbm_select_ungrouped_poll(), blender::io::obj::OBJMesh::get_poly_deform_group_name(), SkinInfo::link_armature(), object_defgroup_remove_edit_mode(), object_defgroup_remove_object_mode(), outliner_add_object_contents(), return_editmesh_vgroup(), similar_vert_select_exec(), updateDepsgraph(), vertex_group_poll_ex(), vertex_group_remove_from_exec(), vertex_group_vert_select_unlocked_poll(), vgroup_assign_verts(), vgroup_delete_active(), vgroup_do_remap(), vgroup_init_remap(), vgroup_itemf(), vgroup_lock_all(), vgroup_normalize(), vgroup_normalize_all(), vgroup_select_verts(), and view3d_panel_vgroup().
Definition at line 552 of file deform.c.
References BKE_id_defgroup_list_get_mutable(), BKE_object_supports_vertex_groups(), BLI_assert, and Object::data.
Referenced by BKE_object_defgroup_lock_flags_get(), BKE_object_defgroup_new(), BKE_object_defgroup_remove_all_ex(), data_transfer_layersmapping_vgroups_multisrc_to_dst(), ED_vgroup_array_copy(), move_vertex_group_names_to_object_data(), object_defgroup_remove_common(), vertex_group_sort_exec(), vgroup_duplicate(), vgroup_move_exec(), and vgroup_sort_bone_hierarchy().
int BKE_object_defgroup_name_index | ( | const struct Object * | ob, |
const char * | name | ||
) |
Referenced by BKE_object_defgroup_index_map_create(), BKE_object_defgroup_mirror_selection(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), deformStroke(), deformVertsEM(), dynamicPaint_Modifier_apply(), dynamicPaint_outputLayerExists(), ED_vgroup_select_by_name(), ED_vgroup_sync_from_pose(), ED_wpaint_mirror_vgroup_ensure(), generate_geometry(), get_weights_array(), lineart_gpencil_generate(), and MOD_get_vgroup().
struct bDeformGroup* BKE_object_defgroup_new | ( | struct Object * | ob, |
const char * | name | ||
) |
Definition at line 43 of file deform.c.
References BKE_object_batch_cache_dirty_tag(), BKE_object_defgroup_list_mutable(), BKE_object_defgroup_unique_name(), BLI_addtail(), BLI_assert, BLI_strncpy(), MEM_callocN, bDeformGroup::name, OB_TYPE_SUPPORT_VGROUP, and Object::type.
Referenced by BKE_object_defgroup_add_name(), ED_wpaint_mirror_vgroup_ensure(), and blender::ed::geometry::geometry_attribute_convert_exec().
void BKE_object_defgroup_unique_name | ( | struct bDeformGroup * | dg, |
struct Object * | ob | ||
) |
Definition at line 692 of file deform.c.
References BLI_uniquename_cb(), data, DATA_, defgroup_unique_check(), and bDeformGroup::name.
Referenced by BKE_object_defgroup_new(), blo_do_versions_pre250(), ED_gpencil_join_objects_exec(), namebutton_fn(), and vgroup_duplicate().