Blender  V3.3
Classes | Namespaces | Macros | Functions
node_edit.cc File Reference
#include <algorithm>
#include "MEM_guardedalloc.h"
#include "DNA_light_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_text_types.h"
#include "DNA_world_types.h"
#include "BKE_callbacks.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_image_format.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_node.h"
#include "BKE_node_tree_update.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_workspace.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "ED_image.h"
#include "ED_node.h"
#include "ED_render.h"
#include "ED_screen.h"
#include "ED_select_utils.h"
#include "ED_spreadsheet.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "RNA_prototypes.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_view2d.h"
#include "GPU_material.h"
#include "IMB_imbuf_types.h"
#include "NOD_composite.h"
#include "NOD_geometry.h"
#include "NOD_shader.h"
#include "NOD_texture.h"
#include "node_intern.hh"

Go to the source code of this file.

Classes

struct  blender::ed::space_node::CompoJob
 
struct  blender::ed::space_node::NodeSizeWidget
 

Namespaces

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

Macros

#define USE_ESC_COMPO
 

Functions

void blender::ed::space_node::snode_set_context (const bContext &C)
 
Composite Job C API
void ED_node_composite_job (const bContext *C, struct bNodeTree *nodetree, Scene *scene_owner)
 
Composite Poll & Utility Functions
bool blender::ed::space_node::composite_node_active (bContext *C)
 
bool blender::ed::space_node::composite_node_editable (bContext *C)
 
static void blender::ed::space_node::send_notifiers_after_tree_change (ID *id, bNodeTree *ntree)
 
Node Editor Public API Functions
void ED_node_tree_propagate_change (const bContext *C, Main *bmain, bNodeTree *root_ntree)
 
void ED_node_set_tree_type (SpaceNode *snode, bNodeTreeType *typeinfo)
 
bool ED_node_is_compositor (struct SpaceNode *snode)
 
bool ED_node_is_shader (struct SpaceNode *snode)
 
bool ED_node_is_texture (struct SpaceNode *snode)
 
bool ED_node_is_geometry (struct SpaceNode *snode)
 
void ED_node_shader_default (const bContext *C, ID *id)
 
void ED_node_composit_default (const bContext *C, struct Scene *sce)
 
void ED_node_texture_default (const bContext *C, Tex *tex)
 
void ED_node_set_active (Main *bmain, SpaceNode *snode, bNodeTree *ntree, bNode *node, bool *r_active_texture_changed)
 
void ED_node_post_apply_transform (bContext *UNUSED(C), bNodeTree *UNUSED(ntree))
 
Node Generic
static bool blender::ed::space_node::socket_is_occluded (const bNodeSocket &sock, const bNode &node_the_socket_belongs_to, const SpaceNode &snode)
 
Node Size Widget Operator
static void blender::ed::space_node::node_resize_init (bContext *C, wmOperator *op, const float cursor[2], const bNode *node, NodeResizeDirection dir)
 
static void blender::ed::space_node::node_resize_exit (bContext *C, wmOperator *op, bool cancel)
 
static int blender::ed::space_node::node_resize_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int blender::ed::space_node::node_resize_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void blender::ed::space_node::node_resize_cancel (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_resize (wmOperatorType *ot)
 
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)
 
static bool blender::ed::space_node::cursor_isect_multi_input_socket (const float cursor[2], const bNodeSocket &socket)
 
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 Duplicate Operator
static void blender::ed::space_node::node_duplicate_reparent_recursive (const Map< const bNode *, bNode * > &node_map, bNode *node)
 
static int blender::ed::space_node::node_duplicate_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_duplicate (wmOperatorType *ot)
 
static bool blender::ed::space_node::node_select_check (const ListBase *lb)
 
void blender::ed::space_node::node_select_all (ListBase *lb, int action)
 
static int blender::ed::space_node::node_read_viewlayers_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_read_viewlayers (wmOperatorType *ot)
 
