Blender V4.3
blender::bke::bNodeTreeZones Class Reference

#include <BKE_node_tree_zones.hh>

Public Member Functions

const bNodeTreeZoneget_zone_by_socket (const bNodeSocket &socket) const
 
const bNodeTreeZoneget_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, intzone_by_node_id
 

Friends

std::ostream & operator<< (std::ostream &stream, const bNodeTreeZones &zones)
 

Detailed Description

Definition at line 51 of file BKE_node_tree_zones.hh.

Member Function Documentation

◆ get_zone_by_node()

◆ get_zone_by_socket()

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().

◆ get_zone_stack_for_node()

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().

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const bNodeTreeZones & zones )
friend

Definition at line 527 of file node_tree_zones.cc.

Member Data Documentation

◆ nodes_outside_zones

Vector<const bNode *> blender::bke::bNodeTreeZones::nodes_outside_zones

Definition at line 55 of file BKE_node_tree_zones.hh.

◆ root_zones

Vector<bNodeTreeZone *> blender::bke::bNodeTreeZones::root_zones

◆ zone_by_node_id

Map<int, int> blender::bke::bNodeTreeZones::zone_by_node_id

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().

◆ zones


The documentation for this class was generated from the following files: