Blender V4.3
node_intern.hh File Reference
#include "BLI_compute_context.hh"
#include "BLI_math_vector.h"
#include "BLI_math_vector.hh"
#include "BLI_vector.hh"
#include "BLI_vector_set.hh"
#include "BKE_node.hh"
#include "UI_interface.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 HIDDEN_RAD   (0.75f * U.widget_unit)
 
#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)   (node.width * UI_SCALE_FAC)
 
#define NODE_HEIGHT(node)   (node.height * UI_SCALE_FAC)
 
#define NODE_MARGIN_X   (1.2f * U.widget_unit)
 
#define NODE_SOCKSIZE   (0.25f * U.widget_unit)
 
#define NODE_SOCKSIZE_DRAW_MULIPLIER   2.25f
 
#define NODE_SOCK_OUTLINE_SCALE   1.0f
 
#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])
 
const char * blender::ed::space_node::node_socket_get_label (const bNodeSocket *socket, const char *panel_label)
 
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 bNode &node, 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 bNode &node, 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)
 
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::nodelink_batch_start (SpaceNode &)
 
void blender::ed::space_node::nodelink_batch_end (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)
 
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 StringRefNull 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::add_catalog_assets_menu_type ()
 
MenuType blender::ed::space_node::add_unassigned_assets_menu_type ()
 
MenuType blender::ed::space_node::add_root_catalogs_menu_type ()
 
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)
 
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)
 
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)
 
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 File Node Operator
void blender::ed::space_node::NODE_OT_add_file (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)
 
New Node Tree Operator
void blender::ed::space_node::NODE_OT_new_node_tree (wmOperatorType *ot)
 
Local Utilities
const char * blender::ed::space_node::node_group_idname (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)
 
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 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)
 
Link to Viewer Node Operator
void blender::ed::space_node::NODE_OT_link_viewer (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
int 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 Size Widget Operator
void blender::ed::space_node::NODE_OT_resize (wmOperatorType *ot)
 
Node Mute Operator
void blender::ed::space_node::NODE_OT_mute_toggle (wmOperatorType *ot)
 
Node Hide Operator
void blender::ed::space_node::NODE_OT_hide_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)
 
Node Copy Node Color Operator
void blender::ed::space_node::NODE_OT_node_copy_color (wmOperatorType *ot)
 
Node File Output Add Socket Operator
void blender::ed::space_node::NODE_OT_output_file_add_socket (wmOperatorType *ot)
 
Node Multi File Output Remove Socket Operator
void blender::ed::space_node::NODE_OT_output_file_remove_active_socket (wmOperatorType *ot)
 
Node Multi File Output Move Socket Node
void blender::ed::space_node::NODE_OT_output_file_move_active_socket (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)
 
Sun Beams
void blender::ed::space_node::NODE_GGT_backdrop_sun_beams (wmGizmoGroupType *gzgt)
 
Corner Pin
void blender::ed::space_node::NODE_GGT_backdrop_corner_pin (wmGizmoGroupType *gzgt)
 

Variables

const char * node_context_dir []
 

Macro Definition Documentation

◆ BASIS_RAD

◆ HIDDEN_RAD

#define HIDDEN_RAD   (0.75f * U.widget_unit)

Definition at line 132 of file node_intern.hh.

Referenced by blender::ed::space_node::node_update_hidden().

◆ NODE_DY

◆ NODE_DYS

◆ NODE_HEIGHT

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

Definition at line 138 of file node_intern.hh.

◆ NODE_ITEM_SPACING_Y

#define NODE_ITEM_SPACING_Y   (0.1f * U.widget_unit)

◆ NODE_LINK_RESOL

◆ NODE_MARGIN_X

◆ NODE_MULTI_INPUT_LINK_GAP

◆ NODE_RESIZE_MARGIN

#define NODE_RESIZE_MARGIN   (0.20f * U.widget_unit)

◆ NODE_SOCK_OUTLINE_SCALE

◆ NODE_SOCKSIZE

◆ NODE_SOCKSIZE_DRAW_MULIPLIER

◆ NODE_WIDTH

Variable Documentation

◆ node_context_dir

const char* node_context_dir[]
extern

Definition at line 1045 of file space_node.cc.

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