Blender  V3.3
deg_builder_relations_scene.cc
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2013 Blender Foundation. All rights reserved. */
3 
9 
10 #include "DNA_scene_types.h"
11 
12 namespace blender::deg {
13 
15 {
16  scene_ = scene;
17  const bool build_compositor = (scene->r.scemode & R_DOCOMP);
18  const bool build_sequencer = (scene->r.scemode & R_DOSEQ);
22  if (build_compositor) {
24  }
25  if (build_sequencer) {
27  build_scene_speakers(scene, view_layer);
28  }
29  if (scene->camera != nullptr) {
31  }
32 }
33 
35 {
36  if (scene->camera != nullptr) {
38  }
39  LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
40  if (!ELEM(marker->camera, nullptr, scene->camera)) {
41  build_object(marker->camera);
42  }
43  }
44 }
45 
47 {
49  return;
50  }
51 
52  /* TODO(sergey): Trace as a scene parameters. */
53 
56  OperationKey parameters_eval_key(
59  add_relation(parameters_eval_key, scene_eval_key, "Parameters -> Scene Eval");
60 
61  LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) {
62  build_idproperties(marker->prop);
63  }
64 }
65 
67 {
69  return;
70  }
71  if (scene->nodetree == nullptr) {
72  return;
73  }
74 
75  /* TODO(sergey): Trace as a scene compositor. */
76 
78 }
79 
80 } // namespace blender::deg
#define LISTBASE_FOREACH(type, var, list)
Definition: BLI_listbase.h:336
#define ELEM(...)
#define R_DOCOMP
#define R_DOSEQ
bool checkIsBuiltAndTag(ID *id, int tag=TAG_COMPLETE)
virtual void build_scene_speakers(Scene *scene, ViewLayer *view_layer)
virtual void build_scene_sequencer(Scene *scene)
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)
Scene scene
IDProperty * properties
Definition: DNA_ID.h:409
struct bNodeTree * nodetree
struct RenderData r
struct Object * camera
ListBase markers