Blender
V3.3
|
#include "BLI_array.hh"
#include "BLI_function_ref.hh"
#include "BLI_linear_allocator.hh"
#include "BLI_map.hh"
#include "BLI_multi_value_map.hh"
#include "BLI_string_ref.hh"
#include "BLI_timeit.hh"
#include "BLI_utility_mixins.hh"
#include "BLI_vector.hh"
#include "BKE_node.h"
#include "BKE_node_runtime.hh"
#include "DNA_node_types.h"
#include "RNA_access.h"
Go to the source code of this file.
Classes | |
class | blender::nodes::SocketRef |
class | blender::nodes::InputSocketRef |
class | blender::nodes::OutputSocketRef |
class | blender::nodes::NodeRef |
class | blender::nodes::LinkRef |
class | blender::nodes::InternalLinkRef |
class | blender::nodes::NodeTreeRef |
struct | blender::nodes::NodeTreeRef::ToposortResult |
Namespaces | |
blender | |
blender::nodes | |
blender::nodes::node_tree_ref_types | |
Typedefs | |
using | blender::nodes::SocketIndexByIdentifierMap = Map< std::string, int > |
using | blender::nodes::NodeTreeRefMap = Map< bNodeTree *, std::unique_ptr< const NodeTreeRef > > |
Functions | |
const NodeTreeRef & | blender::nodes::get_tree_ref_from_map (NodeTreeRefMap &node_tree_refs, bNodeTree &btree) |
NodeTreeRef makes querying information about a bNodeTree more efficient. It is an immutable data structure. It should not be used after anymore, after the underlying node tree changed.
The following queries are supported efficiently:
Every socket has an id. The id-space is shared between input and output sockets. When storing data per socket, it is often better to use the id as index into an array, instead of a hash table.
Every node has an id as well. The same rule regarding hash tables applies.
There is an utility to export this data structure as graph in dot format.
Definition in file NOD_node_tree_ref.hh.