|
Blender V4.3
|
#include <cctype>#include <cmath>#include <cstddef>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_gpencil_legacy_types.h"#include "DNA_grease_pencil_types.h"#include "DNA_lattice_types.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLI_string_utils.hh"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "BKE_attribute.hh"#include "BKE_customdata.hh"#include "BKE_data_transfer.h"#include "BKE_deform.hh"#include "BKE_grease_pencil.hh"#include "BKE_grease_pencil_vertex_groups.hh"#include "BKE_mesh.hh"#include "BKE_mesh_mapping.hh"#include "BKE_object.hh"#include "BKE_object_deform.h"#include "BLO_read_write.hh"#include "data_transfer_intern.h"Go to the source code of this file.
Classes | |
| struct | DeformGroupUniqueNameData |
| class | blender::bke::VArrayImpl_For_VertexWeights |
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
Functions | |
| bDeformGroup * | BKE_object_defgroup_new (Object *ob, const StringRef name) |
| void | BKE_defgroup_copy_list (ListBase *outbase, const ListBase *inbase) |
| bDeformGroup * | BKE_defgroup_duplicate (const bDeformGroup *ingroup) |
| void | BKE_defvert_copy_subset (MDeformVert *dvert_dst, const MDeformVert *dvert_src, const bool *vgroup_subset, const int vgroup_num) |
| void | BKE_defvert_mirror_subset (MDeformVert *dvert_dst, const MDeformVert *dvert_src, const bool *vgroup_subset, const int vgroup_num, const int *flip_map, const int flip_map_num) |
| void | BKE_defvert_copy (MDeformVert *dvert_dst, const MDeformVert *dvert_src) |
| void | BKE_defvert_copy_index (MDeformVert *dvert_dst, const int defgroup_dst, const MDeformVert *dvert_src, const int defgroup_src) |
| void | BKE_defvert_sync (MDeformVert *dvert_dst, const MDeformVert *dvert_src, const bool use_ensure) |
| void | BKE_defvert_sync_mapped (MDeformVert *dvert_dst, const MDeformVert *dvert_src, const int *flip_map, const int flip_map_num, const bool use_ensure) |
| void | BKE_defvert_remap (MDeformVert *dvert, const int *map, const int map_len) |
| void | BKE_defvert_normalize_subset (MDeformVert *dvert, const bool *vgroup_subset, const int vgroup_num) |
| void | BKE_defvert_normalize (MDeformVert *dvert) |
| void | BKE_defvert_normalize_lock_single (MDeformVert *dvert, const bool *vgroup_subset, const int vgroup_num, const uint def_nr_lock) |
| void | BKE_defvert_normalize_lock_map (MDeformVert *dvert, const bool *vgroup_subset, const int vgroup_num, const bool *lock_flags, const int defbase_num) |
| void | BKE_defvert_flip (MDeformVert *dvert, const int *flip_map, const int flip_map_num) |
| void | BKE_defvert_flip_merged (MDeformVert *dvert, const int *flip_map, const int flip_map_num) |
| bool | BKE_id_supports_vertex_groups (const ID *id) |
| bool | BKE_object_supports_vertex_groups (const Object *ob) |
| const ListBase * | BKE_id_defgroup_list_get (const ID *id) |
| static const int * | object_defgroup_active_index_get_p (const Object *ob) |
| ListBase * | BKE_id_defgroup_list_get_mutable (ID *id) |
| bDeformGroup * | BKE_object_defgroup_find_name (const Object *ob, const StringRef name) |
| int | BKE_defgroup_name_index (const ListBase *defbase, const StringRef name) |
| int | BKE_id_defgroup_name_index (const ID *id, const StringRef name) |
| bool | BKE_defgroup_listbase_name_find (const ListBase *defbase, const StringRef name, int *r_index, bDeformGroup **r_group) |
| bool | BKE_id_defgroup_name_find (const ID *id, const StringRef name, int *r_index, bDeformGroup **r_group) |
| const ListBase * | BKE_object_defgroup_list (const Object *ob) |
| int | BKE_object_defgroup_name_index (const Object *ob, const StringRef name) |
| ListBase * | BKE_object_defgroup_list_mutable (Object *ob) |
| int | BKE_object_defgroup_count (const Object *ob) |
| int | BKE_object_defgroup_active_index_get (const Object *ob) |
| void | BKE_object_defgroup_active_index_set (Object *ob, const int new_index) |
| static int * | object_defgroup_unlocked_flip_map_ex (const Object *ob, const bool use_default, const bool use_only_unlocked, int *r_flip_map_num) |
| int * | BKE_object_defgroup_flip_map (const Object *ob, const bool use_default, int *r_flip_map_num) |
| int * | BKE_object_defgroup_flip_map_unlocked (const Object *ob, const bool use_default, int *r_flip_map_num) |
| int * | BKE_object_defgroup_flip_map_single (const Object *ob, const bool use_default, const int defgroup, int *r_flip_map_num) |
| int | BKE_object_defgroup_flip_index (const Object *ob, int index, const bool use_default) |
| static bool | defgroup_find_name_dupe (const StringRef name, bDeformGroup *dg, Object *ob) |
| static bool | defgroup_unique_check (void *arg, const char *name) |
| void | BKE_object_defgroup_unique_name (bDeformGroup *dg, Object *ob) |
| void | BKE_object_defgroup_set_name (bDeformGroup *dg, Object *ob, const char *new_name) |
| float | BKE_defvert_find_weight (const MDeformVert *dvert, const int defgroup) |
| float | BKE_defvert_array_find_weight_safe (const MDeformVert *dvert, const int index, const int defgroup) |
| MDeformWeight * | BKE_defvert_find_index (const MDeformVert *dvert, const int defgroup) |
| MDeformWeight * | BKE_defvert_ensure_index (MDeformVert *dvert, const int defgroup) |
| void | BKE_defvert_add_index_notest (MDeformVert *dvert, const int defgroup, const float weight) |
| void | BKE_defvert_remove_group (MDeformVert *dvert, MDeformWeight *dw) |
| void | BKE_defvert_clear (MDeformVert *dvert) |
| int | BKE_defvert_find_shared (const MDeformVert *dvert_a, const MDeformVert *dvert_b) |
| bool | BKE_defvert_is_weight_zero (const MDeformVert *dvert, const int defgroup_tot) |
| float | BKE_defvert_total_selected_weight (const MDeformVert *dv, int defbase_num, const bool *defbase_sel) |
| float | BKE_defvert_multipaint_collective_weight (const MDeformVert *dv, const int defbase_num, const bool *defbase_sel, const int defbase_sel_num, const bool is_normalized) |
| float | BKE_defvert_calc_lock_relative_weight (float weight, float locked_weight, float unlocked_weight) |
| float | BKE_defvert_lock_relative_weight (const float weight, const MDeformVert *dv, const int defbase_num, const bool *defbase_locked, const bool *defbase_unlocked) |
| VArray< float > | blender::bke::varray_for_deform_verts (Span< MDeformVert > dverts, int defgroup_index) |
| VMutableArray< float > | blender::bke::varray_for_mutable_deform_verts (MutableSpan< MDeformVert > dverts, int defgroup_index) |
| void | blender::bke::remove_defgroup_index (MutableSpan< MDeformVert > dverts, int defgroup_index) |
| void | blender::bke::gather_deform_verts (Span< MDeformVert > src, Span< int > indices, MutableSpan< MDeformVert > dst) |
| void | blender::bke::gather_deform_verts (Span< MDeformVert > src, const IndexMask &indices, MutableSpan< MDeformVert > dst) |
Defvert Array functions | |
| void | BKE_defvert_array_copy (MDeformVert *dst, const MDeformVert *src, int totvert) |
| void | BKE_defvert_array_free_elems (MDeformVert *dvert, int totvert) |
| void | BKE_defvert_array_free (MDeformVert *dvert, int totvert) |
| void | BKE_defvert_extract_vgroup_to_vertweights (const MDeformVert *dvert, const int defgroup, const int verts_num, const bool invert_vgroup, float *r_weights) |
| void | BKE_defvert_extract_vgroup_to_edgeweights (const MDeformVert *dvert, const int defgroup, const int verts_num, const blender::int2 *edges, const int edges_num, const bool invert_vgroup, float *r_weights) |
| void | BKE_defvert_extract_vgroup_to_loopweights (const MDeformVert *dvert, const int defgroup, const int verts_num, const int *corner_verts, const int loops_num, const bool invert_vgroup, float *r_weights) |
| void | BKE_defvert_extract_vgroup_to_faceweights (const MDeformVert *dvert, const int defgroup, const int verts_num, const int *corner_verts, const int, const blender::OffsetIndices< int > faces, const bool invert_vgroup, float *r_weights) |
Data Transfer | |
| static void | vgroups_datatransfer_interp (const CustomDataTransferLayerMap *laymap, void *dest, const void **sources, const float *weights, const int count, const float mix_factor) |
| static bool | data_transfer_layersmapping_vgroups_multisrc_to_dst (ListBase *r_map, const int mix_mode, const float mix_factor, const float *mix_weights, const int num_elem_dst, const bool use_create, const bool use_delete, Object *ob_src, Object *ob_dst, const MDeformVert *data_src, MDeformVert *data_dst, const CustomData *, CustomData *cd_dst, const bool, const int tolayers, const bool *use_layers_src, const int num_layers_src) |
| bool | data_transfer_layersmapping_vgroups (ListBase *r_map, const int mix_mode, const float mix_factor, const float *mix_weights, const int num_elem_dst, const bool use_create, const bool use_delete, Object *ob_src, Object *ob_dst, const CustomData *cd_src, CustomData *cd_dst, const bool use_dupref_dst, const int fromlayers, const int tolayers) |
Various utils & helpers. | |
| void | BKE_defvert_weight_to_rgb (float r_rgb[3], const float weight) |
.blend file I/O | |
| void | BKE_defbase_blend_write (BlendWriter *writer, const ListBase *defbase) |
| void | BKE_defvert_blend_write (BlendWriter *writer, int count, const MDeformVert *dvlist) |
| void | BKE_defvert_blend_read (BlendDataReader *reader, int count, MDeformVert *mdverts) |
| void BKE_defbase_blend_write | ( | BlendWriter * | writer, |
| const ListBase * | defbase ) |
Definition at line 1635 of file deform.cc.
References BLO_write_struct, and LISTBASE_FOREACH.
Referenced by blender::bke::CurvesGeometry::blend_write(), grease_pencil_blend_write(), greasepencil_blend_write(), lattice_blend_write(), and mesh_blend_write().
Definition at line 76 of file deform.cc.
References BKE_defgroup_duplicate(), BLI_addtail(), BLI_listbase_clear(), and LISTBASE_FOREACH.
Referenced by BKE_mesh_copy_parameters_for_eval(), blender::bke::curves_copy_curve_selection(), blender::bke::curves_copy_point_selection(), blender::bke::CurvesGeometry::CurvesGeometry(), grease_pencil_copy_data(), greasepencil_copy_data(), lattice_copy_data(), blender::bke::greasepencil::convert::legacy_gpencil_to_grease_pencil(), mesh_copy_data(), and blender::ed::greasepencil::remove_points_and_split().
| bDeformGroup * BKE_defgroup_duplicate | ( | const bDeformGroup * | ingroup | ) |
Definition at line 85 of file deform.cc.
References BLI_assert, bDeformGroup::next, and bDeformGroup::prev.
Referenced by BKE_defgroup_copy_list(), and blender::ed::object::vgroup_duplicate().
| bool BKE_defgroup_listbase_name_find | ( | const ListBase * | defbase, |
| const StringRef | name, | ||
| int * | r_index, | ||
| bDeformGroup ** | r_group ) |
Definition at line 548 of file deform.cc.
References LISTBASE_FOREACH_INDEX.
Referenced by BKE_defgroup_name_index(), BKE_id_defgroup_name_find(), and blender::bke::CurvesVertexGroupsAttributeProvider::try_delete().
Definition at line 534 of file deform.cc.
References BKE_defgroup_listbase_name_find().
Referenced by armature_deform_coords_impl(), blender::bke::greasepencil::assign_to_vertex_group(), blender::bke::greasepencil::assign_to_vertex_group_from_mask(), BKE_id_defgroup_name_index(), blender::bke::greasepencil::ensure_vertex_group(), blender::ensure_vertex_group(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), blender::ed::greasepencil::lookup_or_add_deform_group_index(), blender::bke::greasepencil::remove_from_vertex_group(), blender::bke::greasepencil::select_from_group(), similar_vert_select_exec(), blender::target_vertex_group_available(), blender::bke::CurvesVertexGroupsAttributeProvider::try_get_for_read(), blender::bke::MeshVertexGroupsAttributeProvider::try_get_for_read(), blender::bke::CurvesVertexGroupsAttributeProvider::try_get_for_write(), blender::bke::MeshVertexGroupsAttributeProvider::try_get_for_write(), blender::ed::object::vgroup_do_remap(), and blender::ed::greasepencil::weight_sample_invoke().
| void BKE_defvert_add_index_notest | ( | MDeformVert * | dv, |
| int | defgroup, | ||
| float | weight ) |
Adds the given vertex to the specified vertex group, with given weight.
Definition at line 846 of file deform.cc.
References BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, MEM_callocN, MEM_freeN(), MDeformVert::totweight, and MDeformWeight::weight.
Referenced by blender::ed::geometry::geometry_attribute_convert_exec(), subdivide_base(), blender::ed::object::vgroup_nr_vert_add(), vgroups_datatransfer_interp(), and weightvg_update_vg().
| void BKE_defvert_array_copy | ( | MDeformVert * | dst, |
| const MDeformVert * | src, | ||
| int | totvert ) |
Definition at line 1029 of file deform.cc.
References MDeformVert::dw, and MEM_mallocN.
Referenced by BKE_editlattice_load(), BKE_editlattice_make(), BKE_gpencil_stroke_weights_duplicate(), lattice_copy_data(), paint_weight_gradient_modal(), undolatt_from_editlatt(), undolatt_to_editlatt(), and wpaint_prev_create().
| float BKE_defvert_array_find_weight_safe | ( | const 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 776 of file deform.cc.
References BKE_defvert_find_weight().
Referenced by modify_mesh(), 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 | ( | MDeformVert * | dvert, |
| int | totvert ) |
Definition at line 1066 of file deform.cc.
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 | ( | MDeformVert * | dvert, |
| int | totvert ) |
Definition at line 1048 of file deform.cc.
References MEM_freeN().
Referenced by BKE_defvert_array_free(), BKE_sculptsession_free_vwpaint_data(), blender::ed::sculpt_paint::vwpaint::init_session_data(), and paint_weight_gradient_modal().
| void BKE_defvert_blend_read | ( | BlendDataReader * | reader, |
| int | count, | ||
| MDeformVert * | mdverts ) |
Definition at line 1659 of file deform.cc.
References BLO_read_struct_array, count, MDeformVert::dw, MEM_freeN(), MEM_mallocN, and MDeformVert::totweight.
Referenced by BKE_gpencil_blend_read_data(), blend_read_layer_data(), lattice_blend_read_data(), and mesh_blend_read_data().
| void BKE_defvert_blend_write | ( | BlendWriter * | writer, |
| int | count, | ||
| const MDeformVert * | dvlist ) |
Definition at line 1642 of file deform.cc.
References BLO_write_struct_array, and count.
Referenced by blend_write_layer_data(), 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 980 of file deform.cc.
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 | ( | MDeformVert * | dvert | ) |
Definition at line 904 of file deform.cc.
References MDeformVert::dw, MEM_SAFE_FREE, and MDeformVert::totweight.
Referenced by bpy_bmdeformvert_clear(), and blender::bke::greasepencil::clear_vertex_groups().
| void BKE_defvert_copy | ( | MDeformVert * | dvert_dst, |
| const MDeformVert * | dvert_src ) |
Definition at line 130 of file deform.cc.
References MDeformVert::dw, MEM_dupallocN, MEM_freeN(), and MDeformVert::totweight.
Referenced by BPy_BMDeformVert_AssignPyObject(), defweight_prev_init(), blender::ed::object::dvert_mirror_op(), and output_frames().
| void BKE_defvert_copy_index | ( | MDeformVert * | dvert_dst, |
| int | defgroup_dst, | ||
| const MDeformVert * | dvert_src, | ||
| int | defgroup_src ) |
Copy an index from one MDeformVert to another.
Definition at line 153 of file deform.cc.
References BKE_defvert_ensure_index(), BKE_defvert_find_index(), and MDeformWeight::weight.
Referenced by BKE_defvert_copy_subset(), BKE_defvert_mirror_subset(), blender::ed::object::dvert_mirror_op(), and blender::ed::object::vgroup_copy_active_to_sel_single().
| void BKE_defvert_copy_subset | ( | MDeformVert * | dvert_dst, |
| const MDeformVert * | dvert_src, | ||
| const bool * | vgroup_subset, | ||
| int | vgroup_num ) |
Overwrite weights filtered by vgroup_subset.
Definition at line 102 of file deform.cc.
References BKE_defvert_copy_index().
Referenced by blender::ed::object::vgroup_copy_active_to_sel().
| MDeformWeight * BKE_defvert_ensure_index | ( | MDeformVert * | dv, |
| int | defgroup ) |
Ensures that dv has a deform weight entry for the specified group (defgroup).
Definition at line 814 of file deform.cc.
References BKE_defvert_find_index(), BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, MEM_freeN(), MEM_mallocN, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by blender::bke::greasepencil::assign_to_vertex_group(), blender::bke::greasepencil::assign_to_vertex_group_from_mask(), BKE_defvert_copy_index(), BKE_defvert_flip_merged(), BKE_defvert_sync(), BKE_defvert_sync_mapped(), BKE_gpencil_stroke_close(), bpy_bmdeformvert_ass_subscript(), do_weight_paint_vertex_single(), blender::ed::object::dvert_mirror_op(), dynamicPaint_Modifier_apply(), gradientVert_update(), blender::ed::object::mesh_defvert_mirror_update_internal(), MOD_lineart_gpencil_generate_v3(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), blender::bke::VArrayImpl_For_VertexWeights::set(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_duplicate(), blender::ed::object::vgroup_invert_subset(), blender::ed::object::vgroup_parray_from_weight_array(), and weight_paint_set().
| void BKE_defvert_extract_vgroup_to_edgeweights | ( | const MDeformVert * | dvert, |
| int | defgroup, | ||
| int | verts_num, | ||
| const blender::int2 * | edges, | ||
| int | edges_num, | ||
| 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.
Definition at line 1100 of file deform.cc.
References BKE_defvert_extract_vgroup_to_vertweights(), copy_vn_fl(), MEM_freeN(), MEM_mallocN, and UNLIKELY.
Referenced by BKE_object_data_transfer_ex().
| void BKE_defvert_extract_vgroup_to_faceweights | ( | const MDeformVert * | dvert, |
| const int | defgroup, | ||
| const int | verts_num, | ||
| const int * | corner_verts, | ||
| const int | loops_num, | ||
| const blender::OffsetIndices< int > | faces, | ||
| const bool | invert_vgroup, | ||
| float * | r_weights ) |
Definition at line 1156 of file deform.cc.
References BKE_defvert_extract_vgroup_to_vertweights(), copy_vn_fl(), float, MEM_freeN(), MEM_mallocN, blender::IndexRange::size(), UNLIKELY, and w().
Referenced by BKE_object_data_transfer_ex().
| void BKE_defvert_extract_vgroup_to_loopweights | ( | const MDeformVert * | dvert, |
| const int | defgroup, | ||
| const int | verts_num, | ||
| const int * | corner_verts, | ||
| const int | loops_num, | ||
| const bool | invert_vgroup, | ||
| float * | r_weights ) |
Definition at line 1129 of file deform.cc.
References BKE_defvert_extract_vgroup_to_vertweights(), copy_vn_fl(), MEM_freeN(), MEM_mallocN, and UNLIKELY.
Referenced by BKE_object_data_transfer_ex(), and mix_normals().
| void BKE_defvert_extract_vgroup_to_vertweights | ( | const MDeformVert * | dvert, |
| const int | defgroup, | ||
| const int | verts_num, | ||
| const bool | invert_vgroup, | ||
| float * | r_weights ) |
Definition at line 1081 of file deform.cc.
References BKE_defvert_find_weight(), copy_vn_fl(), and w().
Referenced by BKE_defvert_extract_vgroup_to_edgeweights(), BKE_defvert_extract_vgroup_to_faceweights(), BKE_defvert_extract_vgroup_to_loopweights(), and BKE_object_data_transfer_ex().
| MDeformWeight * BKE_defvert_find_index | ( | const MDeformVert * | dvert, |
| const int | defgroup ) |
Definition at line 795 of file deform.cc.
References BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, and MDeformVert::totweight.
Referenced by aggregate_item_normal(), BKE_defvert_copy_index(), BKE_defvert_ensure_index(), BKE_defvert_find_weight(), BKE_defvert_sync(), BKE_defvert_sync_mapped(), 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(), blender::ed::object::dvert_mirror_op(), dynamicPaint_Modifier_apply(), blender::ed::object::get_vert_def_nr(), gradientVert_update(), gradientVertInit__mapFunc(), modify_mesh(), modify_mesh(), modify_mesh(), object_defgroup_remove_object_mode(), blender::bke::greasepencil::remove_from_vertex_group(), update_active_vertex_weight(), blender::ed::object::vgroup_duplicate(), blender::ed::object::vgroup_invert_subset(), blender::ed::object::vgroup_levels_subset(), blender::ed::object::vgroup_normalize(), blender::ed::object::vgroup_nr_vert_add(), blender::ed::object::vgroup_parray_from_weight_array(), blender::ed::object::vgroup_remove_weight(), blender::ed::object::vgroup_select_verts(), blender::ed::object::vgroup_vert_remove(), vgroups_datatransfer_interp(), view3d_panel_vgroup(), and weightvg_update_vg().
| int BKE_defvert_find_shared | ( | const MDeformVert * | dvert_a, |
| const MDeformVert * | dvert_b ) |
Definition at line 911 of file deform.cc.
References BKE_defvert_find_weight(), MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
| float BKE_defvert_find_weight | ( | const MDeformVert * | dvert, |
| const int | defgroup ) |
Definition at line 770 of file deform.cc.
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(), construct_param_handle_face_add(), construct_param_handle_subsurfed(), createFacepa(), cuboid_do(), deformVert(), displaceModifier_do_task(), do_weight_paint_vertex_single(), edbm_decimate_exec(), blender::draw::evaluate_vertex_weight(), get_interp_factor_from_vgroup(), get_weights_array(), hook_co_apply(), initSystem(), isSystemDifferent(), laplaciansmoothModifier_do(), blender::draw::lattice_batch_cache_get_pos(), lattice_deform_vert_with_dvert(), lattice_to_softbody(), blender::ed::object::mesh_defvert_mirror_update_internal(), mesh_get_weights(), mesh_to_softbody(), meshcache_do(), meshdeform_vert_task(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), psys_cache_vgroup(), blender::ed::object::return_editmesh_vgroup(), selection_array_from_vertex_group(), smoothModifier_do(), sphere_do(), uv_warp_compute(), blender::ed::object::vgroup_parray_to_weight_array(), warpModifier_do(), waveModifier_do(), weight_sample_invoke(), weightvg_do_mask(), and wpaint_get_active_weight().
| void BKE_defvert_flip | ( | MDeformVert * | dvert, |
| const int * | flip_map, | ||
| const int | flip_map_num ) |
Definition at line 410 of file deform.cc.
References MDeformWeight::def_nr, MDeformVert::dw, and MDeformVert::totweight.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), and blender::ed::object::dvert_mirror_op().
| void BKE_defvert_flip_merged | ( | MDeformVert * | dvert, |
| const int * | flip_map, | ||
| const int | flip_map_num ) |
Definition at line 424 of file deform.cc.
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 MDeformVert * | dvert, |
| int | defgroup_tot ) |
Definition at line 927 of file deform.cc.
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 MDeformVert * | dv, | ||
| int | defbase_num, | ||
| 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 1008 of file deform.cc.
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 | ( | MDeformVert * | dvert_dst, |
| const MDeformVert * | dvert_src, | ||
| const bool * | vgroup_subset, | ||
| int | vgroup_num, | ||
| const int * | flip_map, | ||
| int | flip_map_num ) |
Overwrite weights filtered by vgroup_subset and with mirroring specified by the flip map
Definition at line 115 of file deform.cc.
References BKE_defvert_copy_index().
Referenced by blender::ed::object::vgroup_parray_mirror_sync().
| float BKE_defvert_multipaint_collective_weight | ( | const MDeformVert * | dv, |
| int | defbase_num, | ||
| const bool * | defbase_sel, | ||
| int | defbase_sel_num, | ||
| 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 963 of file deform.cc.
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 | ( | MDeformVert * | dvert | ) |
Definition at line 272 of file deform.cc.
References CLAMP, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
| void BKE_defvert_normalize_lock_map | ( | MDeformVert * | dvert, |
| const bool * | vgroup_subset, | ||
| int | vgroup_num, | ||
| const bool * | lock_flags, | ||
| int | defbase_num ) |
Same as BKE_defvert_normalize() if no locked vgroup is a member of the subset
Definition at line 355 of file deform.cc.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, max_ff(), MDeformVert::totweight, and MDeformWeight::weight.
Referenced by paint_weight_gradient_exec(), and blender::ed::object::vgroup_normalize_all().
| void BKE_defvert_normalize_lock_single | ( | MDeformVert * | dvert, |
| const bool * | vgroup_subset, | ||
| int | vgroup_num, | ||
| uint | def_nr_lock ) |
Same as BKE_defvert_normalize() if the locked vgroup is not a member of the subset
Definition at line 301 of file deform.cc.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by paint_weight_gradient_exec(), and blender::ed::object::vgroup_normalize_all().
| void BKE_defvert_normalize_subset | ( | MDeformVert * | dvert, |
| const bool * | vgroup_subset, | ||
| int | vgroup_num ) |
Same as BKE_defvert_normalize but takes a bool array.
Definition at line 235 of file deform.cc.
References CLAMP, MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by blender::ed::object::vgroup_normalize_active_vertex(), and blender::ed::object::vgroup_normalize_all().
| void BKE_defvert_remap | ( | MDeformVert * | dvert, |
| const int * | map, | ||
| int | map_len ) |
be sure all flip_map values are valid
Definition at line 223 of file deform.cc.
References BLI_assert, MDeformWeight::def_nr, MDeformVert::dw, and MDeformVert::totweight.
Referenced by blender::ed::object::vgroup_do_remap().
| void BKE_defvert_remove_group | ( | MDeformVert * | dvert, |
| MDeformWeight * | dw ) |
Removes the given vertex from the vertex group.
Definition at line 871 of file deform.cc.
References BLI_assert, BLI_assert_unreachable, MDeformVert::dw, MEM_freeN(), MEM_reallocN, MDeformVert::totweight, and UNLIKELY.
Referenced by BKE_mesh_validate_arrays(), BKE_object_defgroup_clear(), bpy_bmdeformvert_ass_subscript(), blender::ed::object::dvert_mirror_op(), gradientVert_update(), object_defgroup_remove_object_mode(), blender::bke::greasepencil::remove_from_vertex_group(), blender::ed::object::vgroup_data_clamp_range(), blender::ed::object::vgroup_nr_vert_add(), blender::ed::object::vgroup_parray_from_weight_array(), blender::ed::object::vgroup_parray_remove_zero(), blender::ed::object::vgroup_remove_weight(), blender::ed::object::vgroup_vert_remove(), and weightvg_update_vg().
| void BKE_defvert_sync | ( | MDeformVert * | dvert_dst, |
| const MDeformVert * | dvert_src, | ||
| bool | use_ensure ) |
Only sync over matching weights, don't add or remove groups warning, loop within loop.
Definition at line 177 of file deform.cc.
References BKE_defvert_ensure_index(), BKE_defvert_find_index(), MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
| void BKE_defvert_sync_mapped | ( | MDeformVert * | dvert_dst, |
| const MDeformVert * | dvert_src, | ||
| const int * | flip_map, | ||
| int | flip_map_num, | ||
| bool | use_ensure ) |
be sure all flip_map values are valid
Definition at line 197 of file deform.cc.
References BKE_defvert_ensure_index(), BKE_defvert_find_index(), MDeformWeight::def_nr, MDeformVert::dw, MDeformVert::totweight, and MDeformWeight::weight.
Referenced by blender::ed::object::mesh_defvert_mirror_update_internal().
| float BKE_defvert_total_selected_weight | ( | const MDeformVert * | dv, |
| int | defbase_num, | ||
| const bool * | defbase_sel ) |
Definition at line 941 of file deform.cc.
References MDeformWeight::def_nr, MDeformVert::dw, 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 1596 of file deform.cc.
References blend.
Referenced by psys_cache_edit_paths_iter().
Return the ID's vertex group names. Supports Mesh (ME), Lattice (LT), and GreasePencil (GD) IDs.
Definition at line 464 of file deform.cc.
References BLI_assert_unreachable, GS, ID_GD_LEGACY, ID_GP, ID_LT, ID_ME, bGPdata::vertex_group_names, GreasePencil::vertex_group_names, Lattice::vertex_group_names, and Mesh::vertex_group_names.
Referenced by BKE_armature_deform_coords_with_editmesh(), BKE_armature_deform_coords_with_gpencil_stroke(), BKE_armature_deform_coords_with_mesh(), BKE_id_defgroup_list_get_mutable(), BKE_id_defgroup_name_find(), BKE_id_defgroup_name_index(), BKE_object_defgroup_list(), and blender::ed::geometry::geometry_attribute_convert_exec().
Definition at line 514 of file deform.cc.
References BKE_id_defgroup_list_get().
Referenced by BKE_object_defgroup_list_mutable().
| bool BKE_id_defgroup_name_find | ( | const ID * | id, |
| const StringRef | name, | ||
| int * | r_index, | ||
| bDeformGroup ** | r_group ) |
Definition at line 571 of file deform.cc.
References BKE_defgroup_listbase_name_find(), and BKE_id_defgroup_list_get().
Referenced by blender::bke::MeshVertexGroupsAttributeProvider::try_delete().
Definition at line 543 of file deform.cc.
References BKE_defgroup_name_index(), and BKE_id_defgroup_list_get().
Referenced by BKE_lattice_deform_data_create(), BKE_object_data_transfer_ex(), BKE_object_defgroup_name_index(), calculate_weld(), lattice_deform_coords_impl(), lattice_to_softbody(), mesh_to_softbody(), MOD_get_vgroup(), MOD_lineart_gpencil_generate_v3(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), pointdensity_cache_vertex_weight(), weightvg_do_mask(), and WireframeModifier_do().
| bool BKE_id_supports_vertex_groups | ( | const ID * | id | ) |
Definition at line 449 of file deform.cc.
References ELEM, GS, ID_GD_LEGACY, ID_GP, ID_LT, and ID_ME.
Referenced by BKE_armature_deform_coords_with_mesh(), and BKE_object_supports_vertex_groups().
Definition at line 601 of file deform.cc.
References object_defgroup_active_index_get_p().
Referenced by BKE_object_defgroup_subset_from_select_type(), data_transfer_layersmapping_vgroups(), data_transfer_layersmapping_vgroups_multisrc_to_dst(), do_versions_after_linking_300(), edbm_decimate_exec(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::ensure_active_vertex_group_in_object(), blender::ed::sculpt_paint::grease_pencil_weight_brush_stroke_invoke(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), object_defgroup_remove_common(), paint_weight_gradient_exec(), pointdensity_cache_vertex_weight(), blender::ed::sculpt_paint::greasepencil::process_stroke_weights(), blender::ed::object::return_editmesh_vgroup(), blender::ed::outliner::tree_element_defgroup_state_get(), blender::ed::greasepencil::vertex_group_normalize_all_exec(), blender::ed::greasepencil::vertex_group_normalize_exec(), blender::ed::object::vertex_group_remove_exec(), blender::ed::object::vertex_group_remove_from_exec(), blender::ed::greasepencil::vertex_group_smooth_exec(), blender::ed::object::vertex_group_vert_select_unlocked_poll(), blender::ed::object::vgroup_array_copy(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_delete_active(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_duplicate(), blender::ed::object::vgroup_mirror(), blender::ed::object::vgroup_move_exec(), blender::ed::object::vgroup_normalize(), blender::ed::object::vgroup_normalize_all(), blender::ed::object::vgroup_select_verts(), blender::ed::object::vgroup_selected_get(), view3d_panel_vgroup(), weight_paint_set(), blender::ed::greasepencil::weight_sample_invoke(), and wpaint_stroke_done().
Definition at line 606 of file deform.cc.
References object_defgroup_active_index_get_p().
Referenced by BKE_object_defgroup_add_name(), BKE_object_defgroup_remove_all_ex(), do_versions_after_linking_300(), move_vertex_group_names_to_object_data(), object_defgroup_remove_common(), blender::ed::object::set_active_group_exec(), blender::ed::outliner::tree_element_defgroup_activate(), blender::ed::object::vertex_weight_set_active_exec(), blender::ed::object::vgroup_array_copy(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_duplicate(), blender::ed::object::vgroup_select_by_name(), and blender::ed::object::vgroup_sync_from_pose().
Definition at line 596 of file deform.cc.
References BKE_object_defgroup_list(), and BLI_listbase_count().
Referenced by BKE_object_defgroup_add_name(), BKE_object_defgroup_subset_from_select_type(), ED_object_vgroup_calc_from_armature(), get_weights_array(), blender::ed::object::normalize_vertex_group_target(), object_defgroup_remove_update_users(), similar_vert_select_exec(), and blender::ed::object::vgroup_selected_get().
| bDeformGroup * BKE_object_defgroup_find_name | ( | const Object * | ob, |
| const StringRef | name ) |
Definition at line 520 of file deform.cc.
References BKE_object_defgroup_list(), and LISTBASE_FOREACH.
Referenced by add_verts_to_dgroups(), blo_do_versions_pre250(), dgroup_skinnable_cb(), ED_armature_bone_rename(), ED_mesh_join_objects_exec(), ED_wpaint_ensure_data(), blender::io::usd::import_mesh_skel_bindings(), output_toggle_exec(), vgroup_add_unique_bone_cb(), and blender::ed::object::vgroup_sort_bone_hierarchy().
Definition at line 708 of file deform.cc.
References BKE_object_defgroup_list(), BKE_object_defgroup_name_index(), BLI_findlink(), BLI_string_flip_side_name(), bDeformGroup::name, and STREQ.
Referenced by blender::ed::object::mesh_defvert_mirror_update_internal().
Returns flip map for the vertex-groups of ob.
| use_default | How to handle cases where no symmetrical group is found.
|
r_flip_map_num length, (aligned with the list result from BKE_id_defgroup_list_get(ob)). referencing the index of the symmetrical vertex-group of a fall-back value (see use_default). The caller is responsible for freeing the array. Definition at line 661 of file deform.cc.
References object_defgroup_unlocked_flip_map_ex().
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::ed::object::vgroup_mirror(), and blender::ed::object::vgroup_parray_mirror_sync().
| int * BKE_object_defgroup_flip_map_single | ( | const Object * | ob, |
| bool | use_default, | ||
| int | defgroup, | ||
| int * | r_flip_map_num ) |
A version of BKE_object_defgroup_flip_map that only takes a single group into account.
Definition at line 673 of file deform.cc.
References BKE_object_defgroup_list(), BKE_object_defgroup_name_index(), BLI_findlink(), BLI_listbase_count(), BLI_string_flip_side_name(), MEM_mallocN, bDeformGroup::name, and STREQ.
Referenced by blender::ed::object::vgroup_mirror().
| int * BKE_object_defgroup_flip_map_unlocked | ( | const Object * | ob, |
| bool | use_default, | ||
| int * | r_flip_map_num ) |
A version of BKE_object_defgroup_flip_map that ignores locked groups.
Definition at line 666 of file deform.cc.
References object_defgroup_unlocked_flip_map_ex().
Referenced by blender::ed::object::mesh_defvert_mirror_update_internal().
Definition at line 579 of file deform.cc.
References BKE_id_defgroup_list_get(), BKE_object_supports_vertex_groups(), BLI_assert, and Object::data.
Referenced by BKE_object_defgroup_clear(), BKE_object_defgroup_clear_all(), BKE_object_defgroup_count(), BKE_object_defgroup_find_name(), BKE_object_defgroup_flip_index(), BKE_object_defgroup_flip_map_single(), BKE_object_defgroup_index_map_create(), BKE_object_defgroup_mirror_selection(), BKE_object_defgroup_selected_get(), BKE_object_defgroup_validmap_get(), blender::ed::object::check_vertex_group_accessible(), data_transfer_layersmapping_vgroups(), data_transfer_layersmapping_vgroups_multisrc_to_dst(), defgroup_find_name_dupe(), blender::draw::overlay::Armatures::draw_armature_pose(), blender::ed::object::dt_layers_select_src_itemf(), ED_wpaint_ensure_data(), ED_wpaint_mirror_vgroup_ensure(), edbm_select_ungrouped_poll(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::ensure_active_vertex_group_in_object(), blender::ed::outliner::TreeElementDeformGroupBase::expand(), blender::ed::greasepencil::get_bone_deformed_vertex_group_names(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::get_locked_and_bone_deformed_vertex_groups(), blender::ed::object::grease_pencil_clear_from_all_vgroup(), blender::ed::greasepencil::grease_pencil_vertex_group_weight_poll(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), SkinInfo::link_armature(), object_defgroup_remove_edit_mode(), object_defgroup_remove_object_mode(), object_defgroup_unlocked_flip_map_ex(), blender::ed::sculpt_paint::greasepencil::process_stroke_weights(), blender::ed::object::return_editmesh_vgroup(), similar_vert_select_exec(), update_depsgraph(), blender::ed::greasepencil::vertex_group_normalize_all_exec(), blender::ed::greasepencil::vertex_group_normalize_exec(), blender::ed::object::vertex_group_poll_ex(), blender::ed::object::vertex_group_remove_exec(), blender::ed::object::vertex_group_remove_from_exec(), blender::ed::greasepencil::vertex_group_smooth_exec(), blender::ed::object::vertex_group_vert_select_unlocked_poll(), blender::ed::object::vgroup_array_copy(), blender::ed::object::vgroup_assign_verts(), blender::ed::object::vgroup_delete_active(), blender::ed::object::vgroup_do_remap(), blender::ed::object::vgroup_init_remap(), blender::ed::object::vgroup_itemf(), blender::ed::object::vgroup_lock_all(), blender::ed::object::vgroup_mirror(), blender::ed::object::vgroup_normalize(), blender::ed::object::vgroup_normalize_all(), blender::ed::object::vgroup_select_verts(), blender::ed::object::vgroup_vert_add(), blender::ed::object::vgroup_vert_remove(), blender::ed::object::vgroup_vert_weight(), view3d_panel_vgroup(), and blender::ed::greasepencil::weight_sample_invoke().
Definition at line 590 of file deform.cc.
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(), move_vertex_group_names_to_object_data(), object_defgroup_remove_common(), blender::ed::object::vertex_group_sort_exec(), blender::ed::object::vgroup_array_copy(), blender::ed::object::vgroup_duplicate(), blender::ed::object::vgroup_move_exec(), and blender::ed::object::vgroup_sort_bone_hierarchy().
Definition at line 585 of file deform.cc.
References BKE_id_defgroup_name_index(), and Object::data.
Referenced by BKE_object_defgroup_flip_index(), BKE_object_defgroup_flip_map_single(), BKE_object_defgroup_index_map_create(), BKE_object_defgroup_mirror_selection(), construct_param_handle(), construct_param_handle_multi(), construct_param_handle_subsurfed(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), data_transfer_layersmapping_vgroups(), data_transfer_layersmapping_vgroups_multisrc_to_dst(), deform_verts_EM(), dynamicPaint_Modifier_apply(), dynamicPaint_outputLayerExists(), ED_wpaint_mirror_vgroup_ensure(), get_weights_array(), MOD_get_vgroup(), blender::modify_drawing(), object_defgroup_unlocked_flip_map_ex(), blender::ed::object::vgroup_select_by_name(), and blender::ed::object::vgroup_sync_from_pose().
| bDeformGroup * BKE_object_defgroup_new | ( | Object * | ob, |
| const StringRef | name ) |
Definition at line 51 of file deform.cc.
References BKE_object_batch_cache_dirty_tag(), BKE_object_defgroup_list_mutable(), BKE_object_defgroup_unique_name(), BLI_addtail(), BLI_assert, Object::data, bDeformGroup::name, OB_GREASE_PENCIL, OB_TYPE_SUPPORT_VGROUP, Object::type, and blender::bke::greasepencil::validate_drawing_vertex_groups().
Referenced by BKE_object_defgroup_add_name(), ED_wpaint_mirror_vgroup_ensure(), and blender::ed::geometry::geometry_attribute_convert_exec().
| void BKE_object_defgroup_set_name | ( | bDeformGroup * | dg, |
| Object * | ob, | ||
| const char * | new_name ) |
Definition at line 758 of file deform.cc.
References BKE_grease_pencil_vgroup_name_update(), BKE_object_defgroup_unique_name(), bDeformGroup::name, OB_GREASE_PENCIL, STRNCPY_UTF8, and Object::type.
| void BKE_object_defgroup_unique_name | ( | bDeformGroup * | dg, |
| Object * | ob ) |
Definition at line 752 of file deform.cc.
References BLI_uniquename_cb(), DATA_, defgroup_unique_check(), and bDeformGroup::name.
Referenced by blender::ed::greasepencil::add_vertex_groups(), BKE_object_defgroup_new(), BKE_object_defgroup_set_name(), blo_do_versions_pre250(), blender::ed::outliner::namebutton_fn(), and blender::ed::object::vgroup_duplicate().
| bool BKE_object_supports_vertex_groups | ( | const Object * | ob | ) |
Definition at line 457 of file deform.cc.
References BKE_id_supports_vertex_groups(), and Object::data.
Referenced by armature_deform_coords_impl(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_object_defgroup_list(), BKE_object_defgroup_list_mutable(), blender::ed::object::dt_layers_select_src_itemf(), ED_armature_bone_rename(), object_defgroup_active_index_get_p(), and blender::ed::object::vertex_group_copy_to_selected_exec().
| bool data_transfer_layersmapping_vgroups | ( | ListBase * | r_map, |
| const int | mix_mode, | ||
| const float | mix_factor, | ||
| const float * | mix_weights, | ||
| const int | num_elem_dst, | ||
| const bool | use_create, | ||
| const bool | use_delete, | ||
| Object * | ob_src, | ||
| Object * | ob_dst, | ||
| const CustomData * | cd_src, | ||
| CustomData * | cd_dst, | ||
| const bool | use_dupref_dst, | ||
| const int | fromlayers, | ||
| const int | tolayers ) |
Definition at line 1409 of file deform.cc.
References BKE_object_defgroup_active_index_get(), BKE_object_defgroup_add(), BKE_object_defgroup_add_name(), BKE_object_defgroup_list(), BKE_object_defgroup_name_index(), BKE_object_defgroup_remove_all(), BKE_object_defgroup_subset_from_select_type(), BLI_assert, BLI_findlink(), BLI_listbase_count(), BLI_listbase_is_empty(), CD_FAKE_MDEFORMVERT, CD_MDEFORMVERT, CD_SET_DEFAULT, CustomData_add_layer(), CustomData_get_layer(), CustomData_get_layer_for_write(), data_transfer_layersmapping_add_item(), data_transfer_layersmapping_vgroups_multisrc_to_dst(), DT_LAYERS_ACTIVE_DST, DT_LAYERS_ACTIVE_SRC, DT_LAYERS_ALL_SRC, DT_LAYERS_INDEX_DST, DT_LAYERS_NAME_DST, DT_LAYERS_VGROUP_SRC_BONE_DEFORM, DT_LAYERS_VGROUP_SRC_BONE_SELECT, MEM_SAFE_FREE, bDeformGroup::name, ret, UNUSED_VARS_NDEBUG, vgroups_datatransfer_interp(), WT_VGROUP_ALL, WT_VGROUP_BONE_DEFORM, and WT_VGROUP_BONE_SELECT.
|
static |
Definition at line 1257 of file deform.cc.
References BKE_object_defgroup_active_index_get(), BKE_object_defgroup_add(), BKE_object_defgroup_add_name(), BKE_object_defgroup_list(), BKE_object_defgroup_list_mutable(), BKE_object_defgroup_name_index(), BKE_object_defgroup_remove(), BLI_listbase_count(), CD_FAKE_MDEFORMVERT, CD_MDEFORMVERT, CD_SET_DEFAULT, CustomData_add_layer(), data_transfer_layersmapping_add_item(), DT_LAYERS_INDEX_DST, DT_LAYERS_NAME_DST, ListBase::first, ListBase::last, bDeformGroup::name, bDeformGroup::next, and vgroups_datatransfer_interp().
Referenced by data_transfer_layersmapping_vgroups().
|
static |
Definition at line 731 of file deform.cc.
References BKE_object_defgroup_list(), and LISTBASE_FOREACH.
Referenced by defgroup_unique_check().
|
static |
Definition at line 746 of file deform.cc.
References defgroup_find_name_dupe().
Referenced by BKE_object_defgroup_unique_name().
Definition at line 490 of file deform.cc.
References BKE_object_supports_vertex_groups(), BLI_assert, Object::data, lattice, OB_GPENCIL_LEGACY, OB_GREASE_PENCIL, OB_LATTICE, OB_MESH, Object::type, bGPdata::vertex_group_active_index, GreasePencil::vertex_group_active_index, and Lattice::vertex_group_active_index.
Referenced by BKE_object_defgroup_active_index_get(), and BKE_object_defgroup_active_index_set().
|
static |
Definition at line 613 of file deform.cc.
References BKE_object_defgroup_list(), BKE_object_defgroup_name_index(), BLI_listbase_count(), BLI_string_flip_side_name(), DG_LOCK_WEIGHT, ListBase::first, bDeformGroup::flag, MEM_mallocN, bDeformGroup::name, bDeformGroup::next, and STREQ.
Referenced by BKE_object_defgroup_flip_map(), and BKE_object_defgroup_flip_map_unlocked().
|
static |
Definition at line 1198 of file deform.cc.
References BKE_defvert_add_index_notest(), BKE_defvert_find_index(), BLI_assert, CDT_MIX_REPLACE_ABOVE_THRESHOLD, CLAMP, count, CustomDataTransferLayerMap::data_dst_n, CustomDataTransferLayerMap::data_src_n, data_transfer_interp_float_do(), CustomDataTransferLayerMap::mix_mode, and MDeformWeight::weight.
Referenced by data_transfer_layersmapping_vgroups(), and data_transfer_layersmapping_vgroups_multisrc_to_dst().