Blender
V3.3
source
blender
depsgraph
intern
node
deg_node_factory.cc
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2019 Blender Foundation. All rights reserved. */
3
8
#include "
intern/node/deg_node_factory.h
"
9
10
namespace
blender::deg
{
11
12
/* Global type registry */
13
static
DepsNodeFactory
*
node_typeinfo_registry
[
static_cast<
int
>
(
NodeType::NUM_TYPES
)] = {
nullptr
};
14
15
void
register_node_typeinfo
(
DepsNodeFactory
*factory)
16
{
17
BLI_assert
(factory !=
nullptr
);
18
const
int
type_as_int =
static_cast<
int
>
(factory->
type
());
19
node_typeinfo_registry
[type_as_int] = factory;
20
}
21
22
DepsNodeFactory
*
type_get_factory
(
const
NodeType
type
)
23
{
24
/* Look up type - at worst, it doesn't exist in table yet, and we fail. */
25
const
int
type_as_int =
static_cast<
int
>
(
type
);
26
return
node_typeinfo_registry
[type_as_int];
27
}
28
29
}
// namespace blender::deg
BLI_assert
#define BLI_assert(a)
Definition:
BLI_assert.h:46
type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Definition:
GPU_legacy_stubs.h:151
deg_node_factory.h
blender::deg
Definition:
deg_builder.cc:40
blender::deg::register_node_typeinfo
void register_node_typeinfo(DepsNodeFactory *factory)
Definition:
deg_node_factory.cc:15
blender::deg::NodeType::NUM_TYPES
@ NUM_TYPES
blender::deg::type_get_factory
DepsNodeFactory * type_get_factory(const NodeType type)
Definition:
deg_node_factory.cc:22
blender::deg::node_typeinfo_registry
static DepsNodeFactory * node_typeinfo_registry[static_cast< int >(NodeType::NUM_TYPES)]
Definition:
deg_node_factory.cc:13
NodeType
Definition:
node_type.h:93
blender::deg::DepsNodeFactory
Definition:
deg_node_factory.h:18
blender::deg::DepsNodeFactory::type
virtual NodeType type() const =0
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1