int blender::ed::space_node::node_render_changed_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_render_changed (wmOperatorType *ot)
 
Node Hide Operator
static void blender::ed::space_node::node_flag_toggle_exec (SpaceNode *snode, int toggle_flag)
 
static int blender::ed::space_node::node_hide_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_hide_toggle (wmOperatorType *ot)
 
static int blender::ed::space_node::node_preview_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_preview_toggle (wmOperatorType *ot)
 
static int blender::ed::space_node::node_options_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_options_toggle (wmOperatorType *ot)
 
static int blender::ed::space_node::node_socket_toggle_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_hide_socket_toggle (wmOperatorType *ot)
 
Node Mute Operator
static int blender::ed::space_node::node_mute_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_mute_toggle (wmOperatorType *ot)
 
Node Delete Operator
static int blender::ed::space_node::node_delete_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_delete (wmOperatorType *ot)
 
Node Switch View
static bool blender::ed::space_node::node_switch_view_poll (bContext *C)
 
static int blender::ed::space_node::node_switch_view_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_switch_view_update (wmOperatorType *ot)
 
Node Delete with Reconnect Operator
static int blender::ed::space_node::node_delete_reconnect_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_delete_reconnect (wmOperatorType *ot)
 
Node File Output Add Socket Operator
static int blender::ed::space_node::node_output_file_add_socket_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_output_file_add_socket (wmOperatorType *ot)
 
Node Multi File Output Remove Socket Operator
static int blender::ed::space_node::node_output_file_remove_active_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_output_file_remove_active_socket (wmOperatorType *ot)
 
Node Multi File Output Move Socket Node
static int blender::ed::space_node::node_output_file_move_active_socket_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_output_file_move_active_socket (wmOperatorType *ot)
 
Node Copy Node Color Operator
static int blender::ed::space_node::node_copy_color_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_node_copy_color (wmOperatorType *ot)
 
Node Copy to Clipboard Operator
static int blender::ed::space_node::node_clipboard_copy_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_clipboard_copy (wmOperatorType *ot)
 
Node Paste from Clipboard
static int blender::ed::space_node::node_clipboard_paste_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_clipboard_paste (wmOperatorType *ot)
 
Node-Tree Add Interface Socket Operator
static bNodeSocketblender::ed::space_node::ntree_get_active_interface_socket (ListBase *lb)
 
static int blender::ed::space_node::ntree_socket_add_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_tree_socket_add (wmOperatorType *ot)
 
Node-Tree Remove Interface Socket Operator
static int blender::ed::space_node::ntree_socket_remove_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_tree_socket_remove (wmOperatorType *ot)
 
Node-Tree Change Interface Socket Type Operator
static int blender::ed::space_node::ntree_socket_change_type_exec (bContext *C, wmOperator *op)
 
static bool blender::ed::space_node::socket_change_poll_type (void *userdata, bNodeSocketType *socket_type)
 
static const EnumPropertyItemblender::ed::space_node::socket_change_type_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
void blender::ed::space_node::NODE_OT_tree_socket_change_type (wmOperatorType *ot)
 
Node Shader Script Update
static bool blender::ed::space_node::node_shader_script_update_poll (bContext *C)
 
static bool blender::ed::space_node::node_shader_script_update_text_recursive (RenderEngine *engine, RenderEngineType *type, bNodeTree *ntree, Text *text)
 
static int blender::ed::space_node::node_shader_script_update_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_shader_script_update (wmOperatorType *ot)
 
Node Viewer Border
static void blender::ed::space_node::viewer_border_corner_to_backdrop (SpaceNode *snode, ARegion *region, int x, int y, int backdrop_width, int backdrop_height, float *fx, float *fy)
 
static int blender::ed::space_node::viewer_border_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_viewer_border (wmOperatorType *ot)
 
static int blender::ed::space_node::clear_viewer_border_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_clear_viewer_border (wmOperatorType *ot)
 
