|
Blender V5.0
|
#include <BKE_node_tree_zones.hh>
Public Member Functions | |
| const bNode * | input_node () const |
| const bNode * | output_node () const |
| Vector< const bNode * > | child_nodes () const |
| bool | contains_node_recursively (const bNode &node) const |
| bool | contains_zone_recursively (const bNodeTreeZone &other_zone) const |
Public Attributes | |
| bNodeTreeZones * | owner = nullptr |
| int | index = -1 |
| int | depth = -1 |
| std::optional< int > | input_node_id |
| std::optional< int > | output_node_id |
| bNodeTreeZone * | parent_zone = nullptr |
| Vector< bNodeTreeZone * > | child_zones |
| Vector< int > | child_node_ids |
| Vector< const bNodeLink * > | border_links |
Friends | |
| std::ostream & | operator<< (std::ostream &stream, const bNodeTreeZone &zone) |
Definition at line 22 of file BKE_node_tree_zones.hh.
Definition at line 606 of file node_tree_zones.cc.
References blender::bke::node_ids_to_vector(), and owner.
| bool blender::bke::bNodeTreeZone::contains_node_recursively | ( | const bNode & | node | ) | const |
Definition at line 389 of file node_tree_zones.cc.
References bNode::identifier, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), owner, blender::bke::bNodeTreeZones::zone_by_node_id, and blender::bke::bNodeTreeZones::zones.
Referenced by blender::ed::space_node::find_bounds_by_zone_recursive().
| bool blender::bke::bNodeTreeZone::contains_zone_recursively | ( | const bNodeTreeZone & | other_zone | ) | const |
Definition at line 404 of file node_tree_zones.cc.
References parent_zone.
Referenced by get_node_code_gen_order(), blender::bke::bNodeTreeZones::link_between_zones_is_allowed(), and blender::bke::update_zone_border_links().
| const bNode * blender::bke::bNodeTreeZone::input_node | ( | ) | const |
Definition at line 581 of file node_tree_zones.cc.
References input_node_id, and owner.
Referenced by blender::nodes::ensure_geometry_nodes_lazy_function_graph_impl(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::bke::node_tree_reference_lifetimes::find_reference_sets(), blender::nodes::find_target_sockets_through_contexts(), blender::bke::node_tree_reference_lifetimes::get_references_coming_from_outside_zone(), blender::nodes::initialize_zone_wrapper(), operator<<, blender::bke::node_tree_reference_lifetimes::pass_left_to_right(), blender::bke::update_zone_per_node(), and blender::nodes::zone_wrapper_output_name().
| const bNode * blender::bke::bNodeTreeZone::output_node | ( | ) | const |
Definition at line 589 of file node_tree_zones.cc.
References output_node_id, and owner.
Referenced by blender::ed::space_node::compute_context_for_zone(), blender::nodes::ensure_geometry_nodes_lazy_function_graph_impl(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::bke::node_tree_reference_lifetimes::find_reference_sets(), blender::nodes::initialize_zone_wrapper(), blender::nodes::node_geo_closure_cc::node_layout_ex(), 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(), operator<<, blender::bke::node_tree_reference_lifetimes::pass_left_to_right(), blender::bke::node_tree_reference_lifetimes::pass_right_to_left(), blender::bke::node_tree_reference_lifetimes::prepare_required_data_for_closure_outputs(), blender::try_add_side_effect_node(), blender::bke::update_zone_per_node(), and blender::nodes::zone_wrapper_input_name().
|
friend |
Definition at line 627 of file node_tree_zones.cc.
References border_links, bNodeLink::fromnode, bNodeLink::fromsock, index, input_node(), bNode::name, bNodeSocket::name, output_node(), parent_zone, bNodeLink::tonode, and bNodeLink::tosock.
Links that enter the zone through the zone border and carry information. This excludes muted and unavailable links as well as links that are dangling because they are only connected to a reroute.
Definition at line 44 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::node_tree_reference_lifetimes::get_references_coming_from_outside_zone(), blender::nodes::initialize_zone_wrapper(), and operator<<.
| Vector<int> blender::bke::bNodeTreeZone::child_node_ids |
Direct children nodes excluding nodes that belong to child zones.
Definition at line 38 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::discover_tree_zones(), and blender::ed::space_node::find_bounds_by_zone_recursive().
| Vector<bNodeTreeZone *> blender::bke::bNodeTreeZone::child_zones |
Direct children zones. Does not contain recursively nested zones.
Definition at line 36 of file BKE_node_tree_zones.hh.
Referenced by blender::ed::space_node::find_bounds_by_zone_recursive(), and blender::nodes::geo_eval_log::find_tree_zone_hash_recursive().
| int blender::bke::bNodeTreeZone::depth = -1 |
Zero for top level zones, one for a nested zone, and so on.
Definition at line 28 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::update_zone_depths().
| int blender::bke::bNodeTreeZone::index = -1 |
Index of the zone in the array of all zones in a node tree.
Definition at line 26 of file BKE_node_tree_zones.hh.
Referenced by blender::ed::space_node::find_bounds_by_zone_recursive(), blender::ed::space_node::node_draw_zones_and_frames(), operator<<, and blender::bke::update_zone_per_node().
| std::optional<int> blender::bke::bNodeTreeZone::input_node_id |
Input node of the zone.
Definition at line 30 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::discover_tree_zones(), blender::ed::space_node::geo_node_get_execution_time(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::bke::node_tree_reference_lifetimes::get_zone_of_node_if_full(), input_node(), blender::ed::space_node::node_add_error_message_button(), and blender::bke::node_tree_reference_lifetimes::prepare_required_data_for_closure_outputs().
| std::optional<int> blender::bke::bNodeTreeZone::output_node_id |
Output node of the zone.
Definition at line 32 of file BKE_node_tree_zones.hh.
Referenced by blender::bke::discover_tree_zones(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::ed::space_node::geo_node_get_execution_time(), get_node_code_gen_order(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::bke::node_tree_reference_lifetimes::get_zone_of_node_if_full(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_draw_zones_and_frames(), blender::nodes::node_geo_closure_cc::node_layout_ex(), 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(), output_node(), and blender::bke::node_tree_reference_lifetimes::prepare_required_data_for_closure_outputs().
| bNodeTreeZones* blender::bke::bNodeTreeZone::owner = nullptr |
Definition at line 24 of file BKE_node_tree_zones.hh.
Referenced by child_nodes(), contains_node_recursively(), input_node(), and output_node().
| bNodeTreeZone* blender::bke::bNodeTreeZone::parent_zone = nullptr |
Direct parent of the zone. If this is null, this is a top level zone.
Definition at line 34 of file BKE_node_tree_zones.hh.
Referenced by contains_zone_recursively(), blender::ed::viewer_path::exists_geometry_nodes_viewer(), blender::nodes::find_origin_sockets_through_contexts(), blender::ed::space_node::geo_node_get_execution_time(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::bke::bNodeTreeZones::get_zones_to_enter(), blender::ed::space_node::node_add_error_message_button(), operator<<, blender::try_add_side_effect_node(), blender::bke::update_zone_border_links(), blender::bke::update_zone_depths(), and blender::bke::update_zone_per_node().