Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-04-04 15:42:33 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-04-04 16:49:30 +0300
commit59f6371a85824b4785db8e2b526c1101a5e30ca7 (patch)
treef8e512d18b21ed8b58e0dc111e8e807e1bb01c4f /source/blender/blenkernel/intern/modifier.c
parentc81eca3d986115ae8f3c542e9b00b89795233864 (diff)
Fix T63252: Bind in Mesh Deform Modifier fails
A regression since 64c8d72ef1ad. The solution is to force modifier evaluation for an evaluated object, and let it to copy binding data back to original when is being evaluated for binding. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4642
Diffstat (limited to 'source/blender/blenkernel/intern/modifier.c')
-rw-r--r--source/blender/blenkernel/intern/modifier.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index fe955ced5f5..8f52e579a91 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -885,3 +885,23 @@ Mesh *BKE_modifier_get_evaluated_mesh_from_evaluated_object(Object *ob_eval, con
return me;
}
+
+ModifierData *modifier_get_original(ModifierData *md)
+{
+ if (md->orig_modifier_data == NULL) {
+ return md;
+ }
+ return md->orig_modifier_data;
+}
+
+struct ModifierData *modifier_get_evaluated(
+ Depsgraph* depsgraph,
+ Object *object,
+ ModifierData *md)
+{
+ Object *object_eval = DEG_get_evaluated_object(depsgraph, object);
+ if (object_eval == object) {
+ return md;
+ }
+ return modifiers_findByName(object_eval, md->name);
+}