Blender Git Loki
Git Commits -> Revision e1cc9aa
Revision e1cc9aa by Jacques Lucke (master) June 9, 2020, 15:08 (GMT) |
Nodes: efficient node tree queries and inlining This adds two data structures that wrap a node tree. However, they work on different abstraction levels. `NodeTreeRef` is an immutable structure that makes working with a node tree in C++ much more efficient and convenient. It supports various queries efficiently, that are not easily possible using just `bNodeTree`. `DerivedNodeTree` builds on top of `NodeTreeRef`. It contains a flattened view on the node tree, i.e. with node groups being inlined. Every inlined node still knows its "call stack". It supports pretty much the same queries as `NodeTreeRef`. Both data structures come with a dot graph exporter for debugging purposes. Reviewers: brecht Differential Revision: https://developer.blender.org/D7628 |
Commit Details:
Full Hash: e1cc9aa7f2813004cad34a580e2faa1b7ca21db1
Parent Commit: b37fca6
Lines Changed: +1525, -0
4 Added Paths:
/source/blender/blenkernel/BKE_derived_node_tree.hh (+453, -0) (View)
/source/blender/blenkernel/BKE_node_tree_ref.hh (+448, -0) (View)
/source/blender/blenkernel/intern/derived_node_tree.cc (+442, -0) (View)
/source/blender/blenkernel/intern/node_tree_ref.cc (+178, -0) (View)
/source/blender/blenkernel/BKE_node_tree_ref.hh (+448, -0) (View)
/source/blender/blenkernel/intern/derived_node_tree.cc (+442, -0) (View)
/source/blender/blenkernel/intern/node_tree_ref.cc (+178, -0) (View)
1 Modified Path:
/source/blender/blenkernel/CMakeLists.txt (+4, -0) (Diff)