Differential D2927 Diff 9586 source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
- This file was moved from source/blender/depsgraph/intern/builder/deg_builder_relations_scene_layer.cc.
| Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | |||||
| #include "intern/depsgraph_intern.h" | #include "intern/depsgraph_intern.h" | ||||
| #include "intern/depsgraph_types.h" | #include "intern/depsgraph_types.h" | ||||
| #include "util/deg_util_foreach.h" | #include "util/deg_util_foreach.h" | ||||
| namespace DEG { | namespace DEG { | ||||
| void DepsgraphRelationBuilder::build_scene_layer(Scene *scene, SceneLayer *scene_layer) | void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_layer) | ||||
| { | { | ||||
| if (scene->set != NULL) { | if (scene->set != NULL) { | ||||
| SceneLayer *set_scene_layer = BKE_scene_layer_from_scene_get(scene->set); | ViewLayer *set_view_layer = BKE_view_layer_from_scene_get(scene->set); | ||||
| build_scene_layer(scene->set, set_scene_layer); | build_view_layer(scene->set, set_view_layer); | ||||
| } | } | ||||
| graph_->scene = scene; | graph_->scene = scene; | ||||
| graph_->scene_layer = scene_layer; | graph_->view_layer = view_layer; | ||||
| /* Setup currently building context. */ | /* Setup currently building context. */ | ||||
| scene_ = scene; | scene_ = scene; | ||||
| /* scene objects */ | /* scene objects */ | ||||
| LINKLIST_FOREACH(Base *, base, &scene_layer->object_bases) { | LINKLIST_FOREACH(Base *, base, &view_layer->object_bases) { | ||||
| build_object(base->object); | build_object(base->object); | ||||
| } | } | ||||
| if (scene->camera != NULL) { | if (scene->camera != NULL) { | ||||
| build_object(scene->camera); | build_object(scene->camera); | ||||
| } | } | ||||
| /* rigidbody */ | /* rigidbody */ | ||||
| if (scene->rigidbody_world) { | if (scene->rigidbody_world) { | ||||
| Show All 26 Lines | void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_layer) | ||||
| } | } | ||||
| /* Movie clips. */ | /* Movie clips. */ | ||||
| LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) { | LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) { | ||||
| build_movieclip(clip); | build_movieclip(clip); | ||||
| } | } | ||||
| /* Collections. */ | /* Collections. */ | ||||
| build_scene_layer_collections(scene_layer); | build_view_layer_collections(view_layer); | ||||
| /* TODO(sergey): Do this flush on CoW object? */ | /* TODO(sergey): Do this flush on CoW object? */ | ||||
| foreach (OperationDepsNode *node, graph_->operations) { | foreach (OperationDepsNode *node, graph_->operations) { | ||||
| IDDepsNode *id_node = node->owner->owner; | IDDepsNode *id_node = node->owner->owner; | ||||
| ID *id = id_node->id_orig; | ID *id = id_node->id_orig; | ||||
| if (GS(id->name) == ID_OB) { | if (GS(id->name) == ID_OB) { | ||||
| Object *object = (Object *)id; | Object *object = (Object *)id; | ||||
| object->customdata_mask |= node->customdata_mask; | object->customdata_mask |= node->customdata_mask; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } // namespace DEG | } // namespace DEG | ||||