Blender
V5.0
source
blender
depsgraph
intern
node
deg_node_factory.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2019 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#include "
intern/node/deg_node_factory.hh
"
10
11
namespace
blender::deg
{
12
13
/* Global type registry */
14
static
DepsNodeFactory
*
node_typeinfo_registry
[int(
NodeType::NUM_TYPES
)] = {
nullptr
};
15
16
void
register_node_typeinfo
(
DepsNodeFactory
*factory)
17
{
18
BLI_assert
(factory !=
nullptr
);
19
const
int
type_as_int = int(factory->
type
());
20
node_typeinfo_registry
[type_as_int] = factory;
21
}
22
23
DepsNodeFactory
*
type_get_factory
(
const
NodeType
type)
24
{
25
/* Look up type - at worst, it doesn't exist in table yet, and we fail. */
26
const
int
type_as_int = int(type);
27
return
node_typeinfo_registry
[type_as_int];
28
}
29
30
}
// namespace blender::deg
BLI_assert
#define BLI_assert(a)
Definition
BLI_assert.h:46
deg_node_factory.hh
blender::deg
Definition
DEG_depsgraph_light_linking.hh:14
blender::deg::register_node_typeinfo
void register_node_typeinfo(DepsNodeFactory *factory)
Definition
deg_node_factory.cc:16
blender::deg::NodeType
NodeType
Definition
deg_node.hh:47
blender::deg::NodeType::NUM_TYPES
@ NUM_TYPES
Definition
deg_node.hh:144
blender::deg::type_get_factory
DepsNodeFactory * type_get_factory(const NodeType type)
Definition
deg_node_factory.cc:23
blender::deg::node_typeinfo_registry
static DepsNodeFactory * node_typeinfo_registry[int(NodeType::NUM_TYPES)]
Definition
deg_node_factory.cc:14
blender::deg::DepsNodeFactory
Definition
deg_node_factory.hh:18
blender::deg::DepsNodeFactory::type
virtual NodeType type() const =0
Generated on
for Blender by
doxygen
1.16.1