|
Blender V5.0
|
|
static |
Definition at line 610 of file node_relationships.cc.
References bNode::flag, is_viewer_socket(), NODE_DO_OUTPUT, blender::ed::space_node::node_to_view(), SOCK_GEOMETRY, socket_can_be_viewed(), and bNodeSocket::type.
Referenced by node_link_viewer().
|
static |
Definition at line 476 of file node_relationships.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), BLI_strdup(), i, IFACE_, NodeGeometryViewer::items, MEM_SAFE_FREE, blender::dna::array::move_index(), SOCK_GEOMETRY, NodeGeometryViewerItem::socket_type, and bNode::storage.
Referenced by node_link_viewer_get_socket().
|
static |
Definition at line 448 of file node_relationships.cc.
References blender::nodes::socket_items::add_item_with_socket_type_and_name(), BLI_assert, i, blender::dna::array::move_index(), SOCK_GEOMETRY, NodeGeometryViewerItem::socket_type, bNode::storage, and tree.
Referenced by node_link_viewer_get_socket().
|
static |
Definition at line 687 of file node_relationships.cc.
References blender::ed::viewer_path::activate_geometry_node(), BKE_main_ensure_invariants(), BKE_ntree_update_tag_active_output_changed(), BLI_assert, C, CTX_data_main(), SpaceNode::edittree, blender::nodes::socket_items::find_item_by_identifier(), bNode::flag, bNodeLink::flag, bNodeTree::id, bNodeSocket::identifier, NodeGeometryViewerItem::identifier, NODE_DO_OUTPUT, NODE_LINK_MUTED, NODE_MUTED, SpaceNode::nodetree, NTREE_COMPOSIT, NTREE_GEOMETRY, remove_links_to_unavailable_viewer_sockets(), bNodeLink::tosock, and bNodeTree::type.
Referenced by view_socket().
|
static |
Definition at line 722 of file node_relationships.cc.
References BLI_rctf_isect(), blender::Span< T >::contains(), and tree.
Referenced by position_viewer_node().
|
static |
Definition at line 593 of file node_relationships.cc.
References C, CMP_NODE_VIEWER, CTX_wm_space_node(), ED_node_is_compositor(), and GEO_NODE_VIEWER.
Referenced by view_socket().
|
static |
Builds a list of possible locations for the viewer node that follows some search pattern where positions closer to the initial position come first.
Definition at line 744 of file node_relationships.cc.
References angle(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), arc_length(), ceilf, distance(), float, i, and M_PI.
Referenced by position_viewer_node().
|
static |
Definition at line 520 of file node_relationships.cc.
References IFACE_, bNodeSocket::name, and bNodeSocket::typeinfo.
Referenced by node_link_viewer_get_socket().
|
static |
Definition at line 570 of file node_relationships.cc.
References CMP_NODE_VIEWER, ELEM, GEO_NODE_VIEWER, and bNode::type_legacy.
Referenced by is_viewer_socket(), is_viewer_socket_in_viewer(), and view_socket().
|
static |
Definition at line 585 of file node_relationships.cc.
References is_viewer_node(), and is_viewer_socket_in_viewer().
Referenced by determine_socket_to_view(), and view_socket().
|
static |
Definition at line 575 of file node_relationships.cc.
References BLI_assert, GEO_NODE_VIEWER, is_viewer_node(), and bNode::typeinfo.
Referenced by is_viewer_socket().
|
static |
Definition at line 928 of file node_relationships.cc.
References C, CTX_wm_space_node(), determine_socket_to_view(), SpaceNode::edittree, OPERATOR_CANCELLED, and view_socket().
Referenced by blender::ed::space_node::node_active_link_viewer_exec().
|
static |
Find the socket to link to in a viewer node.
Definition at line 535 of file node_relationships.cc.
References BLI_findlink(), ensure_geometry_nodes_viewer_has_non_geometry_socket(), ensure_geometry_nodes_viewer_starts_with_geometry_socket(), ListBase::first, NodeGeometryViewerItem::flag, GEO_NODE_VIEWER, get_viewer_source_name(), bNode::inputs, name, NODE_GEO_VIEWER_ITEM_FLAG_AUTO_REMOVE, blender::nodes::socket_items::set_item_name_and_make_unique(), SOCK_GEOMETRY, bNode::storage, blender::nodes::GeoViewerItemsAccessor::supports_socket_type(), bNodeSocket::type, bNodeTree::type, bNode::type_legacy, bNodeSocket::typeinfo, and blender::nodes::update_node_declaration_and_sockets().
Referenced by view_socket().
|
static |
Positions the viewer node so that it is slightly to the right and top of the node to view. The algorithm tries to avoid moving the viewer to a place where it would overlap with other nodes. For that it iterates over many possible locations with increasing distance to the node to view.
Definition at line 771 of file node_relationships.cc.
References BKE_area_find_region_type(), BLI_rctf_inside_rctf(), BLI_rctf_pad(), BLI_rctf_size_x(), BLI_rctf_size_y(), C, CTX_wm_area(), CTX_wm_region(), find_overlapping_node(), get_viewer_node_position_candidates(), bNode::location, blender::ed::space_node::node_to_view(), bNode::parent, RGN_TYPE_UI, bNode::runtime, tree, blender::ed::space_node::tree_draw_order_update(), U, bNode::ui_order, UI_SCALE_FAC, UI_view2d_region_to_view_rctf(), USER_REGION_OVERLAP, ARegion::v2d, bNode::width, ARegion::winx, ARegion::winy, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by view_socket().
|
static |
Definition at line 599 of file node_relationships.cc.
References bNodeTree::links, LISTBASE_FOREACH_MUTABLE, blender::bke::node_remove_link(), and SOCK_UNAVAIL.
Referenced by finalize_viewer_link().
|
static |
Definition at line 437 of file node_relationships.cc.
References bNodeSocket::idname, and STREQ.
Referenced by determine_socket_to_view().
|
static |
Definition at line 857 of file node_relationships.cc.
References blender::ed::space_node::add_static_node(), BKE_ntree_update_tag_link_changed(), C, ELEM, finalize_viewer_link(), bNodeSocket::flag, bNodeLink::fromnode, bNodeLink::fromsock, get_default_viewer_type(), is_viewer_node(), is_viewer_socket(), bNodeTree::links, LISTBASE_FOREACH_MUTABLE, blender::bke::node_add_link(), NODE_DO_OUTPUT, node_link_viewer_get_socket(), NODE_VIEWER_SHORTCUT_NONE, OPERATOR_CANCELLED, OPERATOR_FINISHED, position_viewer_node(), bNodeSocket::runtime, SOCK_HIDDEN, and UI_SCALE_FAC.
Referenced by node_link_viewer().