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(), bNode::identifier, blender::bke::bNodeTreeZone::input_node, blender::bke::bNodeTreeZone::output_node, and blender::bke::bNodeTreeZone::parent_zone.

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

◆ operator<<

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

Definition at line 527 of file node_tree_zones.cc.

References zones.

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: