Blender V4.5
deg_builder_relations_scene.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2013 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
10
11#include "DNA_scene_types.h"
12
13#include "BLI_listbase.h"
14
15namespace blender::deg {
16
18{
19 scene_ = scene;
20 const bool build_compositor = (scene->r.scemode & R_DOCOMP);
21 const bool build_sequencer = (scene->r.scemode & R_DOSEQ);
23 build_animdata(&scene->id);
24 build_scene_audio(scene);
25 if (build_compositor) {
27 }
28 if (build_sequencer) {
30 build_scene_speakers(scene, view_layer);
31 }
32 if (scene->camera != nullptr) {
33 build_object(scene->camera);
34 }
35}
36
38{
39 if (scene->camera != nullptr) {
40 build_object(scene->camera);
41 }
42 LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
43 if (!ELEM(marker->camera, nullptr, scene->camera)) {
44 build_object(marker->camera);
45 }
46 }
47}
48
50{
51 if (built_map_.check_is_built_and_tag(scene, BuilderMap::TAG_PARAMETERS)) {
52 return;
53 }
54
55 /* TODO(sergey): Trace as a scene parameters. */
56
58 build_parameters(&scene->id);
59 OperationKey parameters_eval_key(
61 ComponentKey scene_eval_key(&scene->id, NodeType::SCENE);
62 add_relation(parameters_eval_key, scene_eval_key, "Parameters -> Scene Eval");
63
64 LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
65 build_idproperties(marker->prop);
66 }
67}
68
70{
71 if (built_map_.check_is_built_and_tag(scene, BuilderMap::TAG_SCENE_COMPOSITOR)) {
72 return;
73 }
74 if (scene->nodetree == nullptr) {
75 return;
76 }
77
78 /* TODO(sergey): Trace as a scene compositor. */
79
81}
82
83} // namespace blender::deg
#define LISTBASE_FOREACH(type, var, list)
#define ELEM(...)
@ R_DOSEQ
@ R_DOCOMP
virtual void build_scene_speakers(Scene *scene, ViewLayer *view_layer)
virtual void build_scene_render(Scene *scene, ViewLayer *view_layer)
virtual void build_nodetree(bNodeTree *ntree)
Relation * add_relation(const KeyFrom &key_from, const KeyTo &key_to, const char *description, int flags=0)
virtual void build_idproperties(IDProperty *id_property)
IDProperty * properties
Definition DNA_ID.h:446
struct bNodeTree * nodetree
struct RenderData r
struct Object * camera
ListBase markers