[Bf-blender-cvs] [385e61a122c] functions: cleanup VTreeDataGraph creation
Jacques Lucke
noreply at git.blender.org
Wed Jul 31 18:45:15 CEST 2019
Commit: 385e61a122cfe9f9b0922070b2506d509dc64e4c
Author: Jacques Lucke
Date: Wed Jul 31 17:28:48 2019 +0200
Branches: functions
https://developer.blender.org/rB385e61a122cfe9f9b0922070b2506d509dc64e4c
cleanup VTreeDataGraph creation
===================================================================
M source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
M source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
M source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
M source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
M source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
===================================================================
diff --git a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
index 4abe2d1d62e..0c6801a706d 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
@@ -87,19 +87,6 @@ static void insert_unlinked_inputs(VTreeDataGraphBuilder &builder,
}
}
-static Map<VirtualSocket *, DFGraphSocket> build_mapping_for_original_sockets(
- Map<VirtualSocket *, DFGB_Socket> &socket_map,
- DataFlowGraph::ToBuilderMapping &builder_mapping)
-{
- Map<VirtualSocket *, DFGraphSocket> original_socket_mapping;
- for (auto item : socket_map.items()) {
- VirtualSocket *vsocket = item.key;
- DFGraphSocket socket = builder_mapping.map_socket(item.value);
- original_socket_mapping.add_new(vsocket, socket);
- }
- return original_socket_mapping;
-}
-
class BasicUnlinkedInputsHandler : public UnlinkedInputsHandler {
private:
GraphInserters &m_inserters;
@@ -131,13 +118,9 @@ ValueOrError<VTreeDataGraph> generate_graph(VirtualNodeTree &vtree)
}
BasicUnlinkedInputsHandler unlinked_inputs_handler(inserters);
-
insert_unlinked_inputs(builder, unlinked_inputs_handler);
- auto build_result = builder.build();
- return VTreeDataGraph(
- std::move(build_result.graph),
- build_mapping_for_original_sockets(builder.socket_map(), build_result.mapping));
+ return builder.build();
}
} // namespace DataFlowNodes
diff --git a/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp b/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
index 99603c1c075..60f5b66a57e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
@@ -1,10 +1,5 @@
#pragma once
-#include "FN_core.hpp"
-#include "BLI_value_or_error.hpp"
-#include "BKE_node_tree.hpp"
-
-#include "vtree_data_graph.hpp"
#include "vtree_data_graph_builder.hpp"
namespace FN {
@@ -17,23 +12,6 @@ class UnlinkedInputsHandler {
ArrayRef<DFGB_Socket> r_new_origins) = 0;
};
-class VNodePlaceholderBody : public FunctionBody {
- private:
- VirtualNode *m_vnode;
-
- public:
- static const uint FUNCTION_BODY_ID = 4;
-
- VNodePlaceholderBody(VirtualNode *vnode) : m_vnode(vnode)
- {
- }
-
- VirtualNode *vnode()
- {
- return m_vnode;
- }
-};
-
ValueOrError<VTreeDataGraph> generate_graph(VirtualNodeTree &vtree);
} // namespace DataFlowNodes
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
index 40662448599..3e335f19d2e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
@@ -2,6 +2,7 @@
#include "FN_core.hpp"
#include "BKE_node_tree.hpp"
+#include "BLI_value_or_error.hpp"
namespace FN {
namespace DataFlowNodes {
@@ -60,5 +61,22 @@ class VTreeDataGraph {
VirtualSocket *find_data_output(VirtualNode *vnode, uint index);
};
+class VNodePlaceholderBody : public FunctionBody {
+ private:
+ VirtualNode *m_vnode;
+
+ public:
+ static const uint FUNCTION_BODY_ID = 4;
+
+ VNodePlaceholderBody(VirtualNode *vnode) : m_vnode(vnode)
+ {
+ }
+
+ VirtualNode *vnode()
+ {
+ return m_vnode;
+ }
+};
+
} // namespace DataFlowNodes
} // namespace FN
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
index d85a9d5f547..c909dadb05e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
@@ -34,9 +34,24 @@ VTreeDataGraphBuilder::VTreeDataGraphBuilder(VirtualNodeTree &vtree)
{
}
-DataFlowGraph::BuildResult VTreeDataGraphBuilder::build()
+static Map<VirtualSocket *, DFGraphSocket> build_mapping_for_original_sockets(
+ Map<VirtualSocket *, DFGB_Socket> &socket_map,
+ DataFlowGraph::ToBuilderMapping &builder_mapping)
{
- return DataFlowGraph::FromBuilder(m_graph_builder);
+ Map<VirtualSocket *, DFGraphSocket> original_socket_mapping;
+ for (auto item : socket_map.items()) {
+ VirtualSocket *vsocket = item.key;
+ DFGraphSocket socket = builder_mapping.map_socket(item.value);
+ original_socket_mapping.add_new(vsocket, socket);
+ }
+ return original_socket_mapping;
+}
+
+VTreeDataGraph VTreeDataGraphBuilder::build()
+{
+ auto build_result = DataFlowGraph::FromBuilder(m_graph_builder);
+ return VTreeDataGraph(std::move(build_result.graph),
+ build_mapping_for_original_sockets(m_socket_map, build_result.mapping));
}
class NodeSource : public SourceInfo {
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
index 0442b2d7917..7a371f2bd2b 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
@@ -4,6 +4,8 @@
#include "BKE_node_tree.hpp"
#include "BLI_string_map.hpp"
+#include "vtree_data_graph.hpp"
+
struct ID;
struct PointerRNA;
@@ -25,7 +27,7 @@ class VTreeDataGraphBuilder {
public:
VTreeDataGraphBuilder(VirtualNodeTree &vtree);
- DataFlowGraph::BuildResult build();
+ VTreeDataGraph build();
Map<VirtualSocket *, DFGB_Socket> &socket_map()
{
More information about the Bf-blender-cvs
mailing list