|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include "DNA_anim_types.h"#include "DNA_node_types.h"#include "BLI_blenlib.h"#include "BLI_easing.h"#include "BLI_math.h"#include "BKE_anim_data.h"#include "BKE_context.h"#include "BKE_curve.h"#include "BKE_lib_id.h"#include "BKE_main.h"#include "BKE_node.h"#include "ED_node.h"#include "ED_render.h"#include "ED_screen.h"#include "ED_util.h"#include "RNA_access.h"#include "RNA_define.h"#include "WM_api.h"#include "WM_types.h"#include "UI_resources.h"#include "UI_view2d.h"#include "BLT_translation.h"#include "node_intern.h"Go to the source code of this file.
Classes | |
| struct | bNodeListItem |
| struct | NodeInsertOfsData |
| struct | LinkAndPosition |
Macros | |
| #define | NODE_JOIN_DONE 1 |
| #define | NODE_JOIN_IS_DESCENDANT 2 |
| #define | NODE_DETACH_DONE 1 |
| #define | NODE_DETACH_IS_DESCENDANT 2 |
| #define | NODE_INSOFS_ANIM_DURATION 0.25f |
Typedefs | |
| typedef struct bNodeListItem | bNodeListItem |
| typedef struct NodeInsertOfsData | NodeInsertOfsData |
| typedef struct LinkAndPosition | LinkAndPosition |
| #define NODE_DETACH_DONE 1 |
Definition at line 1699 of file node_relationships.c.
| #define NODE_DETACH_IS_DESCENDANT 2 |
Definition at line 1700 of file node_relationships.c.
| #define NODE_INSOFS_ANIM_DURATION 0.25f |
Definition at line 1948 of file node_relationships.c.
| #define NODE_JOIN_DONE 1 |
Definition at line 1523 of file node_relationships.c.
| #define NODE_JOIN_IS_DESCENDANT 2 |
Definition at line 1524 of file node_relationships.c.
| typedef struct bNodeListItem bNodeListItem |
| typedef struct LinkAndPosition LinkAndPosition |
| typedef struct NodeInsertOfsData NodeInsertOfsData |
|
static |
Definition at line 385 of file node_relationships.c.
References Freestyle::a, LISTBASE_FOREACH, max_ii(), node, ntree, NULL, and socket_is_available().
Referenced by snode_autoconnect().
|
static |
Definition at line 332 of file node_relationships.c.
References LISTBASE_FOREACH, bNodeSocket::name, node, NODE_REROUTE, ntree, NULL, SELECT, socket_is_available(), STREQ, and bNodeSocket::type.
Referenced by snode_autoconnect().
|
static |
Definition at line 183 of file node_relationships.c.
References LISTBASE_FOREACH, and NODE_LINK_TEMP_HIGHLIGHT.
Referenced by node_link_cancel(), node_link_modal(), pick_input_link_by_link_intersect(), and pick_link().
|
static |
Definition at line 438 of file node_relationships.c.
References Freestyle::a, BLI_assert, LinkAndPosition::link, LinkAndPosition::multi_socket_position, and bNodeLink::tosock.
Referenced by sort_multi_input_socket_links().
|
static |
Definition at line 190 of file node_relationships.c.
References LinkData::data, SpaceNode::edittree, bNodeLink::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeSocket::in_out, MEM_callocN, node, node_connected_to_output(), NODE_LINK_TEST, NODE_LINK_VALID, SOCK_OUT, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by node_link_init(), and pick_link().
|
static |
Definition at line 1244 of file node_relationships.c.
References C, CTX_data_main(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_space_node(), ED_node_is_geometry(), ED_preview_kill_jobs(), SpaceNode::edittree, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, node_connected_to_output(), node_links_intersect(), nodeLinkIsHidden(), nodeRemLink(), ntreeUpdateTree(), NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, RNA_BEGIN, RNA_END, RNA_float_get_array(), snode_dag_update(), snode_notify(), snode_update(), sort_multi_input_socket_links(), bNodeLink::tonode, UI_view2d_region_to_view(), and ARegion::v2d.
Referenced by NODE_OT_links_cut().
|
static |
Definition at line 1443 of file node_relationships.c.
References C, CTX_data_main(), CTX_wm_manager(), CTX_wm_space_node(), ED_preview_kill_jobs(), SpaceNode::edittree, LISTBASE_FOREACH, node, nodeInternalRelink(), bNodeTree::nodes, ntree, ntreeUpdateTree(), OPERATOR_FINISHED, SELECT, snode_dag_update(), and snode_notify().
Referenced by NODE_OT_links_detach().
|
static |
Definition at line 1770 of file node_relationships.c.
References blender::compositor::area(), BLI_listbase_is_empty(), SpaceNode::edittree, ListBase::first, bNodeLink::fromnode, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, node, nodeLinkIsHidden(), bNodeTree::nodes, NULL, select(), SELECT, SPACE_NODE, and bNodeLink::tonode.
Referenced by ED_node_link_insert(), and ED_node_link_intersect_test().
Definition at line 2234 of file node_relationships.c.
References blender::compositor::area(), ed_node_link_conditions(), ED_node_tag_update_id(), SpaceNode::edittree, ListBase::first, bNodeLink::flag, SpaceNode::flag, bNodeLink::fromnode, SpaceNode::id, NodeInsertOfsData::insert, SpaceNode_Runtime::iofsd, LinkAndPosition::link, bNodeTree::links, MEM_callocN, bNodeLink::multi_input_socket_index, NodeInsertOfsData::next, bNodeLink::next, node, NODE_LINKFLAG_HILITE, node_remove_extra_links(), nodeAddLink(), ntreeUpdateTree(), NodeInsertOfsData::prev, SpaceNode::runtime, select(), SNODE_SKIP_INSOFFSET, snode_update(), socket_best_match(), bNodeLink::tonode, and bNodeLink::tosock.
Referenced by special_aftertrans_update__node().
| void ED_node_link_intersect_test | ( | ScrArea * | area, |
| int | test | ||
| ) |
Definition at line 1826 of file node_relationships.c.
References blender::compositor::area(), BLI_rctf_isect_segment(), dist_squared_to_line_segment_v2(), ed_node_link_conditions(), SpaceNode::edittree, bNodeLink::flag, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, min_ff(), node_link_bezier_points(), NODE_LINK_RESOL, NODE_LINKFLAG_HILITE, nodeLinkIsHidden(), NULL, and select().
Referenced by flushTransNodes(), and special_aftertrans_update__node().
|
static |
Definition at line 1339 of file node_relationships.c.
References C, CTX_data_main(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_space_node(), ED_node_is_geometry(), ED_preview_kill_jobs(), SpaceNode::edittree, bNodeLink::flag, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, node_connected_to_output(), NODE_LINK_TEST, node_links_intersect(), nodeLinkIsHidden(), nodeMuteLinkToggle(), ntreeUpdateTree(), OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, RNA_BEGIN, RNA_END, RNA_float_get_array(), snode_dag_update(), snode_notify(), snode_update(), bNodeLink::tonode, UI_view2d_region_to_view(), and ARegion::v2d.
Referenced by NODE_OT_links_mute().
|
static |
Definition at line 709 of file node_relationships.c.
References C, CTX_data_main(), CTX_wm_manager(), CTX_wm_space_node(), ED_preview_kill_jobs(), SpaceNode::edittree, node, node_link_viewer(), nodeGetActive(), OPERATOR_CANCELLED, OPERATOR_FINISHED, and snode_notify().
Referenced by NODE_OT_link_viewer().
|
static |
Definition at line 1636 of file node_relationships.c.
References C, CTX_wm_region(), CTX_wm_space_node(), ED_node_sort(), SpaceNode::edittree, LISTBASE_FOREACH_BACKWARD, wmEvent::mval, NC_NODE, ND_DISPLAY, node, node_find_frame_to_attach(), NODE_SELECT, nodeAttachNode(), nodeAttachNodeCheck(), nodeDetachNode(), bNodeTree::nodes, ntree, NULL, OPERATOR_FINISHED, bNode::parent, and WM_event_add_notifier().
Referenced by NODE_OT_attach().
Definition at line 130 of file node_relationships.c.
References ELEM, LISTBASE_FOREACH, node, NODE_CUSTOM_GROUP, NODE_DO_OUTPUT, NODE_GROUP, node_group_has_output(), bNodeTree::nodes, ntree, ntree_check_nodes_connected(), ntree_has_drivers(), and NULL.
Referenced by create_drag_link(), cut_links_exec(), ED_node_tag_update_nodetree(), mute_links_exec(), node_delete_exec(), node_duplicate_exec(), node_link_exit(), node_link_init(), and node_mute_exec().
|
static |
Definition at line 754 of file node_relationships.c.
References count, ELEM, bNodeLink::fromsock, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, ntree, and bNodeLink::tosock.
Referenced by node_remove_extra_links().
|
static |
Definition at line 1728 of file node_relationships.c.
References C, CTX_wm_space_node(), ED_node_sort(), SpaceNode::edittree, LISTBASE_FOREACH, NC_NODE, ND_DISPLAY, node, NODE_DETACH_DONE, node_detach_recursive(), bNodeTree::nodes, ntree, NULL, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by NODE_OT_detach().
|
static |
Definition at line 1702 of file node_relationships.c.
References node, NODE_DETACH_DONE, NODE_DETACH_IS_DESCENDANT, NODE_SELECT, and nodeDetachNode().
Referenced by node_detach_exec().
|
static |
Definition at line 1615 of file node_relationships.c.
References BLI_rctf_isect_pt_v(), LISTBASE_FOREACH_BACKWARD, NODE_FRAME, NODE_SELECT, bNodeTree::nodes, ntree, NULL, UI_view2d_region_to_view(), UNPACK2, and ARegion::v2d.
Referenced by node_attach_invoke(), and node_link_insert_offset_ntree().
Definition at line 119 of file node_relationships.c.
References BKE_main_id_tag_listbase(), BLI_assert, ELEM, if(), LIB_TAG_DOIT, node, NODE_CUSTOM_GROUP, NODE_GROUP, node_group_has_output_dfs(), Main::nodetrees, ntree, and NULL.
Referenced by node_connected_to_output().
|
static |
Definition at line 98 of file node_relationships.c.
References ListBase::first, bNodeTree::id, if(), LIB_TAG_DOIT, node, NODE_DO_OUTPUT, NODE_GROUP, NODE_GROUP_OUTPUT, bNodeTree::nodes, ntree, NULL, and ID::tag.
Referenced by node_group_has_output().
|
static |
Definition at line 2194 of file node_relationships.c.
References NodeInsertOfsData::anim_timer, BLI_assert, C, CTX_wm_manager(), CTX_wm_region(), CTX_wm_space_node(), CTX_wm_window(), SpaceNode::edittree, SpaceNode::flag, NodeInsertOfsData::insert, SpaceNode::insert_ofs_dir, SpaceNode_Runtime::iofsd, wmEvent::mval, node_link_insert_offset_ntree(), NodeInsertOfsData::ntree, OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, SpaceNode::runtime, SNODE_INSERTOFS_DIR_RIGHT, SNODE_SKIP_INSOFFSET, TIMER, WM_event_add_modal_handler(), and WM_event_add_timer().
Referenced by NODE_OT_insert_offset().
|
static |
Modal handler for insert offset animation
Definition at line 2141 of file node_relationships.c.
References NodeInsertOfsData::anim_timer, BLI_easing_cubic_ease_in_out(), C, CLAMP_MAX, CLAMP_MIN, CTX_wm_manager(), CTX_wm_region(), CTX_wm_space_node(), wmEvent::customdata, wmTimer::duration, ED_region_tag_redraw(), SpaceNode::edittree, float(), SpaceNode_Runtime::iofsd, IS_EQF, LISTBASE_FOREACH, MEM_freeN, node, NODE_INSOFS_ANIM_DURATION, bNodeTree::nodes, NULL, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, SpaceNode::runtime, TIMER, wmEvent::type, UNLIKELY, and WM_event_remove_timer().
Referenced by NODE_OT_insert_offset().
Definition at line 1526 of file node_relationships.c.
References node, NODE_JOIN_DONE, NODE_JOIN_IS_DESCENDANT, NODE_TEST, nodeAttachNode(), and nodeDetachNode().
Referenced by node_join_exec().
|
static |
Definition at line 1556 of file node_relationships.c.
References C, CTX_wm_space_node(), ED_node_sort(), SpaceNode::edittree, LISTBASE_FOREACH, NC_NODE, ND_DISPLAY, node, node_add_node(), NODE_FRAME, node_join_attach_recursive(), NODE_JOIN_DONE, NODE_SELECT, NODE_TEST, bNodeTree::nodes, ntree, NULL, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by NODE_OT_join().
|
static |
Definition at line 1129 of file node_relationships.c.
References BLI_freelistN(), BLI_remlink(), C, clear_picking_highlight(), CTX_wm_space_node(), wmOperator::customdata, SpaceNode::edittree, SpaceNode_Runtime::linkdrag, bNodeLinkDrag::links, bNodeTree::links, MEM_freeN, and SpaceNode::runtime.
Referenced by NODE_OT_link().
|
static |
Definition at line 804 of file node_relationships.c.
References BLI_addtail(), BLI_freelistN(), BLI_remlink(), C, CTX_data_main(), CTX_wm_space_node(), wmOperator::customdata, ED_node_is_geometry(), SpaceNode::edittree, bNodeLink::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeType::insert_link, bNodeTree::is_updating, LinkAndPosition::link, SpaceNode_Runtime::linkdrag, bNodeLinkDrag::links, bNodeTree::links, LISTBASE_FOREACH, MEM_freeN, node_connected_to_output(), NODE_LINK_TEST, node_remove_extra_links(), NODE_UPDATE, nodeRemLink(), ntree, NTREE_UPDATE_LINKS, ntreeUpdateTree(), SpaceNode::runtime, snode_dag_update(), snode_notify(), bNodeLink::tonode, bNodeLink::tosock, bNode::typeinfo, bNode::update, and bNodeTree::update.
Referenced by node_link_modal().
|
static |
Definition at line 869 of file node_relationships.c.
References C, CTX_wm_space_node(), wmOperator::customdata, SpaceNode::edittree, bNodeSocket::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeLinkDrag::in_out, bNodeLinkDrag::last_node_hovered_while_dragging_a_link, LinkAndPosition::link, bNodeLinkDrag::links, bNodeTree::links, LISTBASE_FOREACH, bNodeLink::multi_input_socket_index, node_find_indicated_socket(), NULL, SOCK_IN, SOCK_MULTI_INPUT, SOCK_OUT, sort_multi_input_socket_links(), bNodeLink::tonode, and bNodeLink::tosock.
Referenced by node_link_modal().
|
static |
Definition at line 996 of file node_relationships.c.
References BLI_addtail(), create_drag_link(), LinkData::data, SpaceNode::edittree, bNodeSocket::flag, bNodeLink::flag, bNodeLinkDrag::from_multi_input_socket, bNodeLink::fromsock, bNodeLinkDrag::in_out, bNodeLinkDrag::last_node_hovered_while_dragging_a_link, LinkAndPosition::link, bNodeLinkDrag::links, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, MEM_callocN, bNodeLink::next, node, node_connected_to_output(), node_find_indicated_socket(), NODE_LINK_TEST, NODE_LINK_VALID, nodeCountSocketLinks(), nodeRemLink(), nodeSocketLinkLimit(), NULL, bNodeLink::prev, snode_update(), SOCK_IN, SOCK_MULTI_INPUT, SOCK_OUT, bNodeLink::tonode, and bNodeLink::tosock.
Referenced by node_link_invoke().
|
static |
Callback that applies NodeInsertOfsData.offset_x to a node or its parent, considering the logic needed for offsetting nodes after link insert
Definition at line 1991 of file node_relationships.c.
References data, bNode::flag, node, node_link_insert_offset_frame_chains(), node_offset_apply(), node_parent_offset_apply(), NODE_TEST, nodeFindRootParent(), nodeIsChildOf(), NULL, and bNode::parent.
Referenced by node_link_insert_offset_ntree().
|
static |
Callback that applies NodeInsertOfsData.offset_x to a node or its parent, similar to node_link_insert_offset_output_chain_cb below, but with slightly different logic
Definition at line 1954 of file node_relationships.c.
References data, node_offset_apply(), and bNode::parent.
Referenced by node_link_insert_offset_frame_chains().
|
static |
Applies NodeInsertOfsData.offset_x to all children of parent.
Definition at line 1975 of file node_relationships.c.
References data, LISTBASE_FOREACH, node, node_link_insert_offset_frame_chain_cb(), nodeChainIter(), nodeIsChildOf(), bNodeTree::nodes, and ntree.
Referenced by node_link_insert_offset_chain_cb().
|
static |
Definition at line 2023 of file node_relationships.c.
References BLI_rctf_isect_x(), BLI_rctf_isect_y(), bNode::flag, insert(), NodeInsertOfsData::insert, NodeInsertOfsData::insert_parent, ListBase::last, NodeInsertOfsData::next, next, node_find_frame_to_attach(), NODE_FRAME, node_link_insert_offset_chain_cb(), node_offset_apply(), node_parents_offset_flag_enable_cb(), NODE_SELECT, NODE_TEST, node_to_updated_rect(), NODE_WIDTH, nodeChainIter(), nodeFindRootParent(), nodeIsChildOf(), nodeParentsIter(), bNodeTree::nodes, ntree, NodeInsertOfsData::ntree, ntreeNodeFlagSet(), NULL, NodeInsertOfsData::offset_x, bNode::parent, NodeInsertOfsData::prev, bNode::prev, bNode::totr, bNode::type, UI_DPI_FAC, width, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by node_insert_offset_invoke().
|
static |
Definition at line 1100 of file node_relationships.c.
References BLI_addtail(), C, CTX_data_main(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_space_node(), wmOperator::customdata, ED_preview_kill_jobs(), SpaceNode_Runtime::linkdrag, wmEvent::mval, node_link_init(), OPERATOR_CANCELLED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, wmOperator::ptr, RNA_boolean_get(), RNA_boolean_set(), RNA_float_set_array(), SpaceNode::runtime, UI_view2d_region_to_view(), ARegion::v2d, and WM_event_add_modal_handler().
Referenced by NODE_OT_link().
|
static |
Definition at line 955 of file node_relationships.c.
References C, clear_picking_highlight(), CTX_wm_region(), CTX_wm_space_node(), wmOperator::customdata, ED_region_tag_redraw(), ED_workspace_status_text(), SpaceNode::edittree, bNodeLinkDrag::from_multi_input_socket, KM_RELEASE, LEFTMOUSE, bNodeTree::links, MIDDLEMOUSE, MOUSEMOVE, wmEvent::mval, node_link_exit(), node_link_find_socket(), node_link_update_header(), NULL, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, pick_input_link_by_link_intersect(), wmOperator::ptr, RIGHTMOUSE, RNA_boolean_get(), wmEvent::type, UI_view2d_region_to_view(), ARegion::v2d, and wmEvent::val.
Referenced by NODE_OT_link().
|
static |
Definition at line 746 of file node_relationships.c.
References BLI_strncpy(), C, ED_workspace_status_text(), TIP_, and UI_MAX_DRAW_STR.
Referenced by node_link_modal().
Definition at line 593 of file node_relationships.c.
References BLI_listbase_is_empty(), C, CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, CTX_data_main(), CTX_wm_space_node(), SpaceNode::edittree, ELEM, ListBase::first, bNodeLink::fromnode, bNodeLink::fromsock, bNode::inputs, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, bNodeSocket::locx, bNodeSocket::locy, bNodeSocket::next, bNodeLink::next, node, node_add_node(), NODE_DO_OUTPUT, nodeAddLink(), nodeRemLink(), bNodeTree::nodes, nodeSocketIsHidden(), NTREE_UPDATE_LINKS, ntreeUpdateTree(), NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, bNode::outputs, SELECT, snode_update(), bNodeLink::tonode, bNodeLink::tosock, bNode::type, and bNodeTree::update.
Referenced by node_active_link_viewer_exec().
Definition at line 1227 of file node_relationships.c.
References isect_seg_seg_v2(), LinkAndPosition::link, node_link_bezier_points(), NODE_LINK_RESOL, and NULL.
Referenced by cut_links_exec(), and mute_links_exec().
|
static |
Definition at line 1186 of file node_relationships.c.
References C, CTX_data_main(), CTX_wm_manager(), CTX_wm_space_node(), ED_preview_kill_jobs(), SpaceNode::edittree, node_deselect_all_input_sockets(), node_deselect_all_output_sockets(), ntreeUpdateTree(), OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), snode_autoconnect(), snode_dag_update(), and snode_notify().
Referenced by NODE_OT_link_make().
Definition at line 1924 of file node_relationships.c.
References node, NODE_TEST, and UI_DPI_FAC.
Referenced by node_link_insert_offset_chain_cb(), node_link_insert_offset_frame_chain_cb(), node_link_insert_offset_ntree(), and node_parent_offset_apply().
| void NODE_OT_attach | ( | wmOperatorType * | ot | ) |
Definition at line 1680 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, node_attach_invoke(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_detach | ( | wmOperatorType * | ot | ) |
Definition at line 1752 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, node_detach_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_insert_offset | ( | wmOperatorType * | ot | ) |
Definition at line 2217 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, node_insert_offset_invoke(), node_insert_offset_modal(), OPTYPE_BLOCKING, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_join | ( | wmOperatorType * | ot | ) |
Definition at line 1598 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, node_join_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_link | ( | wmOperatorType * | ot | ) |
Definition at line 1141 of file node_relationships.c.
References wmOperatorType::cancel, wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, node_link_cancel(), node_link_invoke(), node_link_modal(), OPTYPE_BLOCKING, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, PROP_HIDDEN, RNA_def_boolean(), RNA_def_float_array(), RNA_def_property_flag(), wmOperatorType::srna, and UI_PRECISION_FLOAT_MAX.
Referenced by node_operatortypes().
| void NODE_OT_link_make | ( | wmOperatorType * | ot | ) |
Definition at line 1207 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, node_make_link_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by node_operatortypes().
| void NODE_OT_link_viewer | ( | wmOperatorType * | ot | ) |
Definition at line 729 of file node_relationships.c.
References composite_node_editable(), wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, node_active_link_viewer_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_links_cut | ( | wmOperatorType * | ot | ) |
Definition at line 1312 of file node_relationships.c.
References wmOperatorType::cancel, cut_links_exec(), wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_collection_runtime(), RNA_def_int(), RNA_def_property_flag(), RNA_OperatorMousePath, wmOperatorType::srna, WM_CURSOR_KNIFE, WM_gesture_lines_cancel(), WM_gesture_lines_invoke(), and WM_gesture_lines_modal().
Referenced by node_operatortypes().
| void NODE_OT_links_detach | ( | wmOperatorType * | ot | ) |
Definition at line 1464 of file node_relationships.c.
References wmOperatorType::description, detach_links_exec(), ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
| void NODE_OT_links_mute | ( | wmOperatorType * | ot | ) |
Definition at line 1416 of file node_relationships.c.
References wmOperatorType::cancel, wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, mute_links_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_collection_runtime(), RNA_def_int(), RNA_def_property_flag(), RNA_OperatorMousePath, wmOperatorType::srna, WM_CURSOR_MUTE, WM_gesture_lines_cancel(), WM_gesture_lines_invoke(), and WM_gesture_lines_modal().
Referenced by node_operatortypes().
| void NODE_OT_parent_set | ( | wmOperatorType * | ot | ) |
Definition at line 1505 of file node_relationships.c.
References wmOperatorType::description, ED_operator_node_editable(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, node_parent_set_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by node_operatortypes().
|
static |
Definition at line 1934 of file node_relationships.c.
References data, LISTBASE_FOREACH, node, node_offset_apply(), NODE_TEST, and nodeIsChildOf().
Referenced by node_link_insert_offset_chain_cb().
|
static |
Definition at line 1480 of file node_relationships.c.
References C, CTX_wm_space_node(), ED_node_sort(), SpaceNode::edittree, LISTBASE_FOREACH, NC_NODE, ND_DISPLAY, node, NODE_FRAME, NODE_SELECT, nodeAttachNode(), nodeDetachNode(), nodeGetActive(), bNodeTree::nodes, ntree, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, bNode::type, and WM_event_add_notifier().
Referenced by NODE_OT_parent_set().
|
static |
Definition at line 1916 of file node_relationships.c.
References bNode::flag, and NODE_TEST.
Referenced by node_link_insert_offset_ntree().
Definition at line 765 of file node_relationships.c.
References SpaceNode::edittree, from, bNodeLink::fromsock, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH_MUTABLE, node_count_links(), nodeRemLink(), nodeSocketLinkLimit(), ntree, NULL, and bNodeLink::tosock.
Referenced by ED_node_link_insert(), and node_link_exit().
Definition at line 89 of file node_relationships.c.
References from, NODE_TEST, ntree, ntree_check_nodes_connected_dfs(), and ntreeNodeFlagSet().
Referenced by node_connected_to_output().
Definition at line 69 of file node_relationships.c.
References from, bNodeTree::links, LISTBASE_FOREACH, NODE_TEST, and ntree.
Referenced by ntree_check_nodes_connected().
|
static |
Definition at line 60 of file node_relationships.c.
References BKE_animdata_from_id(), BLI_listbase_is_empty(), AnimData::drivers, bNodeTree::id, ntree, and NULL.
Referenced by node_connected_to_output().
|
static |
Definition at line 239 of file node_relationships.c.
References BKE_curve_forward_diff_bezier(), C, clear_picking_highlight(), CTX_wm_area(), CTX_wm_region(), CTX_wm_space_node(), data, dist_squared_to_line_segment_v2(), distance(), ED_area_tag_redraw(), SpaceNode::edittree, bNodeLink::flag, bNodeLinkDrag::last_picked_multi_input_socket_link, bNodeTree::links, LISTBASE_FOREACH, node, node_find_indicated_socket(), node_link_bezier_handles(), NODE_LINK_RESOL, NODE_LINK_TEMP_HIGHLIGHT, NULL, pick_link(), wmOperator::ptr, RNA_float_get_array(), SOCK_IN, UI_DPI_FAC, and ARegion::v2d.
Referenced by node_link_modal().
|
static |
Definition at line 211 of file node_relationships.c.
References BLI_addtail(), BLI_assert, C, clear_picking_highlight(), create_drag_link(), CTX_data_main(), SpaceNode::edittree, bNodeLink::fromnode, bNodeLink::fromsock, bNodeLinkDrag::last_node_hovered_while_dragging_a_link, bNodeLinkDrag::links, bNodeTree::links, node, nodeRemLink(), NULL, wmOperator::ptr, RNA_boolean_set(), snode_update(), and sort_multi_input_socket_links().
Referenced by pick_input_link_by_link_intersect().
|
static |
Definition at line 502 of file node_relationships.c.
References best_socket_input(), best_socket_output(), BLI_addtail(), BLI_freelistN(), BLI_listbase_count(), BLI_listbase_is_empty(), BLI_listbase_sort(), SpaceNode::edittree, bNode::inputs, LISTBASE_FOREACH, MEM_callocN, MEM_freeN, MEM_mallocN, bNode::next, node, bNodeListItem::node, NODE_SELECT, bNodeTree::nodes, ntree, ntreeUpdateTree(), NULL, bNode::outputs, SELECT, snode_autoconnect_input(), socket_is_available(), sort_nodes_locx(), and SWAP.
Referenced by node_make_link_exec().
|
static |
Definition at line 415 of file node_relationships.c.
References SpaceNode::edittree, nodeAddLink(), nodeRemSocketLinks(), and ntree.
Referenced by snode_autoconnect().
|
static |
Definition at line 1886 of file node_relationships.c.
References LISTBASE_FOREACH, max_ii(), nodeSocketIsHidden(), NULL, SOCK_HIDDEN, and type.
Referenced by ED_node_link_insert().
|
static |
Definition at line 319 of file node_relationships.c.
References bNodeSocket::flag, nodeSocketIsHidden(), and SOCK_IN_USE.
Referenced by best_socket_input(), best_socket_output(), snode_autoconnect(), and blender::nodes::update_attribute_input_socket_availabilities().
| void sort_multi_input_socket_links | ( | SpaceNode * | snode, |
| bNode * | node, | ||
| bNodeLink * | drag_link, | ||
| float | cursor[2] | ||
| ) |
Definition at line 449 of file node_relationships.c.
References compare_link_by_y_position(), copy_v2_v2(), SpaceNode::edittree, LinkAndPosition::link, bNodeTree::links, LISTBASE_FOREACH, bNodeSocket::locx, bNodeSocket::locy, MEM_callocN, MEM_freeN, MEM_malloc_arrayN, bNodeLink::multi_input_socket_index, LinkAndPosition::multi_socket_position, node, node_link_calculate_multi_input_position(), SOCK_MULTI_INPUT, bNodeLink::tosock, and bNodeSocket::total_inputs.
Referenced by cut_links_exec(), node_group_make_exec(), node_link_find_socket(), and pick_link().
|
static |
Definition at line 306 of file node_relationships.c.
References Freestyle::a, bNode::locx, and bNodeListItem::node.
Referenced by snode_autoconnect().