Blender  V3.3
pipeline_all_objects.cc
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2020 Blender Foundation. All rights reserved. */
3 
4 #include "pipeline_all_objects.h"
5 
8 #include "intern/depsgraph.h"
9 
10 #include "DNA_layer_types.h"
11 
12 namespace blender::deg {
13 
14 namespace {
15 
16 class AllObjectsNodeBuilder : public DepsgraphNodeBuilder {
17  public:
18  AllObjectsNodeBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
19  : DepsgraphNodeBuilder(bmain, graph, cache)
20  {
21  }
22 
23  bool need_pull_base_into_graph(const Base * /*base*/) override
24  {
25  return true;
26  }
27 };
28 
29 class AllObjectsRelationBuilder : public DepsgraphRelationBuilder {
30  public:
31  AllObjectsRelationBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
32  : DepsgraphRelationBuilder(bmain, graph, cache)
33  {
34  }
35 
36  bool need_pull_base_into_graph(const Base * /*base*/) override
37  {
38  return true;
39  }
40 };
41 
42 } // namespace
43 
46 {
47 }
48 
49 unique_ptr<DepsgraphNodeBuilder> AllObjectsBuilderPipeline::construct_node_builder()
50 {
51  return std::make_unique<AllObjectsNodeBuilder>(bmain_, deg_graph_, &builder_cache_);
52 }
53 
54 unique_ptr<DepsgraphRelationBuilder> AllObjectsBuilderPipeline::construct_relation_builder()
55 {
56  return std::make_unique<AllObjectsRelationBuilder>(bmain_, deg_graph_, &builder_cache_);
57 }
58 
59 } // namespace blender::deg
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
virtual unique_ptr< DepsgraphNodeBuilder > construct_node_builder() override
virtual unique_ptr< DepsgraphRelationBuilder > construct_relation_builder() override
Depsgraph * graph
Definition: BKE_main.h:121