[Bf-blender-cvs] [06c0febe709] blender2.8: Depsgraph: Use explicit argument values

Sergey Sharybin noreply at git.blender.org
Fri Sep 14 14:44:56 CEST 2018


Commit: 06c0febe7094a5caee731edebde300f5dabf2d8c
Author: Sergey Sharybin
Date:   Fri Sep 14 12:53:35 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB06c0febe7094a5caee731edebde300f5dabf2d8c

Depsgraph: Use explicit argument values

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
M	source/blender/depsgraph/intern/builder/deg_builder_nodes.h
M	source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
M	source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 63ea9c0da3f..d39371db299 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -412,7 +412,8 @@ void DepsgraphNodeBuilder::build_id(ID *id)
 			build_collection((Collection *)id);
 			break;
 		case ID_OB:
-			build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY);
+			/* TODO(sergey): Get visibility from a "parent" somehow. */
+			build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY, true);
 			break;
 		case ID_KE:
 			build_shapekeys((Key *)id);
@@ -532,7 +533,8 @@ void DepsgraphNodeBuilder::build_object(int base_index,
 	build_object_transform(object);
 	/* Parent. */
 	if (object->parent != NULL) {
-		build_object(-1, object->parent, DEG_ID_LINKED_INDIRECTLY);
+		/* TODO(sergey): Use own visibility. */
+		build_object(-1, object->parent, DEG_ID_LINKED_INDIRECTLY, true);
 	}
 	/* Modifiers. */
 	if (object->modifiers.first != NULL) {
@@ -578,10 +580,12 @@ void DepsgraphNodeBuilder::build_object(int base_index,
 	}
 	/* Proxy object to copy from. */
 	if (object->proxy_from != NULL) {
-		build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY);
+		/* TODO(sergey): Use own visibility. */
+		build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY, true);
 	}
 	if (object->proxy_group != NULL) {
-		build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY);
+		/* TODO(sergey): Use own visibility. */
+		build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY, true);
 	}
 	/* Object dupligroup. */
 	if (object->dup_group != NULL) {
@@ -1049,9 +1053,11 @@ void DepsgraphNodeBuilder::build_particles(Object *object)
 		switch (part->ren_as) {
 			case PART_DRAW_OB:
 				if (part->dup_ob != NULL) {
+					/* TODO(sergey): Use own visibility. */
 					build_object(-1,
 					             part->dup_ob,
-					             DEG_ID_LINKED_INDIRECTLY);
+					             DEG_ID_LINKED_INDIRECTLY,
+					             true);
 				}
 				break;
 			case PART_DRAW_GR:
@@ -1230,13 +1236,16 @@ void DepsgraphNodeBuilder::build_object_data_geometry_datablock(ID *obdata)
 			 */
 			Curve *cu = (Curve *)obdata;
 			if (cu->bevobj != NULL) {
-				build_object(-1, cu->bevobj, DEG_ID_LINKED_INDIRECTLY);
+				/* TODO(sergey): Use own visibility. */
+				build_object(-1, cu->bevobj, DEG_ID_LINKED_INDIRECTLY, true);
 			}
 			if (cu->taperobj != NULL) {
-				build_object(-1, cu->taperobj, DEG_ID_LINKED_INDIRECTLY);
+				/* TODO(sergey): Use own visibility. */
+				build_object(-1, cu->taperobj, DEG_ID_LINKED_INDIRECTLY, true);
 			}
 			if (cu->textoncurve != NULL) {
-				build_object(-1, cu->textoncurve, DEG_ID_LINKED_INDIRECTLY);
+				/* TODO(sergey): Use own visibility. */
+				build_object(-1, cu->textoncurve, DEG_ID_LINKED_INDIRECTLY, true);
 			}
 			break;
 		}
@@ -1376,7 +1385,8 @@ void DepsgraphNodeBuilder::build_nodetree(bNodeTree *ntree)
 			build_image((Image *)id);
 		}
 		else if (id_type == ID_OB) {
-			build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY);
+			/* TODO(sergey): Use visibility of owner of the node tree. */
+			build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY, true);
 		}
 		else if (id_type == ID_SCE) {
 			/* Scenes are used by compositor trees, and handled by render
@@ -1585,9 +1595,11 @@ void DepsgraphNodeBuilder::modifier_walk(void *user_data,
 	}
 	switch (GS(id->name)) {
 		case ID_OB:
+			/* TODO(sergey): Use visibility of owner of modifier stack. */
 			data->builder->build_object(-1,
 			                            (Object *)id,
-			                            DEG_ID_LINKED_INDIRECTLY);
+			                            DEG_ID_LINKED_INDIRECTLY,
+			                            true);
 			break;
 		case ID_TE:
 			data->builder->build_texture((Tex *)id);
@@ -1610,9 +1622,11 @@ void DepsgraphNodeBuilder::constraint_walk(bConstraint * /*con*/,
 	}
 	switch (GS(id->name)) {
 		case ID_OB:
+			/* TODO(sergey): Use visibility of owner of modifier stack. */
 			data->builder->build_object(-1,
 			                            (Object *)id,
-			                            DEG_ID_LINKED_INDIRECTLY);
+			                            DEG_ID_LINKED_INDIRECTLY,
+			                            true);
 			break;
 		default:
 			/* pass */
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
index fcceec99b06..5c9ddde8c5a 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
@@ -167,7 +167,7 @@ struct DepsgraphNodeBuilder {
 	void build_object(int base_index,
 	                  Object *object,
 	                  eDepsNode_LinkedState_Type linked_state,
-	                  bool is_visible = true);
+	                  bool is_visible);
 	void build_object_flags(int base_index,
 	                        Object *object,
 	                        eDepsNode_LinkedState_Type linked_state);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
index b1486e82af5..2853c96ef9d 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
@@ -292,7 +292,8 @@ void DepsgraphNodeBuilder::build_rig(Object *object)
 		}
 		/* Custom shape. */
 		if (pchan->custom != NULL) {
-			build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY);
+			/* TODO(sergey): Use own visibility. */
+			build_object(-1, pchan->custom, DEG_ID_LINKED_INDIRECTLY, true);
 		}
 		pchan_index++;
 	}
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
index 409df45de27..5efa427fcdb 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
@@ -115,7 +115,7 @@ void DepsgraphNodeBuilder::build_view_layer(
 	}
 	build_layer_collections(&view_layer->layer_collections);
 	if (scene->camera != NULL) {
-		build_object(-1, scene->camera, DEG_ID_LINKED_INDIRECTLY);
+		build_object(-1, scene->camera, DEG_ID_LINKED_INDIRECTLY, true);
 	}
 	/* Rigidbody. */
 	if (scene->rigidbody_world != NULL) {



More information about the Bf-blender-cvs mailing list