Files
test2/source/blender/nodes/composite/node_composite_util.cc
Jacques Lucke 0fa4c6da18 Refactor: Nodes: avoid using NOD_static_types.hh when creating node types
This removes the second to last usage of `NOD_static_types.hh` which we intend
to remove. A nice benefit is that the idname is now finally more explicit when a
node is registered. Previously it was difficult to search for the definition of
a node in the code when one had only the idname, which is the main identifier
for nodes.

The main change is in `node_type_base`.

Pull Request: https://projects.blender.org/blender/blender/pulls/132815
2025-01-09 12:19:57 +01:00

40 lines
1.0 KiB
C++

/* SPDX-FileCopyrightText: 2006 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup nodes
*/
#include "BKE_node_runtime.hh"
#include "NOD_socket_search_link.hh"
#include "node_composite_util.hh"
bool cmp_node_poll_default(const blender::bke::bNodeType * /*ntype*/,
const bNodeTree *ntree,
const char **r_disabled_hint)
{
if (!STREQ(ntree->idname, "CompositorNodeTree")) {
*r_disabled_hint = RPT_("Not a compositor node tree");
return false;
}
return true;
}
void cmp_node_update_default(bNodeTree * /*ntree*/, bNode *node)
{
node->runtime->need_exec = 1;
}
void cmp_node_type_base(blender::bke::bNodeType *ntype, std::string idname, int type, short nclass)
{
blender::bke::node_type_base(ntype, idname, type, nclass);
ntype->poll = cmp_node_poll_default;
ntype->updatefunc = cmp_node_update_default;
ntype->insert_link = node_insert_link_default;
ntype->gather_link_search_ops = blender::nodes::search_link_ops_for_basic_node;
}