|
Blender V4.3
|
#include <BKE_node_tree_zones.hh>
Public Member Functions | |
| const bNodeTreeZone * | get_zone_by_socket (const bNodeSocket &socket) const |
| const bNodeTreeZone * | get_zone_by_node (const int32_t node_id) const |
| Vector< const bNodeTreeZone * > | get_zone_stack_for_node (const int32_t node_id) const |
Public Attributes | |
| Vector< std::unique_ptr< bNodeTreeZone > > | zones |
| Vector< bNodeTreeZone * > | root_zones |
| Vector< const bNode * > | nodes_outside_zones |
| Map< int, int > | zone_by_node_id |
Friends | |
| std::ostream & | operator<< (std::ostream &stream, const bNodeTreeZones &zones) |
Definition at line 51 of file BKE_node_tree_zones.hh.
| const bNodeTreeZone * blender::bke::bNodeTreeZones::get_zone_by_node | ( | const int32_t | node_id | ) | const |
Get the deepest zone that the node is in. Note that the e.g. Simulation Input and Output nodes are considered to be inside of the zone they create.
Definition at line 412 of file node_tree_zones.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), zone_by_node_id, and zones.
Referenced by blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), blender::ed::viewer_path::exists_geometry_nodes_viewer(), blender::find_side_effect_nodes_for_nested_node(), blender::nodes::gizmos::foreach_gizmo_for_input(), blender::ed::space_node::geo_node_get_execution_time(), blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::ed::space_node::get_attribute_info_from_context(), get_zone_by_socket(), get_zone_stack_for_node(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_get_accessed_attributes_row(), blender::ed::space_node::node_get_extra_info(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), and blender::try_add_side_effect_node().
| const bNodeTreeZone * blender::bke::bNodeTreeZones::get_zone_by_socket | ( | const bNodeSocket & | socket | ) | const |
Get the deepest zone that a socket is in. Note that the inputs of a Simulation Input node are in a different zone than its output sockets.
Definition at line 392 of file node_tree_zones.cc.
References get_zone_by_node(), and bNode::identifier.
Referenced by blender::ed::space_node::geo_tree_log_for_socket(), and blender::bke::update_zone_border_links().
| Vector< const bNodeTreeZone * > blender::bke::bNodeTreeZones::get_zone_stack_for_node | ( | const int32_t | node_id | ) | const |
Get a sorted list of zones that the node is in. First comes the root zone and last the most nested zone. For nodes that are at the root level, the returned list is empty.
Definition at line 421 of file node_tree_zones.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::Vector< T, InlineBufferCapacity, Allocator >::end(), and get_zone_by_node().
Referenced by blender::ed::space_node::push_compute_context_for_tree_path(), and blender::ed::viewer_path::viewer_path_for_geometry_node().
|
friend |
Definition at line 527 of file node_tree_zones.cc.
Definition at line 55 of file BKE_node_tree_zones.hh.
| Vector<bNodeTreeZone *> blender::bke::bNodeTreeZones::root_zones |
Definition at line 54 of file BKE_node_tree_zones.hh.
Referenced by blender::nodes::geo_eval_log::GeoModifierLog::get_context_hash_by_zone_for_node_editor().
Zone index by node. Nodes that are in no zone, are not included. Nodes that are at the border of a zone (e.g. Simulation Input) are mapped to the zone they create.
Definition at line 60 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::bNodeTreeZone::contains_node_recursively(), and get_zone_by_node().
| Vector<std::unique_ptr<bNodeTreeZone> > blender::bke::bNodeTreeZones::zones |
Definition at line 53 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages(), blender::bke::bNodeTreeZone::contains_node_recursively(), blender::nodes::ensure_geometry_nodes_lazy_function_graph(), blender::find_side_effect_nodes_for_nested_node(), blender::nodes::gizmos::foreach_gizmo_for_input(), blender::ed::space_node::get_attribute_info_from_context(), get_zone_by_node(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_get_accessed_attributes_row(), blender::ed::space_node::node_get_extra_info(), blender::ed::space_node::push_compute_context_for_tree_path(), and blender::ed::viewer_path::viewer_path_for_geometry_node().