[Bf-blender-cvs] [3dfbbf606e6] functions: cleanup accessing node names

Jacques Lucke noreply at git.blender.org
Mon Jul 22 18:13:14 CEST 2019


Commit: 3dfbbf606e668edfa695f46dab83aec0e9db1ad8
Author: Jacques Lucke
Date:   Mon Jul 22 16:40:29 2019 +0200
Branches: functions
https://developer.blender.org/rB3dfbbf606e668edfa695f46dab83aec0e9db1ad8

cleanup accessing node names

===================================================================

M	source/blender/blenkernel/BKE_node_tree.hpp
M	source/blender/functions/frontends/data_flow_nodes/builder.cpp
M	source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
M	source/blender/simulations/bparticles/inserters.cpp
M	source/blender/simulations/bparticles/node_frontend.cpp

===================================================================

diff --git a/source/blender/blenkernel/BKE_node_tree.hpp b/source/blender/blenkernel/BKE_node_tree.hpp
index ad81bd5fb2c..b96836e8010 100644
--- a/source/blender/blenkernel/BKE_node_tree.hpp
+++ b/source/blender/blenkernel/BKE_node_tree.hpp
@@ -21,6 +21,7 @@ using BLI::SmallMap;
 using BLI::SmallMultiMap;
 using BLI::SmallVector;
 using BLI::StringRef;
+using BLI::StringRefNull;
 
 using bNodeList = ListBaseWrapper<struct bNode *, true>;
 using bLinkList = ListBaseWrapper<struct bNodeLink *, true>;
@@ -227,6 +228,11 @@ class VirtualNode {
     RNA_pointer_create(&m_btree->id, &RNA_Node, m_bnode, &rna);
     return rna;
   }
+
+  StringRefNull name()
+  {
+    return m_bnode->name;
+  }
 };
 
 class VirtualSocket {
diff --git a/source/blender/functions/frontends/data_flow_nodes/builder.cpp b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
index 07cd971418e..efc0e2c4712 100644
--- a/source/blender/functions/frontends/data_flow_nodes/builder.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/builder.cpp
@@ -173,7 +173,7 @@ bool BTreeGraphBuilder::check_if_sockets_are_mapped(VirtualNode *vnode,
       if (!m_socket_map.contains(&vsocket)) {
         std::cout << "Data DFGB_Socket not mapped: " << std::endl;
         std::cout << "    Tree: " << vnode->btree_id()->name << std::endl;
-        std::cout << "    DFGB_Node: " << vnode->bnode()->name << std::endl;
+        std::cout << "    DFGB_Node: " << vnode->name() << std::endl;
         if (vsocket.is_input()) {
           std::cout << "    Input";
         }
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 ea1b92e7e1d..42bfa5e72eb 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
@@ -26,7 +26,7 @@ static void insert_placeholder_node(BTreeGraphBuilder &builder, VirtualNode *vno
     }
   }
 
-  auto fn = fn_builder.build(vnode->bnode()->name);
+  auto fn = fn_builder.build(vnode->name());
   DFGB_Node *node = builder.insert_function(fn);
   builder.map_data_sockets(node, vnode);
 }
diff --git a/source/blender/simulations/bparticles/inserters.cpp b/source/blender/simulations/bparticles/inserters.cpp
index f425ac8ffde..64d4dc67a4f 100644
--- a/source/blender/simulations/bparticles/inserters.cpp
+++ b/source/blender/simulations/bparticles/inserters.cpp
@@ -101,7 +101,7 @@ static SharedFunction create_function_for_data_inputs(VirtualNode *vnode,
       bsockets_to_compute.append(&vsocket);
     }
   }
-  return create_function(data_graph, bsockets_to_compute, vnode->bnode()->name);
+  return create_function(data_graph, bsockets_to_compute, vnode->name());
 }
 
 static std::unique_ptr<Action> build_action(BuildContext &ctx, VirtualSocket *start);
@@ -209,15 +209,14 @@ static std::unique_ptr<Event> BUILD_EVENT_mesh_collision(BuildContext &ctx, Virt
   }
 
   auto action = build_action(ctx, vnode->output(0));
-  return std::unique_ptr<Event>(
-      new MeshCollisionEvent(vnode->bnode()->name, object, std::move(action)));
+  return std::unique_ptr<Event>(new MeshCollisionEvent(vnode->name(), object, std::move(action)));
 }
 
 static std::unique_ptr<Event> BUILD_EVENT_age_reached(BuildContext &ctx, VirtualNode *vnode)
 {
   SharedFunction fn = create_function_for_data_inputs(vnode, ctx.data_graph);
   auto action = build_action(ctx, vnode->output(0));
-  return std::unique_ptr<Event>(new AgeReachedEvent(vnode->bnode()->name, fn, std::move(action)));
+  return std::unique_ptr<Event>(new AgeReachedEvent(vnode->name(), fn, std::move(action)));
 }
 
 static std::unique_ptr<Event> BUILD_EVENT_close_by_points(BuildContext &ctx, VirtualNode *vnode)
