Blender V5.0
node_intern.hh File Reference
#include "BLI_compute_context.hh"
#include "BLI_vector.hh"
#include "BKE_node.hh"
#include "UI_interface.hh"
#include "UI_interface_layout.hh"
#include "UI_view2d.hh"

Go to the source code of this file.

Classes

struct  blender::ed::space_node::bNodeLinkDrag
struct  blender::ed::space_node::SpaceNode_Runtime

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::asset
namespace  blender::ed::space_node

Macros

#define BASIS_RAD   (0.2f * U.widget_unit)
#define NODE_DYS   (U.widget_unit / 2)
#define NODE_DY   U.widget_unit
#define NODE_ITEM_SPACING_Y   (0.1f * U.widget_unit)
#define NODE_WIDTH(node)
#define NODE_HEIGHT(node)
#define NODE_MARGIN_X   (1.2f * U.widget_unit)
#define NODE_SOCKSIZE   (0.25f * U.widget_unit)
#define NODE_MULTI_INPUT_LINK_GAP   (0.25f * U.widget_unit)
#define NODE_RESIZE_MARGIN   (0.20f * U.widget_unit)
#define NODE_LINK_RESOL   12

Enumerations

enum  blender::ed::space_node::NodeResizeDirection {
  blender::ed::space_node::NODE_RESIZE_NONE = 0 , blender::ed::space_node::NODE_RESIZE_TOP = (1 << 0) , blender::ed::space_node::NODE_RESIZE_BOTTOM = (1 << 1) , blender::ed::space_node::NODE_RESIZE_RIGHT = (1 << 2) ,
  blender::ed::space_node::NODE_RESIZE_LEFT = (1 << 3)
}

Functions

 blender::ed::space_node::ENUM_OPERATORS (NodeResizeDirection, NODE_RESIZE_LEFT)
