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 build_scene_camera(scene);
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_.check_is_built_and_tag(scene, BuilderMap::TAG_PARAMETERS)) {
50 return;
51 }
52
53 /* TODO(sergey): Trace as a scene parameters. */
54
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{
69 if (built_map_.check_is_built_and_tag(scene, BuilderMap::TAG_SCENE_COMPOSITOR)) {
70 return;
71 }
72 if (scene->nodetree == nullptr) {
73 return;
74 }
75
76 /* TODO(sergey): Trace as a scene compositor. */
77
79}
80
81} // 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