@@ -239,7 +238,7 @@ static std::unique_ptr<Event> BUILD_EVENT_close_by_points(BuildContext &ctx, Vir
   BLI_kdtree_3d_balance(kdtree);
 
   return std::unique_ptr<Event>(
-      new CloseByPointsEvent(vnode->bnode()->name, kdtree, distance, std::move(action)));
+      new CloseByPointsEvent(vnode->name(), kdtree, distance, std::move(action)));
 }
 
 static std::unique_ptr<Emitter> BUILD_EMITTER_mesh_surface(BuildContext &ctx,
@@ -259,7 +258,7 @@ static std::unique_ptr<Emitter> BUILD_EMITTER_mesh_surface(BuildContext &ctx,
   if (object == nullptr) {
     return {};
   }
-  InterpolatedFloat4x4 transform = ctx.world_state.get_interpolated_value(vnode->bnode()->name,
+  InterpolatedFloat4x4 transform = ctx.world_state.get_interpolated_value(vnode->name(),
                                                                           object->obmat);
 
   return std::unique_ptr<SurfaceEmitter>(
@@ -284,7 +283,7 @@ static std::unique_ptr<Emitter> BUILD_EMITTER_moving_point(BuildContext &ctx,
   FN_TUPLE_CALL_ALLOC_TUPLES(body, fn_in, fn_out);
   body->call__setup_execution_context(fn_in, fn_out);
 
-  StringRef bnode_name = vnode->bnode()->name;
+  StringRef bnode_name = vnode->name();
 
   auto point = ctx.world_state.get_interpolated_value(
       bnode_name + StringRef("Position"), body->get_output<float3>(fn_out, 0, "Position"));
diff --git a/source/blender/simulations/bparticles/node_frontend.cpp b/source/blender/simulations/bparticles/node_frontend.cpp
index e291afdcae3..db2cec21416 100644
--- a/source/blender/simulations/bparticles/node_frontend.cpp
+++ b/source/blender/simulations/bparticles/node_frontend.cpp
@@ -44,7 +44,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
   StepDescriptionBuilder step_builder;
 
   for (VirtualNode *particle_type_node : get_type_nodes(vtree)) {
-    auto &type_builder = step_builder.add_type(particle_type_node->bnode()->name);
+    auto &type_builder = step_builder.add_type(particle_type_node->name());
     auto &attributes = type_builder.attributes();
     attributes.add_float3("Position", {0, 0, 0});
     attributes.add_float3("Velocity", {0, 0, 0});
@@ -63,7 +63,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
         if (is_particle_type_node(linked->vnode())) {
           auto force = item.value(ctx, vnode);
           if (force) {
-            forces.add(linked->vnode()->bnode()->name, force.release());
+            forces.add(linked->vnode()->name().to_std_string(), force.release());
           }
         }
       }
@@ -76,8 +76,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
         if (is_particle_type_node(linked->vnode())) {
           auto listener = item.value(ctx, vnode);
           if (listener) {
-            step_builder.get_type(linked->vnode()->bnode()->name)
-                .add_offset_handler(std::move(listener));
+            step_builder.get_type(linked->vnode()->name()).add_offset_handler(std::move(listener));
           }
         }
       }
@@ -90,7 +89,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
         if (is_particle_type_node(linked->vnode())) {
           auto event = item.value(ctx, vnode);
           if (event) {
-            step_builder.get_type(linked->vnode()->bnode()->name).add_event(std::move(event));
+            step_builder.get_type(linked->vnode()->name()).add_event(std::move(event));
           }
         }
       }
@@ -102,7 +101,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
       VirtualSocket *emitter_output = find_emitter_output(vnode);
       for (VirtualSocket *linked : emitter_output->links()) {
         if (is_particle_type_node(linked->vnode())) {
-          auto emitter = item.value(ctx, vnode, linked->vnode()->bnode()->name);
+          auto emitter = item.value(ctx, vnode, linked->vnode()->name());
           if (emitter) {
             step_builder.add_emitter(std::move(emitter));
           }
@@ -112,7 +111,7 @@ std::unique_ptr<StepDescription> step_description_from_node_tree(VirtualNodeTree
   }
 
   for (VirtualNode *vnode : get_type_nodes(vtree)) {
-    std::string name = vnode->bnode()->name;
+    std::string name = vnode->name().to_std_string();
     ParticleTypeBuilder &type_builder = step_builder.get_type(name);
     ArrayRef<Force *> forces_on_type = forces.lookup_default(name);
     if (forces_on_type.size() == 0) {



More information about the Bf-blender-cvs mailing list