diff options
Diffstat (limited to 'source/blender/modifiers/intern/MOD_armature.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_armature.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index f37b5d4ec4d..fcd54639f9f 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -49,6 +49,8 @@ #include "BKE_mesh.h" #include "BKE_modifier.h" +#include "DEG_depsgraph_query.h" + #include "bmesh.h" #include "bmesh_tools.h" @@ -121,7 +123,7 @@ static void deformVerts( MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ - armature_deform_verts(amd->object, ctx->object, mesh, vertexCos, NULL, + armature_deform_verts(DEG_get_evaluated_object(ctx->depsgraph, amd->object), ctx->object, mesh, vertexCos, NULL, numVerts, amd->deformflag, (float(*)[3])amd->prevCos, amd->defgrp_name, NULL); /* free cache */ @@ -140,7 +142,7 @@ static void deformVertsEM( MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ - armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, NULL, + armature_deform_verts(DEG_get_evaluated_object(ctx->depsgraph, amd->object), ctx->object, mesh_src, vertexCos, NULL, numVerts, amd->deformflag, (float(*)[3])amd->prevCos, amd->defgrp_name, NULL); /* free cache */ @@ -162,8 +164,8 @@ static void deformMatricesEM( ArmatureModifierData *amd = (ArmatureModifierData *) md; Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, numVerts, false, false); - armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts, - amd->deformflag, NULL, amd->defgrp_name, NULL); + armature_deform_verts(DEG_get_evaluated_object(ctx->depsgraph, amd->object), ctx->object, mesh_src, vertexCos, defMats, + numVerts, amd->deformflag, NULL, amd->defgrp_name, NULL); if (mesh_src != mesh) { BKE_id_free(NULL, mesh_src); @@ -177,8 +179,8 @@ static void deformMatrices( ArmatureModifierData *amd = (ArmatureModifierData *) md; Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false); - armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts, - amd->deformflag, NULL, amd->defgrp_name, NULL); + armature_deform_verts(DEG_get_evaluated_object(ctx->depsgraph, amd->object), ctx->object, mesh_src, vertexCos, defMats, + numVerts, amd->deformflag, NULL, amd->defgrp_name, NULL); if (mesh_src != mesh) { BKE_id_free(NULL, mesh_src); |