|
Blender V5.0
|
Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
Macros | |
| #define | NODE_GRID_STEP_SIZE (20.0f * UI_SCALE_FAC) /* Based on the grid nodes snap to. */ |
| #define | NODE_EDGE_PAN_INSIDE_PAD 2 |
| #define | NODE_EDGE_PAN_OUTSIDE_PAD 0 /* Disable clamping for node panning, use whole screen. */ |
| #define | NODE_EDGE_PAN_SPEED_RAMP 1 |
| #define | NODE_EDGE_PAN_MAX_SPEED 26 /* In UI units per second, slower than default. */ |
| #define | NODE_EDGE_PAN_DELAY 0.5f |
| #define | NODE_EDGE_PAN_ZOOM_INFLUENCE 0.5f |
| #define NODE_EDGE_PAN_DELAY 0.5f |
Definition at line 32 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_EDGE_PAN_INSIDE_PAD 2 |
Definition at line 28 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_EDGE_PAN_MAX_SPEED 26 /* In UI units per second, slower than default. */ |
Definition at line 31 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_EDGE_PAN_OUTSIDE_PAD 0 /* Disable clamping for node panning, use whole screen. */ |
Definition at line 29 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_EDGE_PAN_SPEED_RAMP 1 |
Definition at line 30 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_EDGE_PAN_ZOOM_INFLUENCE 0.5f |
Definition at line 33 of file ED_node_c.hh.
Referenced by blender::ed::transform::createTransNodeData(), and blender::ed::space_node::NODE_OT_link().
| #define NODE_GRID_STEP_SIZE (20.0f * UI_SCALE_FAC) /* Based on the grid nodes snap to. */ |
Definition at line 27 of file ED_node_c.hh.
Referenced by blender::ed::space_node::grid_size_get(), and blender::ed::space_node::node_draw_space().
| void ED_init_custom_node_socket_type | ( | blender::bke::bNodeSocketType * | stype | ) |
Definition at line 942 of file drawnode.cc.
References blender::bke::bNodeSocketType::draw, and blender::ed::space_node::node_socket_button_label().
| void ED_init_custom_node_type | ( | blender::bke::bNodeType * | ntype | ) |
Definition at line 940 of file drawnode.cc.
| void ED_init_node_socket_type_virtual | ( | blender::bke::bNodeSocketType * | stype | ) |
Definition at line 1502 of file drawnode.cc.
References blender::bke::bNodeSocketType::draw, blender::bke::bNodeSocketType::draw_color, blender::bke::bNodeSocketType::draw_color_simple, blender::ed::space_node::node_socket_virtual_draw_color(), blender::ed::space_node::node_socket_virtual_draw_color_simple(), and blender::ed::space_node::std_node_socket_draw().
| void ED_init_standard_node_socket_type | ( | blender::bke::bNodeSocketType * | stype | ) |
Definition at line 1493 of file drawnode.cc.
References blender::bke::bNodeSocketType::draw, blender::bke::bNodeSocketType::draw_color, blender::bke::bNodeSocketType::draw_color_simple, blender::bke::bNodeSocketType::interface_draw, blender::ed::space_node::std_node_socket_color_funcs, blender::ed::space_node::std_node_socket_color_simple_fn(), blender::ed::space_node::std_node_socket_draw(), blender::ed::space_node::std_node_socket_interface_draw(), and blender::bke::bNodeSocketType::type.
| void ED_node_clipboard_free | ( | ) |
Definition at line 586 of file clipboard.cc.
References blender::ed::space_node::NodeClipboard::clear(), and blender::ed::space_node::get_node_clipboard().
Referenced by WM_exit_ex().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from compositing buttons or header.
Definition at line 581 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), C, Scene::compositing_node_group, CTX_data_main(), DATA_, ED_node_composit_default_init(), G, G_DEBUG, blender::bke::node_tree_add_tree(), ntreeType_Composite, and printf.
Initializes an empty compositing node tree with default nodes.
Definition at line 601 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), BLI_assert, BLI_listbase_count(), C, CMP_NODE_R_LAYERS, CMP_NODE_VIEWER, CTX_data_main(), DATA_, ListBase::first, in, bNode::inputs, bNode::location, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_add_static_node(), NODE_INTERFACE_SOCKET_INPUT, NODE_INTERFACE_SOCKET_OUTPUT, NODE_PREVIEW, NODE_REROUTE, blender::bke::node_set_active(), bNodeTree::nodes, NTREE_COMPOSIT, bNode::outputs, bNodeTree::tree_interface, and bNodeTree::type.
Referenced by ED_node_composit_default(), and blender::ed::space_node::new_compositing_node_group_exec().
| scene_owner | is the owner of the job, we don't use it for anything else currently so could also be a void pointer, but for now keep it an 'Scene' for consistency. |
Definition at line 371 of file node_edit.cc.
References BKE_image_backup_render(), BKE_image_ensure_viewer(), blender::ed::space_node::CompoJob::bmain, C, blender::ed::space_node::compo_canceljob(), blender::ed::space_node::compo_completejob(), blender::ed::space_node::compo_freejob(), blender::ed::space_node::compo_initjob(), blender::ed::space_node::compo_startjob(), blender::ed::space_node::compo_updatejob(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_window(), ELEM, G, get_compositor_needed_outputs(), IMA_TYPE_R_RESULT, is_compositing_possible(), NC_SCENE, ND_COMPO_RESULT, blender::ed::space_node::CompoJob::needed_outputs, blender::compositor::None, blender::ed::space_node::CompoJob::ntree, blender::compositor::Previews, blender::ed::space_node::CompoJob::scene, blender::ed::space_node::CompoJob::view_layer, WM_JOB_EXCL_RENDER, WM_JOB_PROGRESS, WM_JOB_TYPE_COMPOSITE, WM_jobs_callbacks_ex(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by image_refresh(), and blender::ed::space_node::node_area_refresh().
Definition at line 254 of file space_node.cc.
References copy_v2_v2(), and SpaceNode::runtime.
Definition at line 259 of file space_node.cc.
References copy_v2_v2(), and SpaceNode::runtime.
| void ED_node_init_butfuncs | ( | ) |
Definition at line 908 of file drawnode.cc.
References blender::bke::bNodeSocketType::draw, blender::bke::bNodeType::draw_buttons, blender::bke::bNodeType::draw_buttons_ex, blender::bke::bNodeSocketType::draw_color, blender::bke::bNodeSocketType::draw_color_simple, blender::bke::bNodeSocketType::interface_draw, blender::ed::space_node::node_common_set_butfunc(), blender::ed::space_node::node_composit_set_butfunc(), blender::ed::space_node::node_shader_set_butfunc(), blender::ed::space_node::node_socket_undefined_draw(), blender::ed::space_node::node_socket_undefined_draw_color(), blender::ed::space_node::node_socket_undefined_draw_color_simple(), blender::ed::space_node::node_socket_undefined_interface_draw(), blender::ed::space_node::node_template_properties_update(), blender::ed::space_node::node_texture_set_butfunc(), blender::bke::node_types_get(), blender::bke::NodeSocketTypeUndefined, and blender::bke::NodeTypeUndefined.
Referenced by WM_init().
| bool ED_node_is_compositor | ( | const SpaceNode * | snode | ) |
Definition at line 487 of file node_edit.cc.
References ntreeType_Composite, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::composite_node_active(), blender::ed::space_node::composite_node_editable(), blender::ed::space_node::context_path_for_space_node(), blender::ed::space_node::draw_nodespace_back_pix(), blender::draw::color_management::drw_color_management_type_for_space_node(), ED_node_supports_preview(), ED_screen_stereo3d_required(), ED_space_node_color_sample(), ED_space_node_get_position(), blender::ed::space_node::viewer_linking::get_default_viewer_type(), blender::ed::space_node::node_active_link_viewer_poll(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_area_tag_tree_recalc(), blender::ed::space_node::node_group_idname(), blender::ed::space_node::node_group_operator_editable(), blender::ed::space_node::sample_invoke(), and wm_draw_region_stereo_set().
| bool ED_node_is_geometry | ( | const SpaceNode * | snode | ) |
Definition at line 502 of file node_edit.cc.
References ntreeType_Geometry, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::context_path_for_space_node(), blender::nodes::geo_eval_log::get_root_log(), blender::ed::space_node::node_active_link_viewer_poll(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
| bool ED_node_is_shader | ( | SpaceNode * | snode | ) |
Definition at line 492 of file node_edit.cc.
References ntreeType_Shader, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::context_path_for_space_node(), ED_node_supports_preview(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
| bool ED_node_is_texture | ( | SpaceNode * | snode | ) |
Definition at line 497 of file node_edit.cc.
References ntreeType_Texture, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_group_idname(), and blender::ed::space_node::node_group_operator_editable().
Definition at line 856 of file node_edit.cc.
Referenced by blender::ed::space_node::node_resize_modal(), and blender::ed::transform::special_aftertrans_update__node().
| void ED_node_sample_set | ( | const float | col[4] | ) |
Definition at line 132 of file drawnode.cc.
References _sample_col, col, copy_v4_fl(), copy_v4_v4(), and SAMPLE_FLT_ISNONE.
Referenced by blender::ed::space_node::sample_apply(), and blender::ed::space_node::sample_exit().
| void ED_node_set_active | ( | Main * | bmain, |
| SpaceNode * | snode, | ||
| bNodeTree * | ntree, | ||
| bNode * | node, | ||
| bool * | r_active_texture_changed ) |
Definition at line 728 of file node_edit.cc.
References blender::ed::viewer_path::activate_geometry_node(), BKE_main_ensure_invariants(), BKE_ntree_update_tag_active_output_changed(), CMP_NODE_VIEWER, ED_space_image_sync(), ELEM, bNode::flag, GEO_NODE_VIEWER, GPU_material_free(), GS, i, bNode::id, bNodeTree::id, ID_IM, LISTBASE_FOREACH, Main::materials, ID::name, NC_IMAGE, NC_MATERIAL, ND_NODES, NODE_ACTIVE_TEXTURE, NODE_DO_OUTPUT, NODE_GROUP, blender::bke::node_set_active(), blender::bke::node_tree_contains_tree(), NTREE_COMPOSIT, NTREE_GEOMETRY, NTREE_SHADER, SH_NODE_OUTPUT_LIGHT, SH_NODE_OUTPUT_LINESTYLE, SH_NODE_OUTPUT_MATERIAL, SH_NODE_OUTPUT_WORLD, bNodeTree::type, bNode::type_legacy, WM_main_add_notifier(), and Main::worlds.
Referenced by blender::ed::space_node::add_node(), blender::ed::space_node::add_static_node(), blender::ed::space_node::node_add_image_exec(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_select_single(), and template_texture_select().
| void ED_node_set_active_viewer_key | ( | SpaceNode * | snode | ) |
Definition at line 237 of file space_node.cc.
References bNodeTree::active_viewer_key, DEG_id_tag_update(), bNodeTree::id, ID_RECALC_NTREE_OUTPUT, ListBase::last, NC_NODE, SpaceNode::nodetree, NTREE_COMPOSIT, bNodeTreePath::parent_key, SpaceNode::treepath, bNodeTree::type, bNodeInstanceKey::value, and WM_main_add_notifier().
Referenced by ED_node_tree_pop(), ED_node_tree_push(), ED_node_tree_start(), blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_id_remap(), blender::ed::space_node::node_mouse_select(), and blender::ed::space_node::node_select_single().
| void ED_node_set_tree_type | ( | SpaceNode * | snode, |
| blender::bke::bNodeTreeType * | typeinfo ) |
Definition at line 473 of file node_edit.cc.
References blender::bke::bNodeTreeType::idname, SpaceNode::node_tree_sub_type, SpaceNode::selected_node_group, STRNCPY_UTF8, and SpaceNode::tree_idname.
Referenced by blender::ed::space_node::node_space_subtype_set().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from shading buttons or header.
Definition at line 513 of file node_edit.cc.
References BKE_material_default_surface(), BKE_material_default_volume(), BKE_ntree_update_after_single_tree_change(), C, copy_v3_v3(), CTX_data_active_object(), DATA_, bNodeSocket::default_value, ELEM, GS, World::horr, Material::id, ID_LA, ID_MA, ID_WO, bNode::location, ID::name, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_find_socket(), blender::bke::node_set_active(), blender::bke::node_tree_add_tree_embedded(), blender::bke::node_tree_copy_tree(), blender::bke::node_unique_name(), Material::nodetree, World::nodetree, ntreeType_Shader, OB_VOLUME, output, bNodeTree::owner_id, printf, SH_NODE_BACKGROUND, SH_NODE_EMISSION, SH_NODE_OUTPUT_LIGHT, SH_NODE_OUTPUT_WORLD, SOCK_IN, SOCK_OUT, STRNCPY_UTF8, and Object::type.
Referenced by blender::bke::tests::IDSubDataTestData::IDSubDataTestData(), blender::bke::tests::MaterialTestData::MaterialTestData(), new_material_exec(), new_world_exec(), proj_paint_add_slot(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), and blender::nodes::tests::TEST_F().
| bool ED_node_supports_preview | ( | SpaceNode * | snode | ) |
Definition at line 507 of file node_edit.cc.
References ED_node_is_compositor(), ED_node_is_shader(), U, and USER_EXPERIMENTAL_TEST.
Referenced by blender::ed::space_node::node_previewable().
Assumes nothing being done in ntree yet, sets the default in/out node. Called from shading buttons or header.
Definition at line 652 of file node_edit.cc.
References BKE_ntree_update_after_single_tree_change(), C, CTX_data_main(), G, G_DEBUG, Tex::id, in, blender::bke::node_add_link(), blender::bke::node_add_static_node(), blender::bke::node_set_active(), blender::bke::node_tree_add_tree_embedded(), Tex::nodetree, ntreeType_Texture, out, printf, TEX_NODE_CHECKER, and TEX_NODE_OUTPUT.
| int ED_node_tree_depth | ( | SpaceNode * | snode | ) |
Definition at line 188 of file space_node.cc.
References BLI_listbase_count(), and SpaceNode::treepath.
Definition at line 193 of file space_node.cc.
References i, ListBase::last, bNodeTreePath::nodetree, bNodeTreePath::prev, and SpaceNode::treepath.
Referenced by blender::ed::space_node::node_group_separate_exec().
| void ED_node_tree_path_get | ( | SpaceNode * | snode, |
| char * | value ) |
| value | The path output at least the size of ED_node_tree_path_length(snode) + 1. |
Definition at line 218 of file space_node.cc.
References BLI_assert, ED_node_tree_path_length(), i, len, LISTBASE_FOREACH_INDEX, and SpaceNode::treepath.
| int ED_node_tree_path_length | ( | SpaceNode * | snode | ) |
Definition at line 205 of file space_node.cc.
References i, length(), LISTBASE_FOREACH_INDEX, and SpaceNode::treepath.
Referenced by ED_node_tree_path_get().
Definition at line 161 of file space_node.cc.
References BLI_remlink(), ED_node_set_active_viewer_key(), SpaceNode::edittree, ListBase::first, ListBase::last, MEM_freeN(), NC_SCENE, ND_NODES, bNodeTreePath::nodetree, SpaceNode::runtime, SpaceNode::treepath, UI_view2d_center_set(), ARegion::v2d, bNodeTreePath::view_center, and WM_main_add_notifier().
Referenced by blender::ed::space_node::node_group_edit_exec(), blender::ed::space_node::node_group_enter_exit_invoke(), and blender::ed::space_node::node_group_separate_exec().
Definition at line 121 of file space_node.cc.
References BLI_addtail(), copy_v2_v2(), bNodeTreePath::display_name, ED_node_set_active_viewer_key(), SpaceNode::edittree, bNodeTree::id, id_us_ensure_real(), ListBase::last, MEM_callocN(), bNode::name, NC_SCENE, ND_NODES, blender::bke::node_instance_key(), blender::bke::NODE_INSTANCE_KEY_BASE, bNodeTreePath::node_name, bNodeTreePath::nodetree, bNodeTreePath::parent_key, SpaceNode::runtime, STRNCPY_UTF8, SpaceNode::treepath, UI_view2d_center_set(), ARegion::v2d, bNodeTree::view_center, bNodeTreePath::view_center, and WM_main_add_notifier().
Referenced by blender::ed::space_node::node_group_edit_exec(), blender::ed::space_node::node_group_enter_exit_invoke(), blender::ed::space_node::node_group_insert_exec(), and blender::ed::space_node::node_group_make_exec().
| void ED_node_tree_start | ( | ARegion * | region, |
| SpaceNode * | snode, | ||
| bNodeTree * | ntree, | ||
| ID * | id, | ||
| ID * | from ) |
Definition at line 78 of file space_node.cc.
References BLI_addtail(), BLI_listbase_clear(), copy_v2_v2(), bNodeTreePath::display_name, ED_node_set_active_viewer_key(), SpaceNode::edittree, SpaceNode::from, bNodeTree::id, SpaceNode::id, id_us_ensure_real(), LISTBASE_FOREACH_MUTABLE, MEM_callocN(), MEM_freeN(), ID::name, NC_SCENE, ND_NODES, blender::bke::NODE_INSTANCE_KEY_BASE, bNodeTreePath::nodetree, SpaceNode::nodetree, NTREE_GEOMETRY, bNodeTreePath::parent_key, SpaceNode::runtime, STRNCPY_UTF8, SpaceNode::treepath, bNodeTree::type, UI_view2d_center_set(), ARegion::v2d, bNodeTree::view_center, bNodeTreePath::view_center, and WM_main_add_notifier().
Referenced by blender::ed::space_node::snode_set_context().
| void ED_node_type_draw_color | ( | const char * | idname, |
| float * | r_color ) |
Definition at line 1510 of file drawnode.cc.
References ARRAY_SIZE, BLI_assert, copy_v4_v4(), blender::bke::node_socket_type_find(), SOCK_CUSTOM, blender::ed::space_node::std_node_socket_colors, and blender::bke::bNodeSocketType::type.
| void ED_operatormacros_node | ( | ) |
Definition at line 142 of file node_ops.cc.
References OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorTypeMacro::ptr, RNA_boolean_set(), RNA_string_set(), WM_operatortype_append_macro(), and WM_operatortype_macro_define().
Referenced by ED_spacemacros_init().
| bool ED_space_node_color_sample | ( | Main * | bmain, |
| SpaceNode * | snode, | ||
| ARegion * | region, | ||
| const int | mval[2], | ||
| float | r_col[3] ) |
Returns color in linear space, matching ED_space_image_color_sample(). And here we've got recursion in the comments tips...
Definition at line 500 of file node_view.cc.
References BKE_image_acquire_ibuf(), BKE_image_ensure_viewer(), BKE_image_release_ibuf(), ImBuf::byte_buffer, ImBuf::channels, CLAMP, ImBufByteBuffer::colorspace, copy_v3_v3(), ImBufByteBuffer::data, ImBufFloatBuffer::data, ED_node_is_compositor(), SpaceNode::flag, float, ImBuf::float_buffer, IMA_TYPE_COMPOSITE, IMB_colormanagement_colorspace_to_scene_linear_v3(), lock, ret, rgb_uchar_to_float(), SNODE_BACKDRAW, ARegion::winx, ARegion::winy, ImBuf::x, x, SpaceNode::xof, ImBuf::y, y, SpaceNode::yof, and SpaceNode::zoom.
Referenced by eyedropper_color_sample_fl().
| bool ED_space_node_get_position | ( | Main * | bmain, |
| SpaceNode * | snode, | ||
| ARegion * | region, | ||
| const int | mval[2], | ||
| float | fpos[2] ) |
Returns mouse position in image space.
Definition at line 473 of file node_view.cc.
References BKE_image_acquire_ibuf(), BKE_image_ensure_viewer(), BKE_image_release_ibuf(), ED_node_is_compositor(), SpaceNode::flag, float, IMA_TYPE_COMPOSITE, lock, SNODE_BACKDRAW, ARegion::winx, ARegion::winy, ImBuf::x, SpaceNode::xof, ImBuf::y, SpaceNode::yof, and SpaceNode::zoom.
Referenced by eyedropper_cryptomatte_sample_fl().