Blender
V4.5
source
blender
depsgraph
intern
builder
source/blender/depsgraph/intern/builder/pipeline.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 "
deg_builder_cache.h
"
12
13
struct
Depsgraph;
14
struct
Main
;
15
struct
Scene
;
16
struct
ViewLayer
;
17
18
namespace
blender::deg
{
19
20
struct
Depsgraph;
21
class
DepsgraphNodeBuilder;
22
class
DepsgraphRelationBuilder;
23
24
/* Base class for Depsgraph Builder pipelines.
25
*
26
* Basically it runs through the following steps:
27
* - sanity check
28
* - build nodes
29
* - build relations
30
* - finalize
31
*/
32
class
AbstractBuilderPipeline
{
33
public
:
34
AbstractBuilderPipeline
(::Depsgraph *
graph
);
35
virtual
~AbstractBuilderPipeline
() =
default
;
36
37
void
build
();
38
39
protected
:
40
Depsgraph
*
deg_graph_
;
41
Main
*
bmain_
;
42
Scene
*
scene_
;
43
ViewLayer
*
view_layer_
;
44
DepsgraphBuilderCache
builder_cache_
;
45
46
virtual
std::unique_ptr<DepsgraphNodeBuilder>
construct_node_builder
();
47
virtual
std::unique_ptr<DepsgraphRelationBuilder>
construct_relation_builder
();
48
49
virtual
void
build_step_sanity_check
();
50
void
build_step_nodes
();
51
void
build_step_relations
();
52
void
build_step_finalize
();
53
54
virtual
void
build_nodes
(
DepsgraphNodeBuilder
&node_builder) = 0;
55
virtual
void
build_relations
(
DepsgraphRelationBuilder
&relation_builder) = 0;
56
};
57
58
}
// namespace blender::deg
blender::deg::AbstractBuilderPipeline
Definition
source/blender/depsgraph/intern/builder/pipeline.h:32
blender::deg::AbstractBuilderPipeline::build_step_sanity_check
virtual void build_step_sanity_check()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:46
blender::deg::AbstractBuilderPipeline::deg_graph_
Depsgraph * deg_graph_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:40
blender::deg::AbstractBuilderPipeline::builder_cache_
DepsgraphBuilderCache builder_cache_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:44
blender::deg::AbstractBuilderPipeline::construct_node_builder
virtual std::unique_ptr< DepsgraphNodeBuilder > construct_node_builder()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:98
blender::deg::AbstractBuilderPipeline::AbstractBuilderPipeline
AbstractBuilderPipeline(::Depsgraph *graph)
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:21
blender::deg::AbstractBuilderPipeline::build_nodes
virtual void build_nodes(DepsgraphNodeBuilder &node_builder)=0
blender::deg::AbstractBuilderPipeline::construct_relation_builder
virtual std::unique_ptr< DepsgraphRelationBuilder > construct_relation_builder()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:103
blender::deg::AbstractBuilderPipeline::scene_
Scene * scene_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:42
blender::deg::AbstractBuilderPipeline::build_step_finalize
void build_step_finalize()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:72
blender::deg::AbstractBuilderPipeline::~AbstractBuilderPipeline
virtual ~AbstractBuilderPipeline()=default
blender::deg::AbstractBuilderPipeline::view_layer_
ViewLayer * view_layer_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:43
blender::deg::AbstractBuilderPipeline::build_step_relations
void build_step_relations()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:62
blender::deg::AbstractBuilderPipeline::build_step_nodes
void build_step_nodes()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:53
blender::deg::AbstractBuilderPipeline::bmain_
Main * bmain_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:41
blender::deg::AbstractBuilderPipeline::build
void build()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:29
blender::deg::AbstractBuilderPipeline::build_relations
virtual void build_relations(DepsgraphRelationBuilder &relation_builder)=0
blender::deg::DepsgraphBuilderCache
Definition
deg_builder_cache.h:71
blender::deg::DepsgraphNodeBuilder
Definition
deg_builder_nodes.h:68
blender::deg::DepsgraphRelationBuilder
Definition
deg_builder_relations.h:81
deg_builder_cache.h
graph
Depsgraph * graph
Definition
deg_builder_cycle.cc:51
blender::deg
Definition
DEG_depsgraph_light_linking.hh:14
Main
Definition
BKE_main.hh:141
Scene
Definition
DNA_scene_types.h:2106
ViewLayer
Definition
DNA_layer_types.h:149
blender::deg::Depsgraph
Definition
depsgraph.hh:48
Generated on Fri Apr 3 2026 06:33:18 for Blender by
doxygen
1.11.0