Blender  V3.3
Classes | Namespaces | Macros | Functions
node_templates.cc File Reference
#include <cstdlib>
#include <cstring>
#include <optional>
#include "MEM_guardedalloc.h"
#include "DNA_node_types.h"
#include "DNA_screen_types.h"
#include "BLI_array.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_vector.hh"
#include "BLT_translation.h"
#include "BKE_context.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_node_tree_update.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "NOD_node_declaration.hh"
#include "NOD_socket.h"
#include "NOD_socket_declarations.hh"
#include "../interface/interface_intern.h"
#include "UI_interface.h"
#include "ED_node.h"
#include "node_intern.hh"
#include "ED_undo.h"

Go to the source code of this file.

Classes

struct  blender::ed::space_node::NodeLinkItem
 
struct  blender::ed::space_node::NodeLinkArg
 

Namespaces

 blender
 
 blender::ed
 
 blender::ed::space_node
 

Macros

#define UI_NODE_LINK_DISCONNECT   -1
 
#define UI_NODE_LINK_REMOVE   -2
 

Functions

static bool blender::ed::space_node::node_link_item_compare (bNode *node, NodeLinkItem *item)
 
static void blender::ed::space_node::node_link_item_apply (bNodeTree *ntree, bNode *node, NodeLinkItem *item)
 
static void blender::ed::space_node::node_tag_recursive (bNode *node)
 
static void blender::ed::space_node::node_clear_recursive (bNode *node)
 
static void blender::ed::space_node::node_remove_linked (Main *bmain, bNodeTree *ntree, bNode *rem_node)
 
static void blender::ed::space_node::node_socket_disconnect (Main *bmain, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to)
 
static void blender::ed::space_node::node_socket_remove (Main *bmain, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to)
 
static void blender::ed::space_node::node_socket_add_replace (const bContext *C, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to, int type, NodeLinkItem *item)
 
static Vector< NodeLinkItemblender::ed::space_node::ui_node_link_items (NodeLinkArg *arg, int in_out, std::optional< NodeDeclaration > &r_node_decl)
 
static void blender::ed::space_node::ui_node_link (bContext *C, void *arg_p, void *event_p)
 
static void blender::ed::space_node::ui_node_sock_name (const bNodeTree *ntree, bNodeSocket *sock, char name[UI_MAX_NAME_STR])
 
static int blender::ed::space_node::ui_compatible_sockets (int typeA, int typeB)
 
static int blender::ed::space_node::ui_node_item_name_compare (const void *a, const void *b)
 
static bool blender::ed::space_node::ui_node_item_special_poll (const bNodeTree *UNUSED(ntree), const bNodeType *ntype)
 
static void blender::ed::space_node::ui_node_menu_column (NodeLinkArg *arg, int nclass, const char *cname)
 
static void blender::ed::space_node::node_menu_column_foreach_cb (void *calldata, int nclass, const char *name)
 
static void blender::ed::space_node::ui_template_node_link_menu (bContext *C, uiLayout *layout, void *but_p)
 
void uiTemplateNodeLink (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
 
static void blender::ed::space_node::ui_node_draw_input (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input, int depth)
 
static void blender::ed::space_node::ui_node_draw_node (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, int depth)
 
void uiTemplateNodeView (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
 

Macro Definition Documentation

◆ UI_NODE_LINK_DISCONNECT

#define UI_NODE_LINK_DISCONNECT   -1

Definition at line 296 of file node_templates.cc.

◆ UI_NODE_LINK_REMOVE

#define UI_NODE_LINK_REMOVE   -2

Definition at line 297 of file node_templates.cc.

Function Documentation

◆ uiTemplateNodeLink()

void uiTemplateNodeLink ( uiLayout layout,
bContext C,
bNodeTree ntree,
bNode node,
bNodeSocket input 
)

◆ uiTemplateNodeView()

void uiTemplateNodeView ( uiLayout layout,
bContext C,
bNodeTree ntree,
bNode node,
bNodeSocket input 
)