diff options
author | Bastien Montagne <bastien@blender.org> | 2020-04-10 23:00:21 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-04-11 18:16:58 +0300 |
commit | 5cc7036aa39506f3af3608ad450f1fdf6b2f3347 (patch) | |
tree | 99d6644347b40ec7d3855d9f8fa271dbb8ecc2b1 /source/blender/modifiers/intern/MOD_warp.c | |
parent | b0350d8310f253b01b57a5a46ca982cc787b9478 (diff) |
Factorize some common modifiers depsgraph relation update code.
Add a utility to deal with common 'object or posebone transform' case.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_warp.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_warp.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c index 732644411b0..d5826342e07 100644 --- a/source/blender/modifiers/intern/MOD_warp.c +++ b/source/blender/modifiers/intern/MOD_warp.c @@ -152,31 +152,22 @@ static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void walk(userData, ob, md, "texture"); } -static void warp_deps_object_bone_new(struct DepsNodeHandle *node, - Object *object, - const char *bonename) -{ - if (bonename[0] && object->type == OB_ARMATURE) { - DEG_add_object_relation(node, object, DEG_OB_COMP_EVAL_POSE, "Warp Modifier"); - } - else { - DEG_add_object_relation(node, object, DEG_OB_COMP_TRANSFORM, "Warp Modifier"); - } -} - static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) { WarpModifierData *wmd = (WarpModifierData *)md; if (wmd->object_from != NULL && wmd->object_to != NULL) { - warp_deps_object_bone_new(ctx->node, wmd->object_from, wmd->bone_from); - warp_deps_object_bone_new(ctx->node, wmd->object_to, wmd->bone_to); + MOD_depsgraph_update_object_bone_relation( + ctx->node, wmd->object_from, wmd->bone_from, "Warp Modifier"); + MOD_depsgraph_update_object_bone_relation( + ctx->node, wmd->object_to, wmd->bone_to, "Warp Modifier"); DEG_add_modifier_to_transform_relation(ctx->node, "Warp Modifier"); } if ((wmd->texmapping == MOD_DISP_MAP_OBJECT) && wmd->map_object != NULL) { - warp_deps_object_bone_new(ctx->node, wmd->map_object, wmd->map_bone); + MOD_depsgraph_update_object_bone_relation( + ctx->node, wmd->map_object, wmd->map_bone, "Warp Modifier"); DEG_add_modifier_to_transform_relation(ctx->node, "Warp Modifier map"); } |