diff options
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r-- | source/blender/editors/armature/armature_skinning.c | 4 | ||||
-rw-r--r-- | source/blender/editors/armature/meshlaplacian.c | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/source/blender/editors/armature/armature_skinning.c b/source/blender/editors/armature/armature_skinning.c index 3c9c8cf05b3..562b2fad3dd 100644 --- a/source/blender/editors/armature/armature_skinning.c +++ b/source/blender/editors/armature/armature_skinning.c @@ -409,10 +409,10 @@ static void add_verts_to_dgroups(ReportList *reports, } /* transform verts to global space */ - const MVert *mesh_verts = BKE_mesh_verts(mesh); + const float(*positions)[3] = BKE_mesh_positions(mesh); for (int i = 0; i < mesh->totvert; i++) { if (!vertsfilled) { - copy_v3_v3(verts[i], mesh_verts[i].co); + copy_v3_v3(verts[i], positions[i]); } mul_m4_v3(ob->object_to_world, verts[i]); } diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c index dfb9e8a79fa..c6175597f65 100644 --- a/source/blender/editors/armature/meshlaplacian.c +++ b/source/blender/editors/armature/meshlaplacian.c @@ -652,7 +652,7 @@ void heat_bone_weighting(Object *ob, int a, tris_num, j, bbone, firstsegment, lastsegment; bool use_topology = (me->editflag & ME_EDIT_MIRROR_TOPO) != 0; - const MVert *mesh_verts = BKE_mesh_verts(me); + const float(*mesh_positions)[3] = BKE_mesh_positions(me); const MPoly *polys = BKE_mesh_polys(me); const MLoop *loops = BKE_mesh_loops(me); bool use_vert_sel = (me->editflag & ME_EDIT_PAINT_VERT_SEL) != 0; @@ -700,7 +700,7 @@ void heat_bone_weighting(Object *ob, sys->heat.tris_num = poly_to_tri_count(me->totpoly, me->totloop); mlooptri = MEM_mallocN(sizeof(*sys->heat.mlooptri) * sys->heat.tris_num, __func__); - BKE_mesh_recalc_looptri(loops, polys, mesh_verts, me->totloop, me->totpoly, mlooptri); + BKE_mesh_recalc_looptri(loops, polys, mesh_positions, me->totloop, me->totpoly, mlooptri); sys->heat.mlooptri = mlooptri; sys->heat.mloop = loops; @@ -1753,7 +1753,6 @@ void ED_mesh_deform_bind_callback(Object *object, MeshDeformModifierData *mmd_orig = (MeshDeformModifierData *)BKE_modifier_get_original( object, &mmd->modifier); MeshDeformBind mdb; - const MVert *mvert; int a; waitcursor(1); @@ -1773,9 +1772,9 @@ void ED_mesh_deform_bind_callback(Object *object, mdb.cagecos = MEM_callocN(sizeof(*mdb.cagecos) * mdb.cage_verts_num, "MeshDeformBindCos"); copy_m4_m4(mdb.cagemat, cagemat); - mvert = BKE_mesh_verts(mdb.cagemesh); + const float(*positions)[3] = BKE_mesh_positions(mdb.cagemesh); for (a = 0; a < mdb.cage_verts_num; a++) { - copy_v3_v3(mdb.cagecos[a], mvert[a].co); + copy_v3_v3(mdb.cagecos[a], positions[a]); } for (a = 0; a < mdb.verts_num; a++) { mul_v3_m4v3(mdb.vertexcos[a], mdb.cagemat, vertexcos + a * 3); |