Blender V4.3
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
10
11#include "DNA_scene_types.h"
12
13namespace blender::deg {
14
16{
17 scene_ = scene;
18 const bool build_compositor = (scene->r.scemode & R_DOCOMP);
19 const bool build_sequencer = (scene->r.scemode & R_DOSEQ);
21 build_animdata(&scene->id);
22 build_scene_audio(scene);
23 if (build_compositor) {
25 }
26 if (build_sequencer) {
28 build_scene_speakers(scene, view_layer);
29 }
30 if (scene->camera != nullptr) {
31 build_object(scene->camera);
32 }
33}
34
36{
37 if (scene->camera != nullptr) {
38 build_object(scene->camera);
39 }
40 LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
41 if (!ELEM(marker->camera, nullptr, scene->camera)) {
42 build_object(marker->camera);
43 }
44 }
45}
46
48{
49 if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_PARAMETERS)) {
50 return;
51 }
52
53 /* TODO(sergey): Trace as a scene parameters. */
54
55 build_idproperties(scene->id.properties);
56 build_parameters(&scene->id);
57 OperationKey parameters_eval_key(
59 ComponentKey scene_eval_key(&scene->id, NodeType::SCENE);
60 add_relation(parameters_eval_key, scene_eval_key, "Parameters -> Scene Eval");
61
62 LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
63 build_idproperties(marker->prop);
64 }
65}
66
68{
70 return;
71 }
72 if (scene->nodetree == nullptr) {
73 return;
74 }
75
76 /* TODO(sergey): Trace as a scene compositor. */
77
78 build_nodetree(scene->nodetree);
79}
80
81} // namespace blender::deg
#define LISTBASE_FOREACH(type, var, list)
#define ELEM(...)
@ R_DOSEQ
@ R_DOCOMP
bool checkIsBuiltAndTag(ID *id, int tag=TAG_COMPLETE)
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)