Differential D2927 Diff 9586 source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
- This file was moved from source/blender/depsgraph/intern/builder/deg_builder_nodes_scene_layer.cc.
| Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | |||||
| #include "intern/nodes/deg_node_component.h" | #include "intern/nodes/deg_node_component.h" | ||||
| #include "intern/nodes/deg_node_operation.h" | #include "intern/nodes/deg_node_operation.h" | ||||
| #include "intern/depsgraph_types.h" | #include "intern/depsgraph_types.h" | ||||
| #include "intern/depsgraph_intern.h" | #include "intern/depsgraph_intern.h" | ||||
| #include "util/deg_util_foreach.h" | #include "util/deg_util_foreach.h" | ||||
| namespace DEG { | namespace DEG { | ||||
| void DepsgraphNodeBuilder::build_scene_layer(Scene *scene, | void DepsgraphNodeBuilder::build_view_layer(Scene *scene, | ||||
| SceneLayer *scene_layer, | ViewLayer *view_layer, | ||||
| eDepsNode_LinkedState_Type linked_state) | eDepsNode_LinkedState_Type linked_state) | ||||
| { | { | ||||
| /* scene ID block */ | /* scene ID block */ | ||||
| add_id_node(&scene->id); | add_id_node(&scene->id); | ||||
| /* timesource */ | /* timesource */ | ||||
| add_time_source(); | add_time_source(); | ||||
| /* build subgraph for set, and link this in... */ | /* build subgraph for set, and link this in... */ | ||||
| // XXX: depending on how this goes, that scene itself could probably store its | // XXX: depending on how this goes, that scene itself could probably store its | ||||
| // own little partial depsgraph? | // own little partial depsgraph? | ||||
| 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, DEG_ID_LINKED_VIA_SET); | build_view_layer(scene->set, set_view_layer, DEG_ID_LINKED_VIA_SET); | ||||
| } | } | ||||
| /* Setup currently building context. */ | /* Setup currently building context. */ | ||||
| scene_ = scene; | scene_ = scene; | ||||
| /* scene objects */ | /* scene objects */ | ||||
| int select_color = 1; | int select_color = 1; | ||||
| LINKLIST_FOREACH(Base *, base, &scene_layer->object_bases) { | LINKLIST_FOREACH(Base *, base, &view_layer->object_bases) { | ||||
| /* object itself */ | /* object itself */ | ||||
| build_object(base->object, linked_state); | build_object(base->object, linked_state); | ||||
| base->object->select_color = select_color++; | base->object->select_color = select_color++; | ||||
| } | } | ||||
| if (scene->camera != NULL) { | if (scene->camera != NULL) { | ||||
| build_object(scene->camera, linked_state); | build_object(scene->camera, linked_state); | ||||
| } | } | ||||
| Show All 36 Lines | void DepsgraphNodeBuilder::build_view_layer(Scene *scene, | ||||
| } | } | ||||
| /* 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); | ||||
| /* Parameters evaluation for scene relations mainly. */ | /* Parameters evaluation for scene relations mainly. */ | ||||
| add_operation_node(&scene->id, | add_operation_node(&scene->id, | ||||
| DEG_NODE_TYPE_PARAMETERS, | DEG_NODE_TYPE_PARAMETERS, | ||||
| NULL, | NULL, | ||||
| DEG_OPCODE_PLACEHOLDER, | DEG_OPCODE_PLACEHOLDER, | ||||
| "Scene Eval"); | "Scene Eval"); | ||||
| } | } | ||||
| } // namespace DEG | } // namespace DEG | ||||