Blender V4.3
BKE_node_tree_zones.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11#include <iosfwd>
12
13#include "DNA_node_types.h"
14
15#include "BLI_vector.hh"
16
17namespace blender::bke {
18
19class bNodeTreeZones;
20
22 public:
25 int index = -1;
27 int depth = -1;
29 const bNode *input_node = nullptr;
31 const bNode *output_node = nullptr;
44
45 bool contains_node_recursively(const bNode &node) const;
46 bool contains_zone_recursively(const bNodeTreeZone &other_zone) const;
47
48 friend std::ostream &operator<<(std::ostream &stream, const bNodeTreeZone &zone);
49};
50
82
84
85} // namespace blender::bke
86
87inline const blender::bke::bNodeTreeZones *bNodeTree::zones() const
88{
89 return blender::bke::get_tree_zones(*this);
90}
bool contains_zone_recursively(const bNodeTreeZone &other_zone) const
friend std::ostream & operator<<(std::ostream &stream, const bNodeTreeZone &zone)
Vector< const bNodeLink * > border_links
bool contains_node_recursively(const bNode &node) const
Vector< bNodeTreeZone * > child_zones
Vector< const bNode * > child_nodes
Vector< const bNodeTreeZone * > get_zone_stack_for_node(const int32_t node_id) const
Vector< bNodeTreeZone * > root_zones
const bNodeTreeZone * get_zone_by_node(const int32_t node_id) const
Vector< std::unique_ptr< bNodeTreeZone > > zones
friend std::ostream & operator<<(std::ostream &stream, const bNodeTreeZones &zones)
Vector< const bNode * > nodes_outside_zones
const bNodeTreeZone * get_zone_by_socket(const bNodeSocket &socket) const
KDTree_3d * tree
const bNodeTreeZones * get_tree_zones(const bNodeTree &tree)
signed int int32_t
Definition stdint.h:77