diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-14 13:53:35 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-14 15:43:56 +0300 |
commit | 06c0febe7094a5caee731edebde300f5dabf2d8c (patch) | |
tree | 1f858326540e52f4e21b2509a5f24371b17baf01 /source/blender/depsgraph | |
parent | 8e8952b7e363b878cfc97440c1d2254dffbaf840 (diff) |
Depsgraph: Use explicit argument values
Diffstat (limited to 'source/blender/depsgraph')
4 files changed, 29 insertions, 14 deletions
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) { |