Blender
V4.3
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
#include "
intern/depsgraph_type.hh
"
14
15
struct
Depsgraph;
16
struct
Main
;
17
struct
Scene
;
18
struct
ViewLayer
;
19
20
namespace
blender::deg
{
21
22
struct
Depsgraph;
23
class
DepsgraphNodeBuilder;
24
class
DepsgraphRelationBuilder;
25
26
/* Base class for Depsgraph Builder pipelines.
27
*
28
* Basically it runs through the following steps:
29
* - sanity check
30
* - build nodes
31
* - build relations
32
* - finalize
33
*/
34
class
AbstractBuilderPipeline
{
35
public
:
36
AbstractBuilderPipeline
(::Depsgraph *graph);
37
virtual
~AbstractBuilderPipeline
() =
default
;
38
39
void
build
();
40
41
protected
:
42
Depsgraph
*
deg_graph_
;
43
Main
*
bmain_
;
44
Scene
*
scene_
;
45
ViewLayer
*
view_layer_
;
46
DepsgraphBuilderCache
builder_cache_
;
47
48
virtual
unique_ptr<DepsgraphNodeBuilder>
construct_node_builder
();
49
virtual
unique_ptr<DepsgraphRelationBuilder>
construct_relation_builder
();
50
51
virtual
void
build_step_sanity_check
();
52
void
build_step_nodes
();
53
void
build_step_relations
();
54
void
build_step_finalize
();
55
56
virtual
void
build_nodes
(
DepsgraphNodeBuilder
&node_builder) = 0;
57
virtual
void
build_relations
(
DepsgraphRelationBuilder
&relation_builder) = 0;
58
};
59
60
}
// namespace blender::deg
blender::deg::AbstractBuilderPipeline
Definition
source/blender/depsgraph/intern/builder/pipeline.h:34
blender::deg::AbstractBuilderPipeline::build_step_sanity_check
virtual void build_step_sanity_check()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:45
blender::deg::AbstractBuilderPipeline::construct_relation_builder
virtual unique_ptr< DepsgraphRelationBuilder > construct_relation_builder()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:102
blender::deg::AbstractBuilderPipeline::deg_graph_
Depsgraph * deg_graph_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:42
blender::deg::AbstractBuilderPipeline::builder_cache_
DepsgraphBuilderCache builder_cache_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:46
blender::deg::AbstractBuilderPipeline::AbstractBuilderPipeline
AbstractBuilderPipeline(::Depsgraph *graph)
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:20
blender::deg::AbstractBuilderPipeline::construct_node_builder
virtual unique_ptr< DepsgraphNodeBuilder > construct_node_builder()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:97
blender::deg::AbstractBuilderPipeline::build_nodes
virtual void build_nodes(DepsgraphNodeBuilder &node_builder)=0
blender::deg::AbstractBuilderPipeline::scene_
Scene * scene_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:44
blender::deg::AbstractBuilderPipeline::build_step_finalize
void build_step_finalize()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:71
blender::deg::AbstractBuilderPipeline::~AbstractBuilderPipeline
virtual ~AbstractBuilderPipeline()=default
blender::deg::AbstractBuilderPipeline::view_layer_
ViewLayer * view_layer_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:45
blender::deg::AbstractBuilderPipeline::build_step_relations
void build_step_relations()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:61
blender::deg::AbstractBuilderPipeline::build_step_nodes
void build_step_nodes()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:52
blender::deg::AbstractBuilderPipeline::bmain_
Main * bmain_
Definition
source/blender/depsgraph/intern/builder/pipeline.h:43
blender::deg::AbstractBuilderPipeline::build
void build()
Definition
source/blender/depsgraph/intern/builder/pipeline.cc:28
blender::deg::AbstractBuilderPipeline::build_relations
virtual void build_relations(DepsgraphRelationBuilder &relation_builder)=0
blender::deg::DepsgraphBuilderCache
Definition
deg_builder_cache.h:69
blender::deg::DepsgraphNodeBuilder
Definition
deg_builder_nodes.h:66
blender::deg::DepsgraphRelationBuilder
Definition
deg_builder_relations.h:84
deg_builder_cache.h
depsgraph_type.hh
blender::deg
Definition
DEG_depsgraph_light_linking.hh:18
Main
Definition
BKE_main.hh:122
Scene
Definition
DNA_scene_types.h:1988
ViewLayer
Definition
DNA_layer_types.h:151
blender::deg::Depsgraph
Definition
depsgraph.hh:47
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0