Blender V4.3
blender::nodes::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()

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.

◆ 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.

◆ 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.

◆ 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

Definition at line 54 of file BKE_node_tree_zones.hh.

◆ 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.

◆ zones

Vector<std::unique_ptr<bNodeTreeZone> > blender::bke::bNodeTreeZones::zones

Definition at line 53 of file BKE_node_tree_zones.hh.


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