[Bf-blender-cvs] [011e88d03c3] functions: convert linked list to array for further processing
Jacques Lucke
noreply at git.blender.org
Wed Jul 3 19:14:05 CEST 2019
Commit: 011e88d03c338a59f6e87a40e53d1c8244bb23e7
Author: Jacques Lucke
Date: Wed Jul 3 15:57:56 2019 +0200
Branches: functions
https://developer.blender.org/rB011e88d03c338a59f6e87a40e53d1c8244bb23e7
convert linked list to array for further processing
===================================================================
M source/blender/blenkernel/BKE_node_tree.hpp
M source/blender/blenkernel/intern/node_tree.cpp
===================================================================
diff --git a/source/blender/blenkernel/BKE_node_tree.hpp b/source/blender/blenkernel/BKE_node_tree.hpp
index 820e316631b..9268cd957c1 100644
--- a/source/blender/blenkernel/BKE_node_tree.hpp
+++ b/source/blender/blenkernel/BKE_node_tree.hpp
@@ -45,6 +45,7 @@ class NodeTreeQuery {
bNodeSocket *try_find_single_origin(bNodeSocket *bsocket) const;
SmallVector<bNode *> m_nodes;
+ SmallVector<bNodeLink *> m_links;
SmallMap<bNodeSocket *, bNode *> m_node_by_socket;
MultiMap<bNodeSocket *, bNodeSocket *> m_direct_links;
SmallVector<SingleOriginLink> m_single_origin_links;
diff --git a/source/blender/blenkernel/intern/node_tree.cpp b/source/blender/blenkernel/intern/node_tree.cpp
index 6d47f81263e..9ce2d7f6539 100644
--- a/source/blender/blenkernel/intern/node_tree.cpp
+++ b/source/blender/blenkernel/intern/node_tree.cpp
@@ -2,7 +2,8 @@
namespace BKE {
-NodeTreeQuery::NodeTreeQuery(bNodeTree *btree) : m_nodes(btree->nodes, true)
+NodeTreeQuery::NodeTreeQuery(bNodeTree *btree)
+ : m_nodes(btree->nodes, true), m_links(btree->links, true)
{
for (bNode *bnode : m_nodes) {
for (bNodeSocket *bsocket : bSocketList(&bnode->inputs)) {
@@ -13,12 +14,12 @@ NodeTreeQuery::NodeTreeQuery(bNodeTree *btree) : m_nodes(btree->nodes, true)
}
}
- for (bNodeLink *blink : bLinkList(&btree->links)) {
+ for (bNodeLink *blink : m_links) {
m_direct_links.add(blink->tosock, blink->fromsock);
m_direct_links.add(blink->fromsock, blink->tosock);
}
- for (bNodeLink *blink : bLinkList(&btree->links)) {
+ for (bNodeLink *blink : m_links) {
bNodeSocket *target = blink->tosock;
bNode *target_node = blink->tonode;
if (this->is_reroute(target_node)) {
More information about the Bf-blender-cvs
mailing list