Cryptomatte Add Socket
static int blender::ed::space_node::node_cryptomatte_add_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_cryptomatte_layer_add (wmOperatorType *ot)
 
Cryptomatte Remove Socket
static int blender::ed::space_node::node_cryptomatte_remove_socket_exec (bContext *C, wmOperator *UNUSED(op))
 
void blender::ed::space_node::NODE_OT_cryptomatte_layer_remove (wmOperatorType *ot)
 

Composite Job Manager

enum  { blender::ed::space_node::COM_RECALC_COMPOSITE = 1 , blender::ed::space_node::COM_RECALC_VIEWER = 2 }
 
float blender::ed::space_node::node_socket_calculate_height (const bNodeSocket &socket)
 
float2 blender::ed::space_node::node_link_calculate_multi_input_position (const float2 &socket_position, const int index, const int total_inputs)
 
static void blender::ed::space_node::compo_tag_output_nodes (bNodeTree *nodetree, int recalc_flags)
 
static int blender::ed::space_node::compo_get_recalc_flags (const bContext *C)
 
static int blender::ed::space_node::compo_breakjob (void *cjv)
 
static void blender::ed::space_node::compo_statsdrawjob (void *cjv, const char *UNUSED(str))
 
static void blender::ed::space_node::compo_redrawjob (void *cjv)
 
static void blender::ed::space_node::compo_freejob (void *cjv)
 
static void blender::ed::space_node::compo_initjob (void *cjv)
 
static void blender::ed::space_node::compo_updatejob (void *UNUSED(cjv))
 
static void blender::ed::space_node::compo_progressjob (void *cjv, float progress)
 
static void blender::ed::space_node::compo_startjob (void *cjv, short *stop, short *do_update, float *progress)
 
static void blender::ed::space_node::compo_canceljob (void *cjv)
 
static void blender::ed::space_node::compo_completejob (void *cjv)
 

Node-Tree Move Interface Socket Operator

static const EnumPropertyItem blender::ed::space_node::move_direction_items []
 
static int blender::ed::space_node::ntree_socket_move_exec (bContext *C, wmOperator *op)
 
void blender::ed::space_node::NODE_OT_tree_socket_move (wmOperatorType *ot)
 

Macro Definition Documentation

◆ USE_ESC_COMPO

#define USE_ESC_COMPO

Definition at line 68 of file node_edit.cc.

Function Documentation

◆ ED_node_composit_default()

void ED_node_composit_default ( const bContext C,
struct Scene sce 
)

◆ ED_node_composite_job()

void ED_node_composite_job ( const bContext C,
struct bNodeTree nodetree,
Scene scene_owner 
)

◆ ED_node_is_compositor()

bool ED_node_is_compositor ( struct SpaceNode snode)

◆ ED_node_is_geometry()

bool ED_node_is_geometry ( struct SpaceNode snode)

◆ ED_node_is_shader()

bool ED_node_is_shader ( struct SpaceNode snode)

◆ ED_node_is_texture()

bool ED_node_is_texture ( struct SpaceNode snode)

◆ ED_node_post_apply_transform()

void ED_node_post_apply_transform ( bContext UNUSEDC,
bNodeTree UNUSEDntree 
)

Definition at line 831 of file node_edit.cc.

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

◆ ED_node_set_active()

void ED_node_set_active ( Main bmain,
SpaceNode snode,
bNodeTree ntree,
bNode node,
bool r_active_texture_changed 
)

◆ ED_node_set_tree_type()

void ED_node_set_tree_type ( SpaceNode snode,
bNodeTreeType typeinfo 
)

◆ ED_node_shader_default()

void ED_node_shader_default ( const bContext C,
ID id 
)

◆ ED_node_texture_default()

void ED_node_texture_default ( const bContext C,
Tex tex 
)

◆ ED_node_tree_propagate_change()

void ED_node_tree_propagate_change ( const bContext C,
Main bmain,
bNodeTree root_ntree 
)