Blender V5.0
node_select.cc File Reference
#include <array>
#include <cstdlib>
#include <fmt/format.h>
#include "DNA_collection_types.h"
#include "DNA_image_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_windowmanager_types.h"
#include "BLI_lasso_2d.hh"
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_rect.h"
#include "BLI_resource_scope.hh"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_context.hh"
#include "BKE_idtype.hh"
#include "BKE_lib_id.hh"
#include "BKE_main.hh"
#include "BKE_main_invariants.hh"
#include "BKE_node.hh"
#include "BKE_node_legacy_types.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.hh"
#include "BKE_screen.hh"
#include "BKE_viewer_path.hh"
#include "BKE_workspace.hh"
#include "ED_node.hh"
#include "ED_screen.hh"
#include "ED_select_utils.hh"
#include "ED_view3d.hh"
#include "ED_viewer_path.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_resources.hh"
#include "UI_string_search.hh"
#include "UI_view2d.hh"
#include "DEG_depsgraph.hh"
#include "BLT_translation.hh"
#include "node_intern.hh"

Go to the source code of this file.

Namespaces

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

Functions

static bool blender::ed::space_node::has_workbench_in_texture_color (const wmWindowManager *wm, const Scene *scene, const Object *ob)
Public Node Selection API
static bool blender::ed::space_node::is_event_over_node_or_socket (const bContext &C, const wmEvent &event)
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)
static bool blender::ed::space_node::node_frame_select_isect_mouse (const SpaceNode &snode, const bNode &node, const float2 &mouse)
bNodeblender::ed::space_node::node_under_mouse_get (const SpaceNode &snode, const float2 mouse)
static bool blender::ed::space_node::is_position_over_node_or_socket (SpaceNode &snode, ARegion &region, const float2 &mouse)
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)
static void blender::ed::space_node::node_socket_toggle (bNode *node, bNodeSocket &sock, bool deselect_node)
bool blender::ed::space_node::node_deselect_all (bNodeTree &node_tree)
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)
VectorSet< bNode * > blender::ed::space_node::get_selected_nodes (bNodeTree &node_tree)
Select (Cursor Pick) Operator
void blender::ed::space_node::node_select_single (bContext &C, bNode &node)
static const bNodeSocketblender::ed::space_node::find_socket_at_mouse_y (const Span< const bNodeSocket * > sockets, const float view_y)
static void blender::ed::space_node::activate_interface_socket (bNodeTree &tree, bNodeTreeInterfaceSocket &io_socket)
static void blender::ed::space_node::handle_group_input_node_selection (bNodeTree &tree, const bNode &group_input_node, const float2 &cursor)
static void blender::ed::space_node::handle_group_output_node_selection (bNodeTree &tree, const bNode &group_output_node, const float2 &cursor)
static bool blender::ed::space_node::node_mouse_select (bContext *C, wmOperator *op, const int2 mval, const SelectPick_Params &params)
static wmOperatorStatus blender::ed::space_node::node_select_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::space_node::node_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::space_node::NODE_OT_select (wmOperatorType *ot)
Box Select Operator
static wmOperatorStatus blender::ed::space_node::node_box_select_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::space_node::node_box_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::space_node::NODE_OT_select_box (wmOperatorType *ot)
Circle Select Operator
static wmOperatorStatus blender::ed::space_node::node_circleselect_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_select_circle (wmOperatorType *ot)
Lasso Select Operator
static wmOperatorStatus blender::ed::space_node::node_lasso_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static bool blender::ed::space_node::do_lasso_select_node (bContext *C, const Span< int2 > mcoords, eSelectOp sel_op)
static wmOperatorStatus blender::ed::space_node::node_lasso_select_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_select_lasso (wmOperatorType *ot)
(De)select All Operator
static bool blender::ed::space_node::any_node_selected (const bNodeTree &node_tree)
static wmOperatorStatus blender::ed::space_node::node_select_all_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_select_all (wmOperatorType *ot)
Select Linked To Operator
static wmOperatorStatus blender::ed::space_node::node_select_linked_to_exec (bContext *C, wmOperator *)
void blender::ed::space_node::NODE_OT_select_linked_to (wmOperatorType *ot)
Select Linked From Operator
static wmOperatorStatus blender::ed::space_node::node_select_linked_from_exec (bContext *C, wmOperator *)
void blender::ed::space_node::NODE_OT_select_linked_from (wmOperatorType *ot)
Select Same Type Step Operator
static bool blender::ed::space_node::nodes_are_same_type_for_select (const bNode &a, const bNode &b)
static wmOperatorStatus blender::ed::space_node::node_select_same_type_step_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_select_same_type_step (wmOperatorType *ot)
Find Node by Name Operator
static std::string blender::ed::space_node::node_find_create_node_label (const bNodeTree &ntree, const bNode &node)
static std::string blender::ed::space_node::node_find_create_group_input_label (const bNode &node, const bNodeSocket &socket)
static std::string blender::ed::space_node::node_find_create_string_value (const bNode &node, const StringRef str)
static std::string blender::ed::space_node::node_find_create_data_block_value (const bNode &node, const ID &id)
static void blender::ed::space_node::node_find_update_fn (const bContext *C, void *, const char *str, uiSearchItems *items, const bool)
static void blender::ed::space_node::node_find_exec_fn (bContext *C, void *, void *arg2)
static uiBlockblender::ed::space_node::node_find_menu (bContext *C, ARegion *region, void *arg_optype)
static wmOperatorStatus blender::ed::space_node::node_find_node_invoke (bContext *C, wmOperator *op, const wmEvent *)
void blender::ed::space_node::NODE_OT_find_node (wmOperatorType *ot)

Select Grouped Operator

enum  { blender::ed::space_node::NODE_SELECT_GROUPED_TYPE = 0 , blender::ed::space_node::NODE_SELECT_GROUPED_COLOR = 1 , blender::ed::space_node::NODE_SELECT_GROUPED_PREFIX = 2 , blender::ed::space_node::NODE_SELECT_GROUPED_SUFIX = 3 }
static bool blender::ed::space_node::node_select_grouped_type (bNodeTree &node_tree, bNode &node_act)
static bool blender::ed::space_node::node_select_grouped_color (bNodeTree &node_tree, bNode &node_act)
static bool blender::ed::space_node::node_select_grouped_name (bNodeTree &node_tree, bNode &node_act, const bool from_right)
static wmOperatorStatus blender::ed::space_node::node_select_grouped_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_select_grouped (wmOperatorType *ot)