float2 blender::ed::space_node::space_node_group_offset (const SpaceNode &snode)
int blender::ed::space_node::node_get_resize_cursor (NodeResizeDirection directions)
void blender::ed::space_node::node_socket_color_get (const bContext &C, const bNodeTree &ntree, PointerRNA &node_ptr, const bNodeSocket &sock, float r_color[4])
void blender::ed::space_node::node_draw_space (const bContext &C, ARegion &region)
void blender::ed::space_node::node_socket_add_tooltip (const bNodeTree &ntree, const bNodeSocket &sock, uiLayout &layout)
void blender::ed::space_node::tree_draw_order_update (bNodeTree &ntree)
Array< bNode * > blender::ed::space_node::tree_draw_order_calc_nodes (bNodeTree &ntree)
Array< bNode * > blender::ed::space_node::tree_draw_order_calc_nodes_reversed (bNodeTree &ntree)
void blender::ed::space_node::node_set_cursor (wmWindow &win, ARegion &region, SpaceNode &snode, const float2 &cursor)
float2 blender::ed::space_node::node_to_view (const float2 &co)
void blender::ed::space_node::node_to_updated_rect (const bNode &node, rctf &r_rect)
float2 blender::ed::space_node::node_from_view (const float2 &co)
void blender::ed::space_node::node_operatortypes ()
void blender::ed::space_node::node_keymap (wmKeyConfig *keyconf)
void blender::ed::space_node::NODE_OT_backimage_sample (wmOperatorType *ot)
float2 blender::ed::space_node::socket_link_connection_location (const bNode &node, const bNodeSocket &socket, const bNodeLink &link)
NodeResizeDirection blender::ed::space_node::node_get_resize_direction (const SpaceNode &snode, const bNode *node, const int x, const int y)
void blender::ed::space_node::UI_node_socket_draw_cache_flush ()
void blender::ed::space_node::node_link_bezier_points_evaluated (const bNodeLink &link, std::array< float2, NODE_LINK_RESOL+1 > &coords)
void blender::ed::space_node::draw_nodespace_back_pix (const bContext &C, ARegion &region, SpaceNode &snode, bNodeInstanceKey parent_key)
void blender::ed::space_node::node_geometry_add_attribute_search_button (const bContext &, const bNode &node, PointerRNA &socket_ptr, uiLayout &layout, const StringRef placeholder)
void blender::ed::space_node::node_geometry_add_layer_search_button (const bContext &, const bNode &node, PointerRNA &socket_ptr, uiLayout &layout, const StringRef placeholder)
void blender::ed::space_node::node_geometry_add_volume_grid_search_button (const bContext &, const bNode &node, PointerRNA &socket_ptr, uiLayout &layout, const StringRef placeholder)
Vector< ui::ContextPathItemblender::ed::space_node::context_path_for_space_node (const bContext &C)
void blender::ed::space_node::invoke_node_link_drag_add_menu (bContext &C, bNode &node, bNodeSocket &socket, const float2 &cursor)
MenuType blender::ed::space_node::catalog_assets_menu_type ()
MenuType blender::ed::space_node::unassigned_assets_menu_type ()
MenuType blender::ed::space_node::add_root_catalogs_menu_type ()
MenuType blender::ed::space_node::swap_root_catalogs_menu_type ()
void blender::ed::space_node::NODE_OT_sockets_sync (wmOperatorType *ot)
void blender::ed::space_node::build_socket_tooltip (uiTooltipData &tip_data, bContext &C, uiBut *but, const bNodeTree &tree, const bNodeSocket &socket)
void blender::ed::space_node::node_tree_interface_panel_register (ARegionType *art)
Public Node Selection API
rctf blender::ed::space_node::node_frame_rect_inside (const SpaceNode &snode, const bNode &node)
bool blender::ed::space_node::node_or_socket_isect_event (const bContext &C, const wmEvent &event)
bNodeblender::ed::space_node::node_under_mouse_get (const SpaceNode &snode, const float2 mouse)
bool blender::ed::space_node::node_deselect_all (bNodeTree &node_tree)
void blender::ed::space_node::node_socket_select (bNode *node, bNodeSocket &sock)
void blender::ed::space_node::node_socket_deselect (bNode *node, bNodeSocket &sock, bool deselect_node)
void blender::ed::space_node::node_deselect_all_input_sockets (bNodeTree &node_tree, bool deselect_nodes)
void blender::ed::space_node::node_deselect_all_output_sockets (bNodeTree &node_tree, bool deselect_nodes)
void blender::ed::space_node::node_select_paired (bNodeTree &node_tree)
Select (Cursor Pick) Operator
void blender::ed::space_node::node_select_single (bContext &C, bNode &node)
void blender::ed::space_node::NODE_OT_select (wmOperatorType *ot)
(De)select All Operator
void blender::ed::space_node::NODE_OT_select_all (wmOperatorType *ot)
Select Linked To Operator
void blender::ed::space_node::NODE_OT_select_linked_to (wmOperatorType *ot)
Select Linked From Operator
void blender::ed::space_node::NODE_OT_select_linked_from (wmOperatorType *ot)
Box Select Operator
void blender::ed::space_node::NODE_OT_select_box (wmOperatorType *ot)
Circle Select Operator
void blender::ed::space_node::NODE_OT_select_circle (wmOperatorType *ot)
Lasso Select Operator
void blender::ed::space_node::NODE_OT_select_lasso (wmOperatorType *ot)
Select Grouped Operator
void blender::ed::space_node::NODE_OT_select_grouped (wmOperatorType *ot)
Select Same Type Step Operator
void blender::ed::space_node::NODE_OT_select_same_type_step (wmOperatorType *ot)
Find Node by Name Operator
void blender::ed::space_node::NODE_OT_find_node (wmOperatorType *ot)
View All Operator
bool blender::ed::space_node::space_node_view_flag (bContext &C, SpaceNode &snode, ARegion &region, int node_flag, int smooth_viewtx)
void blender::ed::space_node::NODE_OT_view_all (wmOperatorType *ot)
View Selected Operator
void blender::ed::space_node::NODE_OT_view_selected (wmOperatorType *ot)
Background Image Operators
void blender::ed::space_node::NODE_OT_backimage_move (wmOperatorType *ot)
Background Image Zoom
void blender::ed::space_node::NODE_OT_backimage_zoom (wmOperatorType *ot)
Background Image Fit
void blender::ed::space_node::NODE_OT_backimage_fit (wmOperatorType *ot)
Node Socket Drawing
void blender::ed::space_node::nodesocket_batch_start ()
void blender::ed::space_node::nodesocket_batch_end ()
Node Link Drawing
void blender::ed::space_node::nodelink_batch_start (const SpaceNode &)
void blender::ed::space_node::nodelink_batch_end (const SpaceNode &snode)
void blender::ed::space_node::node_draw_link (const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link, const bool selected)
void blender::ed::space_node::node_draw_link_dragged (const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link)
void blender::ed::space_node::node_draw_link_bezier (const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link, const int th_col1, const int th_col2, const int th_col3, const bool selected)
std::array< float2, 4 > blender::ed::space_node::node_link_bezier_points_dragged (const SpaceNode &snode, const bNodeLink &link)
Add Reroute Operator
std::optional< float2blender::ed::space_node::link_path_intersection (const bNodeLink &link, const Span< float2 > path)
void blender::ed::space_node::NODE_OT_add_reroute (wmOperatorType *ot)
Utilities
bNodeblender::ed::space_node::add_node (const bContext &C, const StringRef idname, const float2 &location)
bNodeblender::ed::space_node::add_static_node (const bContext &C, int type, const float2 &location)
Add Node Group Operator
void blender::ed::space_node::NODE_OT_add_group (wmOperatorType *ot)
Add Node Group Asset Operator
void blender::ed::space_node::NODE_OT_add_group_asset (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_swap_group_asset (wmOperatorType *ot)
Add Node Object Operator
void blender::ed::space_node::NODE_OT_add_object (wmOperatorType *ot)
Add Node Collection Operator
void blender::ed::space_node::NODE_OT_add_collection (wmOperatorType *ot)
Add Image Node Operator
void blender::ed::space_node::NODE_OT_add_image (wmOperatorType *ot)
Add Mask Node Operator
void blender::ed::space_node::NODE_OT_add_mask (wmOperatorType *ot)
Add Material Operator
void blender::ed::space_node::NODE_OT_add_material (wmOperatorType *ot)
Add Color Operator
void blender::ed::space_node::NODE_OT_add_color (wmOperatorType *ot)
Add Import Node Operator
void blender::ed::space_node::NODE_OT_add_import_node (wmOperatorType *ot)
New Node Tree Operator
void blender::ed::space_node::NODE_OT_new_node_tree (wmOperatorType *ot)
New Compositing Node Tree Operator
void blender::ed::space_node::NODE_OT_new_compositing_node_group (wmOperatorType *ot)
Duplicate Compositing Node Tree Operator
void blender::ed::space_node::NODE_OT_duplicate_compositing_node_group (wmOperatorType *ot)
New Compositor Sequencer Node Group Operator
void blender::ed::space_node::NODE_OT_new_compositor_sequencer_node_group (wmOperatorType *operator_type)
Add Group Input Node Operator
void blender::ed::space_node::NODE_OT_add_group_input_node (wmOperatorType *ot)
Local Utilities
StringRef blender::ed::space_node::node_group_idname (const bContext *C)
Make Group Operator
void blender::ed::space_node::NODE_OT_group_make (wmOperatorType *ot)
Group Insert Operator
void blender::ed::space_node::NODE_OT_group_insert (wmOperatorType *ot)
Ungroup Operator
void blender::ed::space_node::NODE_OT_group_ungroup (wmOperatorType *ot)
Separate Operator
void blender::ed::space_node::NODE_OT_group_separate (wmOperatorType *ot)
Edit Group Operator
void blender::ed::space_node::NODE_OT_group_edit (wmOperatorType *ot)
Enter group at cursor, or exit when not hovering any node.
void blender::ed::space_node::NODE_OT_group_enter_exit (wmOperatorType *ot)
Set Default Group Width Operator
void blender::ed::space_node::NODE_OT_default_group_width_set (wmOperatorType *ot)
Add Node
void blender::ed::space_node::update_multi_input_indices_for_removed_links (bNode &node)
Mute Links Operator
bool blender::ed::space_node::all_links_muted (const bNodeSocket &socket)
void blender::ed::space_node::NODE_OT_links_mute (wmOperatorType *ot)
Node Insert Offset Operator
bNodeSocketblender::ed::space_node::get_main_socket (bNodeTree &ntree, bNode &node, eNodeSocketInOut in_out)
void blender::ed::space_node::NODE_OT_insert_offset (wmOperatorType *ot)
Add Link Operator
void blender::ed::space_node::NODE_OT_link (wmOperatorType *ot)
wmKeyMapblender::ed::space_node::node_link_modal_keymap (wmKeyConfig *keyconf)
Make Link Operator
void blender::ed::space_node::NODE_OT_link_make (wmOperatorType *ot)
Cut Link Operator
void blender::ed::space_node::NODE_OT_links_cut (wmOperatorType *ot)
Detach Links Operator
void blender::ed::space_node::NODE_OT_links_detach (wmOperatorType *ot)
Set Parent Operator
void blender::ed::space_node::NODE_OT_parent_set (wmOperatorType *ot)
Join Nodes in Frame Operator
void blender::ed::space_node::NODE_OT_join (wmOperatorType *ot)
Attach Operator
void blender::ed::space_node::NODE_OT_attach (wmOperatorType *ot)
Detach Operator
void blender::ed::space_node::NODE_OT_detach (wmOperatorType *ot)
Join Nodes Operator
void blender::ed::space_node::NODE_OT_join_nodes (wmOperatorType *ot)
Link to Viewer Node Operator
void blender::ed::space_node::NODE_OT_link_viewer (wmOperatorType *ot)
Node Size Widget Operator
wmKeyMapblender::ed::space_node::node_resize_modal_keymap (wmKeyConfig *keyconf)
void blender::ed::space_node::NODE_OT_resize (wmOperatorType *ot)
Composite Job Manager
float2 blender::ed::space_node::node_link_calculate_multi_input_position (const float2 &socket_position, const int index, const int total_inputs)
float blender::ed::space_node::node_socket_calculate_height (const bNodeSocket &socket)
Composite Poll & Utility Functions
bool blender::ed::space_node::composite_node_active (bContext *C)
bool blender::ed::space_node::composite_node_editable (bContext *C)
Node Hidden Sockets
bool blender::ed::space_node::node_has_hidden_sockets (bNode *node)
void blender::ed::space_node::node_set_hidden_sockets (bNode *node, int set)
bool blender::ed::space_node::node_is_previewable (const SpaceNode &snode, const bNodeTree &ntree, const bNode &node)
bNodeSocketblender::ed::space_node::node_find_indicated_socket (SpaceNode &snode, ARegion &region, const float2 &cursor, const eNodeSocketInOut in_out)
Node Duplicate Operator
wmOperatorStatus blender::ed::space_node::node_render_changed_exec (bContext *C, wmOperator *)
void blender::ed::space_node::remap_node_pairing (bNodeTree &dst_tree, const Map< const bNode *, bNode * > &node_map)
void blender::ed::space_node::NODE_OT_duplicate (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_read_viewlayers (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_render_changed (wmOperatorType *ot)
Node Link Dimming
float blender::ed::space_node::node_link_dim_factor (const View2D &v2d, const bNodeLink &link)
bool blender::ed::space_node::node_link_is_hidden_or_dimmed (const View2D &v2d, const bNodeLink &link)
Node Delete Operator
void blender::ed::space_node::NODE_OT_delete (wmOperatorType *ot)
Node Delete with Reconnect Operator
void blender::ed::space_node::NODE_OT_delete_reconnect (wmOperatorType *ot)
Node Mute Operator
void blender::ed::space_node::NODE_OT_mute_toggle (wmOperatorType *ot)
Node Collapse Operator
void blender::ed::space_node::NODE_OT_collapse_toggle (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_hide_socket_toggle (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_preview_toggle (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_options_toggle (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_deactivate_viewer (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_activate_viewer (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_toggle_viewer (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_test_inlining_shader_nodes (wmOperatorType *ot)
Node Copy Node Color Operator
void blender::ed::space_node::NODE_OT_node_copy_color (wmOperatorType *ot)
Copy
void blender::ed::space_node::NODE_OT_clipboard_copy (wmOperatorType *ot)
Paste
void blender::ed::space_node::NODE_OT_clipboard_paste (wmOperatorType *ot)
Node Shader Script Update
void blender::ed::space_node::NODE_OT_shader_script_update (wmOperatorType *ot)
Node Viewer Border
void blender::ed::space_node::NODE_OT_viewer_border (wmOperatorType *ot)
void blender::ed::space_node::NODE_OT_clear_viewer_border (wmOperatorType *ot)
Cryptomatte Add Socket
void blender::ed::space_node::NODE_OT_cryptomatte_layer_add (wmOperatorType *ot)
Cryptomatte Remove Socket
void blender::ed::space_node::NODE_OT_cryptomatte_layer_remove (wmOperatorType *ot)
Backdrop Gizmo
void blender::ed::space_node::NODE_GGT_backdrop_transform (wmGizmoGroupType *gzgt)
Crop Gizmo
void blender::ed::space_node::NODE_GGT_backdrop_crop (wmGizmoGroupType *gzgt)
Glare
void blender::ed::space_node::NODE_GGT_backdrop_glare (wmGizmoGroupType *gzgt)
Corner Pin
void blender::ed::space_node::NODE_GGT_backdrop_corner_pin (wmGizmoGroupType *gzgt)
Box Mask
void blender::ed::space_node::NODE_GGT_backdrop_box_mask (wmGizmoGroupType *gzgt)
Ellipse Mask
void blender::ed::space_node::NODE_GGT_backdrop_ellipse_mask (wmGizmoGroupType *gzgt)
Split
void blender::ed::space_node::NODE_GGT_backdrop_split (wmGizmoGroupType *gzgt)

Variables

const char * node_context_dir []

Macro Definition Documentation

◆ BASIS_RAD

◆ NODE_DY

◆ NODE_DYS

◆ NODE_HEIGHT

#define NODE_HEIGHT ( node)
Value:
(node.height * UI_SCALE_FAC)
#define UI_SCALE_FAC

Definition at line 145 of file node_intern.hh.

◆ NODE_ITEM_SPACING_Y

◆ NODE_LINK_RESOL

◆ NODE_MARGIN_X

#define NODE_MARGIN_X   (1.2f * U.widget_unit)

◆ NODE_MULTI_INPUT_LINK_GAP

◆ NODE_RESIZE_MARGIN

#define NODE_RESIZE_MARGIN   (0.20f * U.widget_unit)

◆ NODE_SOCKSIZE

◆ NODE_WIDTH

Variable Documentation

◆ node_context_dir

const char* node_context_dir[]
extern

Definition at line 1406 of file space_node.cc.

Referenced by bpy_context_members(), and blender::ed::space_node::node_context().