|
Blender V5.0
|
#include <BKE_node_tree_zones.hh>
Public Member Functions | |
| Vector< const bNode * > | nodes_outside_zones () const |
| const bNodeTreeZone * | get_zone_by_socket (const bNodeSocket &socket) const |
| const bNodeTreeZone * | get_zone_by_node (const int32_t node_id) const |
| bool | link_between_zones_is_allowed (const bNodeTreeZone *from_zone, const bNodeTreeZone *to_zone) const |
| bool | link_between_sockets_is_allowed (const bNodeSocket &from, const bNodeSocket &to) const |
| Vector< const bNodeTreeZone * > | get_zones_to_enter (const bNodeTreeZone *outer_zone, const bNodeTreeZone *inner_zone) const |
| Vector< const bNodeTreeZone * > | get_zones_to_enter_from_root (const bNodeTreeZone *zone) const |
Public Attributes | |
| const bNodeTree * | tree = nullptr |
| Vector< std::unique_ptr< bNodeTreeZone > > | zones_ptrs |
| Vector< bNodeTreeZone * > | zones |
| Vector< bNodeTreeZone * > | root_zones |
| Vector< int > | node_ids_outside_zones |
| Map< int, int > | zone_by_node_id |
Friends | |
| std::ostream & | operator<< (std::ostream &stream, const bNodeTreeZones &zones) |
Definition at line 56 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 434 of file node_tree_zones.cc.
| 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 414 of file node_tree_zones.cc.
| Vector< const bNodeTreeZone * > blender::bke::bNodeTreeZones::get_zones_to_enter | ( | const bNodeTreeZone * | outer_zone, |
| const bNodeTreeZone * | inner_zone ) const |
Get the ordered list of zones that a link going from an outer to an inner zone has to enter.
Definition at line 471 of file node_tree_zones.cc.
| Vector< const bNodeTreeZone * > blender::bke::bNodeTreeZones::get_zones_to_enter_from_root | ( | const bNodeTreeZone * | zone | ) | const |
Same as get_zones_to_enter but starts at the top level of the node tree.
Definition at line 483 of file node_tree_zones.cc.
| bool blender::bke::bNodeTreeZones::link_between_sockets_is_allowed | ( | const bNodeSocket & | from, |
| const bNodeSocket & | to ) const |
Check if a link between the given sockets is allowed. It's not allowed if link would go from an inner zone to an outer zone.
Definition at line 461 of file node_tree_zones.cc.
| bool blender::bke::bNodeTreeZones::link_between_zones_is_allowed | ( | const bNodeTreeZone * | from_zone, |
| const bNodeTreeZone * | to_zone ) const |
Check if a link from the first zone to a socket in the second zone is allowed. Either zone input may also be null which represents the root tree outside of any zone. Generally, a link can only go into zones, but not out of zones.
Definition at line 443 of file node_tree_zones.cc.
| Vector< const bNode * > blender::bke::bNodeTreeZones::nodes_outside_zones | ( | ) | const |
Definition at line 611 of file node_tree_zones.cc.
|
friend |
Definition at line 616 of file node_tree_zones.cc.
Definition at line 63 of file BKE_node_tree_zones.hh.
Definition at line 62 of file BKE_node_tree_zones.hh.
Definition at line 58 of file BKE_node_tree_zones.hh.
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 68 of file BKE_node_tree_zones.hh.
Same as zones_ptrs, but usually easier to iterate over.
Definition at line 61 of file BKE_node_tree_zones.hh.
| Vector<std::unique_ptr<bNodeTreeZone> > blender::bke::bNodeTreeZones::zones_ptrs |
Definition at line 59 of file BKE_node_tree_zones.hh.