Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_vgroup.cc
| Show First 20 Lines • Show All 500 Lines • ▼ Show 20 Lines | |||||
| static void mesh_defvert_mirror_update_internal(Object *ob, | static void mesh_defvert_mirror_update_internal(Object *ob, | ||||
| MDeformVert *dvert_dst, | MDeformVert *dvert_dst, | ||||
| MDeformVert *dvert_src, | MDeformVert *dvert_src, | ||||
| const int def_nr) | const int def_nr) | ||||
| { | { | ||||
| if (def_nr == -1) { | if (def_nr == -1) { | ||||
| /* All vgroups, add groups where needed. */ | /* All vgroups, add groups where needed. */ | ||||
| int flip_map_len; | int flip_map_len; | ||||
| int *flip_map = BKE_object_defgroup_flip_map(ob, &flip_map_len, true); | int *flip_map = BKE_object_defgroup_flip_map_unlocked(ob, &flip_map_len, true); | ||||
| BKE_defvert_sync_mapped(dvert_dst, dvert_src, flip_map, flip_map_len, true); | BKE_defvert_sync_mapped(dvert_dst, dvert_src, flip_map, flip_map_len, true); | ||||
| MEM_freeN(flip_map); | MEM_freeN(flip_map); | ||||
| } | } | ||||
| else { | else { | ||||
| /* Single vgroup. */ | /* Single vgroup. */ | ||||
| MDeformWeight *dw = BKE_defvert_ensure_index(dvert_dst, | MDeformWeight *dw = BKE_defvert_ensure_index(dvert_dst, | ||||
| BKE_object_defgroup_flip_index(ob, def_nr, true)); | BKE_object_defgroup_flip_index(ob, def_nr, true)); | ||||
| if (dw) { | if (dw) { | ||||
| ▲ Show 20 Lines • Show All 4,097 Lines • Show Last 20 Lines | |||||