[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