Blender V5.0
node_group.cc File Reference
#include <cstdlib>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_node_types.h"
#include "BLI_listbase.h"
#include "BLI_map.hh"
#include "BLI_math_vector.h"
#include "BLI_math_vector.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_rand.hh"
#include "BLI_set.hh"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_vector.hh"
#include "BLT_translation.hh"
#include "BKE_action.hh"
#include "BKE_animsys.h"
#include "BKE_context.hh"
#include "BKE_lib_id.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_main_invariants.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.hh"
#include "BKE_report.hh"
#include "ANIM_action.hh"
#include "DEG_depsgraph_build.hh"
#include "ED_node.hh"
#include "ED_node_preview.hh"
#include "ED_render.hh"
#include "ED_screen.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_path.hh"
#include "RNA_prototypes.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_resources.hh"
#include "NOD_common.hh"
#include "NOD_composite.hh"
#include "NOD_geometry.hh"
#include "NOD_node_declaration.hh"
#include "NOD_shader.h"
#include "NOD_socket.hh"
#include "NOD_texture.h"
#include "node_intern.hh"

Go to the source code of this file.

Classes

struct  blender::ed::space_node::WrapperNodeGroupMapping

Namespaces

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

Functions

Local Utilities
static bool blender::ed::space_node::node_group_operator_active_poll (bContext *C)
static bool blender::ed::space_node::node_group_operator_editable (bContext *C)
static StringRef blender::ed::space_node::group_ntree_idname (bContext *C)
StringRef blender::ed::space_node::node_group_idname (const bContext *C)
static bNodeblender::ed::space_node::node_group_get_active (bContext *C, const StringRef node_idname)
static void blender::ed::space_node::remap_pairing (bNodeTree &dst_tree, Span< bNode * > nodes, const Map< int32_t, int32_t > &identifier_map)
Edit Group Operator
static wmOperatorStatus blender::ed::space_node::node_group_edit_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_group_edit (wmOperatorType *ot)
Enter group at cursor, or exit when not hovering any node.
static wmOperatorStatus blender::ed::space_node::node_group_enter_exit_invoke (bContext *C, wmOperator *, const wmEvent *event)
void blender::ed::space_node::NODE_OT_group_enter_exit (wmOperatorType *ot)
Ungroup Operator
static AnimationBasePathChangeblender::ed::space_node::animation_basepath_change_new (const StringRef src_basepath, const StringRef dst_basepath)
static void blender::ed::space_node::animation_basepath_change_free (AnimationBasePathChange *basepath_change)
static void blender::ed::space_node::update_nested_node_refs_after_ungroup (bNodeTree &ntree, const bNodeTree &ngroup, const bNode &gnode, const Map< int32_t, int32_t > &node_identifier_map)
static void blender::ed::space_node::node_group_ungroup (Main *bmain, bNodeTree *ntree, bNode *gnode)
static wmOperatorStatus blender::ed::space_node::node_group_ungroup_exec (bContext *C, wmOperator *)
void blender::ed::space_node::NODE_OT_group_ungroup (wmOperatorType *ot)
Make Group Operator
static VectorSet< bNode * > blender::ed::space_node::get_nodes_to_group (bNodeTree &node_tree, bNode *group_node)
static bool blender::ed::space_node::node_group_make_test_selected (bNodeTree &ntree, const VectorSet< bNode * > &nodes_to_group, const StringRef ntree_idname, ReportList &reports)
static void blender::ed::space_node::get_min_max_of_nodes (const Span< bNode * > nodes, const bool use_size, float2 &min, float2 &max)
static const bNodeSocketblender::ed::space_node::find_socket_to_use_for_interface (const bNodeTree &node_tree, const bNodeSocket &socket)
static bool blender::ed::space_node::prefer_node_for_interface_name (const bNode &node)
static bNodeTreeInterfaceSocketblender::ed::space_node::add_interface_from_socket (const bNodeTree &original_tree, bNodeTree &tree_for_interface, const bNodeSocket &socket)
static void blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group (bNodeTree &ntree, bNodeTree &group, bNode &gnode, const Map< int32_t, int32_t > &node_identifier_map)
static void blender::ed::space_node::node_group_make_insert_selected (const bContext &C, bNodeTree &ntree, bNode *gnode, const VectorSet< bNode * > &nodes_to_move)
static bNodeblender::ed::space_node::node_group_make_from_nodes (const bContext &C, bNodeTree &ntree, const VectorSet< bNode * > &nodes_to_group, const StringRef ntype, const StringRef ntreetype)
static void blender::ed::space_node::add_node_group_interface_from_declaration_recursive (bNodeTree &group, const bNode &src_node, const nodes::ItemDeclaration &item_decl, bNodeTreeInterfacePanel *parent, WrapperNodeGroupMapping &r_mapping)
static bNodeTreeblender::ed::space_node::node_group_make_wrapper (const bContext &C, const bNodeTree &src_tree, const bNode &src_node, WrapperNodeGroupMapping &r_mapping)
static bNodeblender::ed::space_node::node_group_make_from_node_declaration (bContext &C, bNodeTree &ntree, bNode &src_node, const StringRef node_idname)
static wmOperatorStatus blender::ed::space_node::node_group_make_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_group_make (wmOperatorType *ot)
Group Insert Operator
static wmOperatorStatus blender::ed::space_node::node_group_insert_exec (bContext *C, wmOperator *op)
void blender::ed::space_node::NODE_OT_group_insert (wmOperatorType *ot)
Set Default Group Width Operator
static bool blender::ed::space_node::node_default_group_width_set_poll (bContext *C)
static wmOperatorStatus blender::ed::space_node::node_default_group_width_set_exec (bContext *C, wmOperator *)
void blender::ed::space_node::NODE_OT_default_group_width_set (wmOperatorType *ot)

Separate Operator

enum  blender::ed::space_node::eNodeGroupSeparateType { blender::ed::space_node::NODE_GS_COPY , blender::ed::space_node::NODE_GS_MOVE }
static const EnumPropertyItem blender::ed::space_node::node_group_separate_types []
static bool blender::ed::space_node::node_group_separate_selected (Main &bmain, bNodeTree &ntree, bNodeTree &ngroup, const float2 &offset, const bool make_copy)
static wmOperatorStatus blender::ed::space_node::node_group_separate_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::space_node::node_group_separate_invoke (bContext *C, wmOperator *, const wmEvent *)
void blender::ed::space_node::NODE_OT_group_separate (wmOperatorType *ot)