[Bf-blender-cvs] [5910dbdbf7d] master: Nodes: move some code from blenkernel directory to nodes
Jacques Lucke
noreply at git.blender.org
Fri Jul 17 11:40:25 CEST 2020
Commit: 5910dbdbf7dc7999597a680f81c261fa7bbcf011
Author: Jacques Lucke
Date: Fri Jul 17 11:36:59 2020 +0200
Branches: master
https://developer.blender.org/rB5910dbdbf7dc7999597a680f81c261fa7bbcf011
Nodes: move some code from blenkernel directory to nodes
This also introduces the `blender::nodes` namespace. Eventually,
we want to move most/all of the node implementation files into
this namespace.
The reason for this file-move is that the code fits much better
into the `nodes` directory than in the `blenkernel` directory.
===================================================================
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/CMakeLists.txt
M source/blender/blenkernel/intern/simulation.cc
M source/blender/nodes/CMakeLists.txt
R098 source/blender/blenkernel/BKE_derived_node_tree.hh source/blender/nodes/NOD_derived_node_tree.hh
R096 source/blender/blenkernel/BKE_node_tree_multi_function.hh source/blender/nodes/NOD_node_tree_multi_function.hh
R098 source/blender/blenkernel/BKE_node_tree_ref.hh source/blender/nodes/NOD_node_tree_ref.hh
M source/blender/nodes/function/node_function_util.hh
M source/blender/nodes/function/nodes/node_fn_boolean_math.cc
M source/blender/nodes/function/nodes/node_fn_combine_strings.cc
M source/blender/nodes/function/nodes/node_fn_float_compare.cc
M source/blender/nodes/function/nodes/node_fn_group_instance_id.cc
R099 source/blender/blenkernel/intern/derived_node_tree.cc source/blender/nodes/intern/derived_node_tree.cc
M source/blender/nodes/intern/node_socket.cc
R098 source/blender/blenkernel/intern/node_tree_multi_function.cc source/blender/nodes/intern/node_tree_multi_function.cc
R098 source/blender/blenkernel/intern/node_tree_ref.cc source/blender/nodes/intern/node_tree_ref.cc
M source/blender/nodes/shader/node_shader_util.h
M source/blender/nodes/shader/nodes/node_shader_map_range.cc
M source/blender/nodes/shader/nodes/node_shader_math.cc
M source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc
M source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc
M source/blender/nodes/shader/nodes/node_shader_valToRgb.cc
M source/blender/nodes/shader/nodes/node_shader_value.cc
M source/blender/nodes/shader/nodes/node_shader_vector_math.cc
===================================================================
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index acd4c75befd..1d01436c7e4 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -106,18 +106,18 @@ typedef struct bNodeSocketTemplate {
* However, achieving this requires quite a few changes currently. */
#ifdef __cplusplus
namespace blender {
-namespace bke {
+namespace nodes {
class SocketMFNetworkBuilder;
class NodeMFNetworkBuilder;
-} // namespace bke
+} // namespace nodes
namespace fn {
class MFDataType;
}
} // namespace blender
-using NodeExpandInMFNetworkFunction = void (*)(blender::bke::NodeMFNetworkBuilder &builder);
+using NodeExpandInMFNetworkFunction = void (*)(blender::nodes::NodeMFNetworkBuilder &builder);
using SocketGetMFDataTypeFunction = blender::fn::MFDataType (*)();
-using SocketExpandInMFNetworkFunction = void (*)(blender::bke::SocketMFNetworkBuilder &builder);
+using SocketExpandInMFNetworkFunction = void (*)(blender::nodes::SocketMFNetworkBuilder &builder);
#else
typedef void *NodeExpandInMFNetworkFunction;
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 46cf8e5b9b3..800fa7d18ee 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -107,7 +107,6 @@ set(SRC
intern/customdata_file.c
intern/data_transfer.c
intern/deform.c
- intern/derived_node_tree.cc
intern/displist.c
intern/displist_tangent.c
intern/dynamicpaint.c
@@ -188,8 +187,6 @@ set(SRC
intern/multires_unsubdivide.c
intern/nla.c
intern/node.c
- intern/node_tree_multi_function.cc
- intern/node_tree_ref.cc
intern/object.c
intern/object_deform.c
intern/object_dupli.c
@@ -298,7 +295,6 @@ set(SRC
BKE_customdata_file.h
BKE_data_transfer.h
BKE_deform.h
- BKE_derived_node_tree.hh
BKE_displist.h
BKE_displist_tangent.h
BKE_duplilist.h
@@ -359,8 +355,6 @@ set(SRC
BKE_multires.h
BKE_nla.h
BKE_node.h
- BKE_node_tree_multi_function.hh
- BKE_node_tree_ref.hh
BKE_object.h
BKE_object_deform.h
BKE_object_facemap.h
diff --git a/source/blender/blenkernel/intern/simulation.cc b/source/blender/blenkernel/intern/simulation.cc
index 831de084500..f38001bf69f 100644
--- a/source/blender/blenkernel/intern/simulation.cc
+++ b/source/blender/blenkernel/intern/simulation.cc
@@ -45,10 +45,10 @@
#include "BKE_lib_remap.h"
#include "BKE_main.h"
#include "BKE_node.h"
-#include "BKE_node_tree_multi_function.hh"
#include "BKE_pointcache.h"
#include "BKE_simulation.h"
+#include "NOD_node_tree_multi_function.hh"
#include "NOD_simulation.h"
#include "BLT_translation.h"
@@ -216,16 +216,19 @@ static void copy_states_to_cow(Simulation *simulation_orig, Simulation *simulati
}
static Map<const fn::MFOutputSocket *, std::string> deduplicate_attribute_nodes(
- fn::MFNetwork &network, MFNetworkTreeMap &network_map, const DerivedNodeTree &tree)
+ fn::MFNetwork &network,
+ nodes::MFNetworkTreeMap &network_map,
+ const nodes::DerivedNodeTree &tree)
{
- Span<const DNode *> attribute_dnodes = tree.nodes_by_type("SimulationNodeParticleAttribute");
+ Span<const nodes::DNode *> attribute_dnodes = tree.nodes_by_type(
+ "SimulationNodeParticleAttribute");
uint amount = attribute_dnodes.size();
if (amount == 0) {
return {};
}
Vector<fn::MFInputSocket *> name_sockets;
- for (const DNode *dnode : attribute_dnodes) {
+ for (const nodes::DNode *dnode : attribute_dnodes) {
fn::MFInputSocket &name_socket = network_map.lookup_dummy(dnode->input(0));
name_sockets.append(&name_socket);
}
@@ -309,10 +312,10 @@ class CustomDataAttributesRef {
}
};
-static std::string dnode_to_path(const DNode &dnode)
+static std::string dnode_to_path(const nodes::DNode &dnode)
{
std::string path;
- for (const DParentNode *parent = dnode.parent(); parent; parent = parent->parent()) {
+ for (const nodes::DParentNode *parent = dnode.parent(); parent; parent = parent->parent()) {
path = parent->node_ref().name() + "/" + path;
}
path = path + dnode.name();
@@ -373,10 +376,10 @@ static void add_missing_particle_states(Simulation *simulation, Span<std::string
}
static void reinitialize_empty_simulation_states(Simulation *simulation,
- const DerivedNodeTree &tree)
+ const nodes::DerivedNodeTree &tree)
{
VectorSet<std::string> state_names;
- for (const DNode *dnode : tree.nodes_by_type("SimulationNodeParticleSimulation")) {
+ for (const nodes::DNode *dnode : tree.nodes_by_type("SimulationNodeParticleSimulation")) {
state_names.add(dnode_to_path(*dnode));
}
@@ -385,10 +388,11 @@ static void reinitialize_empty_simulation_states(Simulation *simulation,
add_missing_particle_states(simulation, state_names);
}
-static void update_simulation_state_list(Simulation *simulation, const DerivedNodeTree &tree)
+static void update_simulation_state_list(Simulation *simulation,
+ const nodes::DerivedNodeTree &tree)
{
VectorSet<std::string> state_names;
- for (const DNode *dnode : tree.nodes_by_type("SimulationNodeParticleSimulation")) {
+ for (const nodes::DNode *dnode : tree.nodes_by_type("SimulationNodeParticleSimulation")) {
state_names.add(dnode_to_path(*dnode));
}
@@ -672,14 +676,15 @@ class ParticleFunctionForce : public ParticleForce {
};
static Vector<const ParticleForce *> create_forces_for_particle_simulation(
- const DNode &simulation_node,
- MFNetworkTreeMap &network_map,
+ const nodes::DNode &simulation_node,
+ nodes::MFNetworkTreeMap &network_map,
ResourceCollector &resources,
const Map<const fn::MFOutputSocket *, std::string> &attribute_inputs)
{
Vector<const ParticleForce *> forces;
- for (const DOutputSocket *origin_socket : simulation_node.input(2, "Forces").linked_sockets()) {
- const DNode &origin_node = origin_socket->node();
+ for (const nodes::DOutputSocket *origin_socket :
+ simulation_node.input(2, "Forces").linked_sockets()) {
+ const nodes::DNode &origin_node = origin_socket->node();
if (origin_node.idname() != "SimulationNodeForce") {
continue;
}
@@ -701,12 +706,13 @@ static Vector<const ParticleForce *> create_forces_for_particle_simulation(
}
static Map<std::string, Vector<const ParticleForce *>> collect_forces(
- MFNetworkTreeMap &network_map,
+ nodes::MFNetworkTreeMap &network_map,
ResourceCollector &resources,
const Map<const fn::MFOutputSocket *, std::string> &attribute_inputs)
{
Map<std::string, Vector<const ParticleForce *>> forces_by_simulation;
- for (const DNode *dnode : network_map.tree().nodes_by_type("SimulationNodeParticleSimulation")) {
+ for (const nodes::DNode *dnode :
+ network_map.tree().nodes_by_type("SimulationNodeParticleSimulation")) {
std::string name = dnode_to_path(*dnode);
Vector<const ParticleForce *> forces = create_forces_for_particle_simulation(
*dnode, network_map, resources, attribute_inputs);
@@ -729,12 +735,12 @@ static void simulation_data_update(Depsgraph *depsgraph, Scene *scene, Simulatio
Simulation *simulation_orig = (Simulation *)DEG_get_original_id(&simulation_cow->id);
- NodeTreeRefMap tree_refs;
+ nodes::NodeTreeRefMap tree_refs;
/* TODO: Use simulation_cow, but need to add depsgraph relations before that. */
- const DerivedNodeTree tree{simulation_orig->nodetree, tree_refs};
+ const nodes::DerivedNodeTree tree{simulation_orig->nodetree, tree_refs};
fn::MFNetwork network;
ResourceCollector resources;
- MFNetworkTreeMap network_map = insert_node_tree_into_mf_network(network, tree, resources);
+ nodes::MFNetworkTreeMap network_map = insert_node_tree_into_mf_network(network, tree, resources);
Map<const fn::MFOutputSocket *, std::string> attribute_inputs = deduplicate_attribute_nodes(
network, network_map, tree);
fn::mf_network_optimization::constant_folding(network, resources);
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index f644cdc134a..bb2541fd7a6 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -273,9 +273,12 @@ set(SRC
texture/node_texture_tree.c
texture/node_texture_util.c
+ intern/derived_node_tree.cc
intern/node_common.c
intern/node_exec.c
intern/node_socket.cc
+ intern/node_tree_multi_function.cc
+ intern/node_tree_ref.cc
intern/node_util.c
composite/node_composite_util.h
@@ -286,7 +289,10 @@ set(SRC
NOD_common.h
NOD_composite.h
+ NOD_derived_node_tree.hh
NOD_function.h
+ NOD_node_tree_multi_function.hh
+ NOD_node_tree_ref.hh
NOD_shader.h
NOD_simulation.h
NOD_socket.h
diff --git a/source/blender/blenkernel/BKE_derived_node_tree.hh b/source/blender/nodes/NOD_derived_node_tree.hh
similarity index 98%
rename from source/blender/blenkernel/BKE_derived_node_tree.hh
rename to source/blender/nodes/NOD_derived_node_tree.hh
index 083057835a5..24144496c92 100644
--- a/source/blender/blenkernel/BKE_derived_node_tree.hh
+++ b/source/blender/nodes/NOD_derived_node_tree.hh
@@ -14,11 +14,11 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#ifndef __BKE_DERIVED_NODE_TREE_HH__
-#define __BKE_DERIVED_NODE_TREE_HH__
+#ifndef __NOD_DERIVED_NODE_TREE_HH__
+#define __NOD_DERIVED_NODE_TREE_HH__
/** \file
- * \ingroup bke
+ * \ingroup nodes
*
* DerivedNodeTree provides a flattened view on a bNodeTree, i.e. node groups are inlined. It
* builds on top of NodeTreeRef and supports similar queries efficiently.
@@ -30,9 +30,9 @@
* There is a dot graph exporter for debugging purposes.
*/
-#include "BKE_node_tree_ref.hh"
+#include "NOD_node_tree_ref.hh"
-namespace blender::bke {
+namespace blender::nodes {
class DSocket;
class DInputSocket;
@@ -512,6 +512,6 @@ inline Span<const DGroupInput *> DerivedNodeTree::group_inputs() const
return group_inputs_;
}
-} // namespace blender::bke
+} // namespace blender::nodes
-#endif /* __BKE_DERIVED_NODE_TREE_HH__ */
+#endif /* __NOD_DERIVED_NODE_TREE_
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list