Blender V5.0
node_geo_common.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#include "BKE_node.hh"
6
7#include "NOD_geometry.hh"
8
9#include "NOD_common.hh"
10#include "node_common.h"
11#include "node_geometry_util.hh"
12
13#include "RNA_access.hh"
14
15namespace blender::nodes {
16
40
41} // namespace blender::nodes
42
44{
45 /* These methods can be overridden but need a default implementation otherwise. */
46 if (ntype->poll == nullptr) {
48 }
49 if (ntype->insert_link == nullptr) {
51 }
53}
constexpr int GROUP_NODE_MIN_WIDTH
Definition BKE_node.hh:1253
constexpr int GROUP_NODE_DEFAULT_WIDTH
Definition BKE_node.hh:1251
constexpr int GROUP_NODE_MAX_WIDTH
Definition BKE_node.hh:1252
#define NODE_GROUP
Definition BKE_node.hh:811
#define NODE_CLASS_GROUP
Definition BKE_node.hh:452
#define BLI_assert(a)
Definition BLI_assert.h:46
#define NOD_REGISTER_NODE(REGISTER_FUNC)
void node_type_size(bNodeType &ntype, int width, int minwidth, int maxwidth)
Definition node.cc:5384
void node_register_type(bNodeType &ntype)
Definition node.cc:2416
void node_type_base_custom(bNodeType &ntype, StringRefNull idname, StringRefNull name, StringRefNull enum_name, short nclass)
Definition node.cc:5129
static void register_node_type_geo_group()
void node_group_declare(NodeDeclarationBuilder &b)
int node_group_ui_class(const bNode *node)
void node_group_label(const bNodeTree *, const bNode *node, char *label, int label_maxncpy)
bool node_group_poll_instance(const bNode *node, const bNodeTree *nodetree, const char **r_disabled_hint)
std::string node_group_ui_description(const bNode &node)
void register_node_type_geo_custom_group(blender::bke::bNodeType *ntype)
bool geo_node_poll_default(const blender::bke::bNodeType *, const bNodeTree *ntree, const char **r_disabled_hint)
bool node_insert_link_default(blender::bke::NodeInsertLinkParams &)
Definition node_util.cc:266
StructRNA * RNA_struct_find(const char *identifier)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
StructRNA * srna
Defines a node type.
Definition BKE_node.hh:238
int(* ui_class)(const bNode *node)
Definition BKE_node.hh:276
bool(* poll_instance)(const bNode *node, const bNodeTree *nodetree, const char **r_disabled_hint)
Definition BKE_node.hh:328
void(* labelfunc)(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition BKE_node.hh:270
std::string(* ui_description_fn)(const bNode &node)
Definition BKE_node.hh:278
const char * enum_name_legacy
Definition BKE_node.hh:247
bool(* insert_link)(NodeInsertLinkParams &params)
Definition BKE_node.hh:333
bool(* poll)(const bNodeType *ntype, const bNodeTree *nodetree, const char **r_disabled_hint)
Definition BKE_node.hh:321
NodeDeclareFunction declare
Definition BKE_node.hh:362