Blender V4.3
pipeline_from_ids.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2020 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "pipeline.h"
12
13namespace blender::deg {
14
15/* Optimized builders for dependency graph built from a given set of IDs.
16 *
17 * General notes:
18 *
19 * - We pull in all bases if their objects are in the set of IDs. This allows to have proper
20 * visibility and other flags assigned to the objects.
21 * All other bases (the ones which points to object which is outside of the set of IDs) are
22 * completely ignored.
23 */
24
26 Span<ID *> ids_;
27
28 public:
29 FromIDsBuilderPipeline(::Depsgraph *graph, Span<ID *> ids);
30
31 protected:
32 virtual unique_ptr<DepsgraphNodeBuilder> construct_node_builder() override;
33 virtual unique_ptr<DepsgraphRelationBuilder> construct_relation_builder() override;
34
35 virtual void build_nodes(DepsgraphNodeBuilder &node_builder) override;
36 virtual void build_relations(DepsgraphRelationBuilder &relation_builder) override;
37};
38
39} // namespace blender::deg
virtual void build_relations(DepsgraphRelationBuilder &relation_builder) override
FromIDsBuilderPipeline(::Depsgraph *graph, Span< ID * > ids)
virtual unique_ptr< DepsgraphRelationBuilder > construct_relation_builder() override
virtual unique_ptr< DepsgraphNodeBuilder > construct_node_builder() override
virtual void build_nodes(DepsgraphNodeBuilder &node_builder) override