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