Blender V4.3
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"
9
10#include "NOD_common.h"
11#include "node_common.h"
12#include "node_geometry_util.hh"
13
14#include "RNA_access.hh"
15
16namespace blender::nodes {
17
41
42} // namespace blender::nodes
43
45{
46 /* These methods can be overridden but need a default implementation otherwise. */
47 if (ntype->poll == nullptr) {
49 }
50 if (ntype->insert_link == nullptr) {
52 }
54}
constexpr int GROUP_NODE_MIN_WIDTH
Definition BKE_node.hh:1812
constexpr int GROUP_NODE_DEFAULT_WIDTH
Definition BKE_node.hh:1810
constexpr int GROUP_NODE_MAX_WIDTH
Definition BKE_node.hh:1811
#define NODE_GROUP
Definition BKE_node.hh:800
#define NODE_CLASS_GROUP
Definition BKE_node.hh:409
#define BLI_assert(a)
Definition BLI_assert.h:50
#define NOD_REGISTER_NODE(REGISTER_FUNC)
void node_type_size(bNodeType *ntype, int width, int minwidth, int maxwidth)
Definition node.cc:4602
void node_register_type(bNodeType *ntype)
Definition node.cc:1708
void node_type_base_custom(bNodeType *ntype, const char *idname, const char *name, const char *enum_name, short nclass)
Definition node.cc:4364
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(bNodeTree *, bNode *, bNodeLink *)
Definition node_util.cc:281
StructRNA * RNA_struct_find(const char *identifier)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
StructRNA * srna
Definition RNA_types.hh:780
Defines a node type.
Definition BKE_node.hh:218
int(* ui_class)(const bNode *node)
Definition BKE_node.hh:252
bool(* poll_instance)(const bNode *node, const bNodeTree *nodetree, const char **r_disabled_hint)
Definition BKE_node.hh:304
void(* labelfunc)(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition BKE_node.hh:249
std::string(* ui_description_fn)(const bNode &node)
Definition BKE_node.hh:254
bool(* poll)(const bNodeType *ntype, const bNodeTree *nodetree, const char **r_disabled_hint)
Definition BKE_node.hh:299
bool(* insert_link)(bNodeTree *ntree, bNode *node, bNodeLink *link)
Definition BKE_node.hh:309
NodeDeclareFunction declare
Definition BKE_node.hh:347