Blender  V3.3
Classes | Namespaces | Macros | Enumerations | Functions | Variables
node_intern.hh File Reference
#include "BLI_math_vector.h"
#include "BLI_math_vector.hh"
#include "BLI_vector.hh"
#include "BKE_node.h"
#include "UI_interface.h"
#include "UI_interface.hh"
#include "UI_view2d.h"

Go to the source code of this file.

Classes

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

Namespaces

 blender
 
 blender::ed
 
 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_SOCKDY   (0.1f * U.widget_unit)
 
#define NODE_WIDTH(node)   (node.width * UI_DPI_FAC)
 
#define NODE_HEIGHT(node)   (node.height * UI_DPI_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])
 
void blender::ed::space_node::node_draw_space (const bContext &C, ARegion &region)
 
void blender::ed::space_node::node_socket_add_tooltip (bNodeTree *ntree, bNode *node, bNodeSocket *sock, uiLayout *layout)
 
void blender::ed::space_node::node_sort (bNodeTree &ntree)
 
void blender::ed::space_node::node_set_cursor (wmWindow &win, 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 bNode *node, const int x, const int y)
 
void blender::ed::space_node::nodelink_batch_start (SpaceNode &snode)
 
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_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)
 
bool blender::ed::space_node::node_link_bezier_points (const View2D *v2d, const SpaceNode *snode, const bNodeLink &link, float coord_array[][2], const int resol)
 
bool blender::ed::space_node::node_link_bezier_handles (const View2D *v2d, const SpaceNode *snode, const bNodeLink &link, float vec[4][2])
 
void blender::ed::space_node::draw_nodespace_back_pix (const bContext &C, ARegion &region, SpaceNode &snode, bNodeInstanceKey parent_key)
 
void blender::ed::space_node::snode_set_context (const bContext &C)
 
int blender::ed::space_node::node_render_changed_exec (bContext *, wmOperator *)
 
void blender::ed::space_node::node_geometry_add_attribute_search_button (const bContext &C, const bNode &node, PointerRNA &socket_ptr, uiLayout &layout)
 
Vector< ui::ContextPathItem > blender::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)
 
Public Node Selection API
rctf blender::ed::space_node::node_frame_rect_inside (const bNode &node)
 
bool blender::ed::space_node::node_or_socket_isect_event (bContext *C, const wmEvent *event)
 
void blender::ed::space_node::node_deselect_all (SpaceNode &snode)
 
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 (SpaceNode &snode, bool deselect_nodes)
 
void blender::ed::space_node::node_deselect_all_output_sockets (SpaceNode &snode, bool deselect_nodes)
 
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)
 
Utilities
bNodeblender::ed::space_node::node_add_node (const bContext &C, const char *idname, int type, float locx, float locy)
 
Add Reroute Operator
void blender::ed::space_node::NODE_OT_add_reroute (wmOperatorType *ot)
 
Add Node Group Operator
void blender::ed::space_node::NODE_OT_add_group (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)
 
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)
 
Add Node
void blender::ed::space_node::sort_multi_input_socket_links (SpaceNode &snode, bNode &node, bNodeLink *drag_link, const float2 *cursor)
 
Add Link Operator
void blender::ed::space_node::NODE_OT_link (wmOperatorType *ot)
 
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)
 
Mute Links Operator
void blender::ed::space_node::NODE_OT_links_mute (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)
 
Node Insert Offset Operator
void blender::ed::space_node::NODE_OT_insert_offset (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)
 
Node Duplicate Operator
void blender::ed::space_node::node_select_all (ListBase *lb, int action)
 
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)
 
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 (SpaceNode *snode, bNode *node, int set)
 
bool blender::ed::space_node::node_find_indicated_socket (SpaceNode &snode, bNode **nodep, bNodeSocket **sockp, const float2 &cursor, const eNodeSocketInOut in_out)
 
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)
 
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)
 
Node Switch View
void blender::ed::space_node::NODE_OT_switch_view_update (wmOperatorType *ot)
 
Node Copy to Clipboard Operator
void blender::ed::space_node::NODE_OT_clipboard_copy (wmOperatorType *ot)
 
Node Paste from Clipboard
void blender::ed::space_node::NODE_OT_clipboard_paste (wmOperatorType *ot)
 
Node-Tree Add Interface Socket Operator
void blender::ed::space_node::NODE_OT_tree_socket_add (wmOperatorType *ot)
 
Node-Tree Remove Interface Socket Operator
void blender::ed::space_node::NODE_OT_tree_socket_remove (wmOperatorType *ot)
 
Node-Tree Change Interface Socket Type Operator
void blender::ed::space_node::NODE_OT_tree_socket_change_type (wmOperatorType *ot)
 
Node-Tree Move Interface Socket Operator
void blender::ed::space_node::NODE_OT_tree_socket_move (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

#define BASIS_RAD   (0.2f * U.widget_unit)

Definition at line 111 of file node_intern.hh.

◆ HIDDEN_RAD

#define HIDDEN_RAD   (0.75f * U.widget_unit)

Definition at line 110 of file node_intern.hh.

◆ NODE_DY

#define NODE_DY   U.widget_unit

Definition at line 113 of file node_intern.hh.

◆ NODE_DYS

#define NODE_DYS   (U.widget_unit / 2)

Definition at line 112 of file node_intern.hh.

◆ NODE_HEIGHT

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

Definition at line 116 of file node_intern.hh.

◆ NODE_LINK_RESOL

#define NODE_LINK_RESOL   12

Definition at line 123 of file node_intern.hh.

◆ NODE_MARGIN_X

#define NODE_MARGIN_X   (1.2f * U.widget_unit)

Definition at line 117 of file node_intern.hh.

◆ NODE_MULTI_INPUT_LINK_GAP

#define NODE_MULTI_INPUT_LINK_GAP   (0.25f * U.widget_unit)

Definition at line 121 of file node_intern.hh.

◆ NODE_RESIZE_MARGIN

#define NODE_RESIZE_MARGIN   (0.20f * U.widget_unit)

Definition at line 122 of file node_intern.hh.

◆ NODE_SOCK_OUTLINE_SCALE

#define NODE_SOCK_OUTLINE_SCALE   1.0f

Definition at line 120 of file node_intern.hh.

◆ NODE_SOCKDY

#define NODE_SOCKDY   (0.1f * U.widget_unit)

Definition at line 114 of file node_intern.hh.

◆ NODE_SOCKSIZE

#define NODE_SOCKSIZE   (0.25f * U.widget_unit)

Definition at line 118 of file node_intern.hh.

◆ NODE_SOCKSIZE_DRAW_MULIPLIER

#define NODE_SOCKSIZE_DRAW_MULIPLIER   2.25f

Definition at line 119 of file node_intern.hh.

◆ NODE_WIDTH

#define NODE_WIDTH (   node)    (node.width * UI_DPI_FAC)

Definition at line 115 of file node_intern.hh.

Variable Documentation

◆ node_context_dir

const char* node_context_dir[]
extern

Definition at line 828 of file space_node.cc.

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