[Bf-blender-cvs] [ad42c358f8b] blender2.8: Depsgraph: Walk into dupli_group object

Sergey Sharybin noreply at git.blender.org
Thu Jun 21 16:00:09 CEST 2018


Commit: ad42c358f8baad069b48c6ee65af252826762a2c
Author: Sergey Sharybin
Date:   Thu Jun 21 15:41:51 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBad42c358f8baad069b48c6ee65af252826762a2c

Depsgraph: Walk into dupli_group object

That will help with cases when dupli_group object is not linked
directly to the scene.

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 9b0c3354c47..127a3f45929 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -541,6 +541,9 @@ void DepsgraphNodeBuilder::build_object(int base_index,
 	if (object->proxy_from) {
 		build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY);
 	}
+	if (object->proxy_group) {
+		build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY);
+	}
 	/* Object dupligroup. */
 	if (object->dup_group != NULL) {
 		build_collection(DEG_COLLECTION_OWNER_OBJECT, object->dup_group);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index d0b699d34e4..97e2b0905d7 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -596,7 +596,9 @@ void DepsgraphRelationBuilder::build_object(Base *base, Object *object)
 		ComponentKey proxy_transform_key(&object->id, DEG_NODE_TYPE_TRANSFORM);
 		add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform");
 	}
-
+	if (object->proxy_group) {
+		build_object(NULL, object->proxy_group);
+	}
 	/* Object dupligroup. */
 	if (object->dup_group != NULL) {
 		build_collection(DEG_COLLECTION_OWNER_OBJECT, object, object->dup_group);



More information about the Bf-blender-cvs mailing list